updates notebook, changes reference to deleted remote resources

This commit is contained in:
2026-01-27 15:43:01 +01:00
parent 8e8c7a4f2b
commit 756a359bf1

View File

@@ -147,15 +147,15 @@
"source": [ "source": [
"### Fetch any experiment related to a certain sample\n", "### Fetch any experiment related to a certain sample\n",
"Another easy task is fetching every experiment entry related to a given sample. \\\n", "Another easy task is fetching every experiment entry related to a given sample. \\\n",
"Let's start with the sample of elabid equal to *1077* - which at the time I'm writing this is named \"Na-26-001 LMNO LAO\". The related experiments are Experiment 48 (layer 1) and Experiment 49 (layer 2). From these experiments we will only fetch *deposition time* and *repetition rate* to keep the present notebook clean.\n", "Let's start with the sample of elabid equal to *1108* - which at the time I'm writing this is named \"Na-26-005\". The related experiments are Experiment 48 (layer 1) and Experiment 49 (layer 2). From these experiments we will only fetch *deposition time* and *repetition rate* to keep the present notebook clean.\n",
"\n", "\n",
"#### How linked experiments are managed by eLabFTW\n", "#### How linked experiments are managed by eLabFTW\n",
"Linked experiments are similar to linked items: you can reference an eLabFTW experiment into a resource, but when you download the data of the latter from the API endpoint you only get the elabid and **very few additional data** - like the experiment's title - of the former. In this situation the experiments linked to a sample contain information about its layers, which is at least level-1 nested since it requires at least an additional HTTP request." "Linked experiments are similar to linked items: you can reference an eLabFTW experiment into a resource, but when you download the data of the latter from the API endpoint you only get the elabid and **very few additional data** - like the experiment's category - of the former. In this situation the experiments linked to a sample contain information about its layers, which is at least level-1 nested since it requires at least an additional HTTP request."
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 18, "execution_count": 8,
"id": "504c6eec-967b-4886-8770-67b5df3ed5ef", "id": "504c6eec-967b-4886-8770-67b5df3ed5ef",
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
@@ -169,11 +169,19 @@
{ {
"data": { "data": {
"text/plain": [ "text/plain": [
"[{'deposition_time': '65', 'repetition_rate': '1'},\n", "[{'title': 'Na-26-005',\n",
" {'deposition_time': '56', 'repetition_rate': '1'}]" " 'layer_number': '1',\n",
" 'category': 'PLD Deposition',\n",
" 'deposition_time': '100',\n",
" 'repetition_rate': '1'},\n",
" {'title': 'Na-26-005 I',\n",
" 'layer_number': '2',\n",
" 'category': 'PLD Deposition',\n",
" 'deposition_time': '30',\n",
" 'repetition_rate': '1'}]"
] ]
}, },
"execution_count": 18, "execution_count": 8,
"metadata": {}, "metadata": {},
"output_type": "execute_result" "output_type": "execute_result"
} }
@@ -202,21 +210,37 @@
" ).json()\n", " ).json()\n",
" extra = experiment_data[\"metadata_decoded\"][\"extra_fields\"]\n", " extra = experiment_data[\"metadata_decoded\"][\"extra_fields\"]\n",
" result.append(\n", " result.append(\n",
" {\"deposition_time\": extra.get(\"Duration\").get(\"value\"),\n", " {\"title\": exp.get(\"title\"),\n",
" \"layer_number\": extra.get(\"Layer Progressive Number\").get(\"value\"),\n",
" \"category\": exp.get(\"category_title\"),\n",
" \"deposition_time\": extra.get(\"Duration\").get(\"value\"),\n",
" \"repetition_rate\": extra.get(\"Repetition rate\").get(\"value\")}\n", " \"repetition_rate\": extra.get(\"Repetition rate\").get(\"value\")}\n",
" )\n", " )\n",
" return result\n", " return result\n",
"\n", "\n",
"apikey = getpass(\"Paste API key here: \")\n", "apikey = getpass(\"Paste API key here: \")\n",
"get_sample_layers_data(1077)" "get_sample_layers_data(1108)"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "markdown",
"execution_count": null,
"id": "046f7383-5830-462b-9ac0-2026e46c5697", "id": "046f7383-5830-462b-9ac0-2026e46c5697",
"metadata": {}, "metadata": {},
"outputs": [], "source": [
"The variables in the previous code can be best summarized as follows.\n",
"\n",
"* `related_experiments` (dict) only contains all of the linked experiments' elabid's, categories and titles.\n",
"* `experiment_data` (dict) contains ALL data related to one experiment at a time.\n",
"* `extra` (dict) is a sub-dictionary of `experiment_data` only containing the extra fields' values.\n",
"* The N-th item of `result` (list) contains cherrypicked data on the N-th layer.\n",
"\n",
"> ⚠️ The index of a layer in the `result` list does not necessarily equate the layer's progressive number."
]
},
{
"cell_type": "markdown",
"id": "2ca38bf4-ac33-481f-9ee2-99ec4db1686c",
"metadata": {},
"source": [] "source": []
} }
], ],
@@ -236,7 +260,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.12.3" "version": "3.12.12"
} }
}, },
"nbformat": 4, "nbformat": 4,