diff --git a/_images/03-models_11_0.png b/_images/03-models_11_0.png
deleted file mode 100644
index b8c88a1..0000000
Binary files a/_images/03-models_11_0.png and /dev/null differ
diff --git a/_images/03-models_13_0.png b/_images/03-models_13_0.png
deleted file mode 100644
index 75bd9fb..0000000
Binary files a/_images/03-models_13_0.png and /dev/null differ
diff --git a/_images/03-models_25_0.png b/_images/03-models_25_0.png
deleted file mode 100644
index d33dded..0000000
Binary files a/_images/03-models_25_0.png and /dev/null differ
diff --git a/_images/03-models_27_0.png b/_images/03-models_27_0.png
deleted file mode 100644
index 68a675d..0000000
Binary files a/_images/03-models_27_0.png and /dev/null differ
diff --git a/_images/registration_24_0.svg b/_images/registration_24_0.svg
deleted file mode 100644
index 3c7d5c8..0000000
--- a/_images/registration_24_0.svg
+++ /dev/null
@@ -1,1809 +0,0 @@
-
\ No newline at end of file
diff --git a/_sources/extra/nifti.ipynb b/_sources/extra/nifti.ipynb
index 73f35f0..4281f90 100644
--- a/_sources/extra/nifti.ipynb
+++ b/_sources/extra/nifti.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "markdown",
- "id": "6ab62c4c",
+ "id": "a81c2794",
"metadata": {},
"source": [
"# The extra mile\n",
@@ -16,7 +16,7 @@
{
"cell_type": "code",
"execution_count": 1,
- "id": "9005e4b9",
+ "id": "a1b7a08e",
"metadata": {},
"outputs": [],
"source": [
@@ -25,7 +25,7 @@
},
{
"cell_type": "markdown",
- "id": "9933fe21",
+ "id": "7e077e7b",
"metadata": {},
"source": [
"First, use the `load()` function to create a NiBabel image object from a NIfTI file.\n",
@@ -35,7 +35,7 @@
{
"cell_type": "code",
"execution_count": 2,
- "id": "657f7d4d",
+ "id": "dc7b8062",
"metadata": {},
"outputs": [],
"source": [
@@ -46,7 +46,7 @@
},
{
"cell_type": "markdown",
- "id": "38548c29",
+ "id": "0183127c",
"metadata": {},
"source": [
"Loading in a NIfTI file with `NiBabel` gives us a special type of data object which encodes all the information in the file.\n",
@@ -60,7 +60,7 @@
{
"cell_type": "code",
"execution_count": 3,
- "id": "d9a1e3b3",
+ "id": "8a09bb27",
"metadata": {},
"outputs": [
{
@@ -121,7 +121,7 @@
},
{
"cell_type": "markdown",
- "id": "7ebf34d6",
+ "id": "2579083a",
"metadata": {},
"source": [
"### 2. Data\n",
@@ -134,7 +134,7 @@
{
"cell_type": "code",
"execution_count": 4,
- "id": "8e6a1e53",
+ "id": "25e64938",
"metadata": {
"tags": [
"output_scroll"
@@ -465,7 +465,7 @@
},
{
"cell_type": "markdown",
- "id": "8c98779d",
+ "id": "460b7b2f",
"metadata": {},
"source": [
"What type of data is this exactly? We can determine this by calling the `type()` function on `dwi_data`."
@@ -474,7 +474,7 @@
{
"cell_type": "code",
"execution_count": 5,
- "id": "f2d3b453",
+ "id": "4e7d2b57",
"metadata": {},
"outputs": [
{
@@ -494,7 +494,7 @@
},
{
"cell_type": "markdown",
- "id": "786fc1d0",
+ "id": "1cc74f1f",
"metadata": {},
"source": [
"The data is a multidimensional **array** representing the image data.\n",
@@ -505,7 +505,7 @@
{
"cell_type": "code",
"execution_count": 6,
- "id": "0417ff66",
+ "id": "af8e1e48",
"metadata": {},
"outputs": [
{
@@ -525,7 +525,7 @@
},
{
"cell_type": "markdown",
- "id": "3b5ea1ef",
+ "id": "7337aec9",
"metadata": {},
"source": [
"As expected, the data contains 4 dimensions (*i, j, k* and gradient number).\n",
@@ -536,7 +536,7 @@
{
"cell_type": "code",
"execution_count": 7,
- "id": "34619214",
+ "id": "77b9f659",
"metadata": {},
"outputs": [
{
@@ -556,7 +556,7 @@
},
{
"cell_type": "markdown",
- "id": "de54cb89",
+ "id": "56d0b719",
"metadata": {},
"source": [
"This tells us that the image is 128, 128, 66\n",
@@ -567,7 +567,7 @@
{
"cell_type": "code",
"execution_count": 8,
- "id": "9feb8432",
+ "id": "21bff7f0",
"metadata": {
"tags": [
"output_scroll"
@@ -737,7 +737,7 @@
},
{
"cell_type": "markdown",
- "id": "85a9480b",
+ "id": "b9687a37",
"metadata": {},
"source": [
"### 3. [Affine](https://nipy.org/nibabel/coordinate_systems.html): tells the position of the image array data in a reference space\n",
@@ -749,7 +749,7 @@
{
"cell_type": "code",
"execution_count": 9,
- "id": "3d086420",
+ "id": "f6e0601c",
"metadata": {},
"outputs": [
{
@@ -773,7 +773,7 @@
},
{
"cell_type": "markdown",
- "id": "b618508d",
+ "id": "9cbde29f",
"metadata": {},
"source": [
"To explain this concept, recall that we referred to coordinates in our data as *voxel coordinates (i,j,k)* coordinates such that:\n",
diff --git a/_sources/tutorial/data.ipynb b/_sources/tutorial/data.ipynb
index 97e9756..b118db5 100644
--- a/_sources/tutorial/data.ipynb
+++ b/_sources/tutorial/data.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "markdown",
- "id": "9944c091",
+ "id": "9be5b928",
"metadata": {},
"source": [
"# Introduction to dMRI data"
@@ -11,7 +11,7 @@
{
"cell_type": "code",
"execution_count": 1,
- "id": "ae4a0b18",
+ "id": "4d10654a",
"metadata": {
"tags": [
"remove-cell"
@@ -28,7 +28,7 @@
},
{
"cell_type": "markdown",
- "id": "0c921cfb",
+ "id": "392aebe8",
"metadata": {},
"source": [
"Diffusion imaging probes the random, microscopic movement of water molecules by using MRI sequences that are sensitive to the geometry and environmental organization surrounding these protons.\n",
@@ -40,7 +40,7 @@
{
"cell_type": "code",
"execution_count": 2,
- "id": "ed1c5826",
+ "id": "6f6eb389",
"metadata": {
"tags": [
"remove-input"
@@ -67,7 +67,7 @@
},
{
"cell_type": "markdown",
- "id": "51e49ef8",
+ "id": "8df7db38",
"metadata": {},
"source": [
"*Sourced from Dr. A. Rokem, DIPY Workshop 2021*\n",
@@ -100,7 +100,7 @@
{
"cell_type": "code",
"execution_count": 3,
- "id": "ed7bbf7d",
+ "id": "7f687d6b",
"metadata": {},
"outputs": [],
"source": [
@@ -138,7 +138,7 @@
},
{
"cell_type": "markdown",
- "id": "a8117050",
+ "id": "7d68d740",
"metadata": {},
"source": [
"This code implements several *attributes* as well as a *behavior* - the `__len__` *method*.\n",
@@ -150,7 +150,7 @@
{
"cell_type": "code",
"execution_count": 4,
- "id": "15610b54",
+ "id": "573bc14a",
"metadata": {},
"outputs": [
{
@@ -174,7 +174,7 @@
},
{
"cell_type": "markdown",
- "id": "4b97a436",
+ "id": "847da9c6",
"metadata": {},
"source": [
"The output of this `print()` statement is telling us that this (simulated) dataset has 64 diffusion-weighted samples.\n",
@@ -191,7 +191,7 @@
{
"cell_type": "code",
"execution_count": 5,
- "id": "c05a397f",
+ "id": "7187b4a9",
"metadata": {},
"outputs": [
{
@@ -213,7 +213,7 @@
},
{
"cell_type": "markdown",
- "id": "aa8d6a85",
+ "id": "431cd2f4",
"metadata": {},
"source": [
"In this case, the dataset is reporting to have 102 diffusion-weighted samples.\n",
@@ -225,7 +225,7 @@
{
"cell_type": "code",
"execution_count": 6,
- "id": "49cf4f74",
+ "id": "2ede3760",
"metadata": {},
"outputs": [
{
@@ -245,7 +245,7 @@
},
{
"cell_type": "markdown",
- "id": "bf1f6d21",
+ "id": "1ce1a334",
"metadata": {},
"source": [
"We'll go over some of the components of `dmri_dataset` through this lesson.\n",
@@ -268,7 +268,7 @@
{
"cell_type": "code",
"execution_count": 7,
- "id": "e73a72ed",
+ "id": "f58daf80",
"metadata": {
"tags": [
"hide-cell"
@@ -296,7 +296,7 @@
},
{
"cell_type": "markdown",
- "id": "3e2521d7",
+ "id": "48f2d3d1",
"metadata": {},
"source": [
"When calling `plot_mosaic()` without any arguments, the *b=0* reference is plotted.\n",
@@ -315,7 +315,7 @@
{
"cell_type": "code",
"execution_count": 8,
- "id": "ee6f1542",
+ "id": "9c798c6d",
"metadata": {
"tags": [
"hide-cell"
@@ -344,7 +344,7 @@
{
"cell_type": "code",
"execution_count": 9,
- "id": "51cddc6c",
+ "id": "8f1cd690",
"metadata": {
"tags": [
"hide-cell"
@@ -372,7 +372,7 @@
},
{
"cell_type": "markdown",
- "id": "f1465849",
+ "id": "df40c12a",
"metadata": {},
"source": [
"Diffusion that exhibits directionality in the same direction as the gradient results in a loss of signal.\n",
@@ -396,7 +396,7 @@
{
"cell_type": "code",
"execution_count": 10,
- "id": "22bd9d2b",
+ "id": "7a05d344",
"metadata": {
"tags": [
"hide-cell"
@@ -420,7 +420,7 @@
},
{
"cell_type": "markdown",
- "id": "2eea7ec2",
+ "id": "ab5e7311",
"metadata": {},
"source": [
"We get a $4\\times102$ -- three spatial coordinates ($b_x$, $b_y$, $b_z$) of the unit-norm \"*b-vector*\", plus the gradient sensitization magnitude (the \"*b-value*\"), with a total of 102 different orientations for the case at hand.\n",
@@ -436,7 +436,7 @@
{
"cell_type": "code",
"execution_count": 11,
- "id": "012b8d52",
+ "id": "92ecfe0d",
"metadata": {
"tags": [
"hide-cell"
@@ -558,7 +558,7 @@
},
{
"cell_type": "markdown",
- "id": "dfa39e9a",
+ "id": "94c2a888",
"metadata": {},
"source": [
"Later, we'll refer to this array as the gradient table.\n",
@@ -577,7 +577,7 @@
{
"cell_type": "code",
"execution_count": 12,
- "id": "388abe1f",
+ "id": "7ed6ef85",
"metadata": {},
"outputs": [
{
@@ -602,7 +602,7 @@
},
{
"cell_type": "markdown",
- "id": "313e5b89",
+ "id": "a4a64c71",
"metadata": {},
"source": [
"We've projected all of the gradient directions onto the surface of a sphere, with each unique gradient strength colour-coded.\n",
@@ -619,7 +619,7 @@
{
"cell_type": "code",
"execution_count": 13,
- "id": "d689e8b1",
+ "id": "7b4cd7fb",
"metadata": {},
"outputs": [],
"source": [
@@ -674,7 +674,7 @@
},
{
"cell_type": "markdown",
- "id": "049c5be3",
+ "id": "6608b576",
"metadata": {},
"source": [
"This function is contained in the `DWI` class shown earlier and will allow us to easily partition the dataset as follows:"
@@ -683,7 +683,7 @@
{
"cell_type": "code",
"execution_count": 14,
- "id": "5f0ea7a0",
+ "id": "840558c8",
"metadata": {},
"outputs": [
{
@@ -710,7 +710,7 @@
},
{
"cell_type": "markdown",
- "id": "be5b5ac7",
+ "id": "5e08df08",
"metadata": {},
"source": [
"`data_train` is a tuple containing all diffusion-weighted volumes and the corresponding gradient table, excluding the left-out, which is stored in `data_test` (the 11th gradient indexed by `10`, in this example).\n",
@@ -726,7 +726,7 @@
{
"cell_type": "code",
"execution_count": 15,
- "id": "369ed043",
+ "id": "8b50d36d",
"metadata": {
"tags": [
"hide-cell"
@@ -749,7 +749,7 @@
},
{
"cell_type": "markdown",
- "id": "98ae381b",
+ "id": "05e2e95e",
"metadata": {},
"source": [
"```{admonition} Exercise\n",
@@ -762,7 +762,7 @@
{
"cell_type": "code",
"execution_count": 16,
- "id": "a12b3457",
+ "id": "f9a53aad",
"metadata": {
"tags": [
"hide-cell"
@@ -785,7 +785,7 @@
},
{
"cell_type": "markdown",
- "id": "e0f370a9",
+ "id": "a3a5670a",
"metadata": {},
"source": [
"## Next steps: diffusion modeling\n",
diff --git a/_sources/tutorial/intro.ipynb b/_sources/tutorial/intro.ipynb
index 4c9c38a..9cb8cf5 100644
--- a/_sources/tutorial/intro.ipynb
+++ b/_sources/tutorial/intro.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "markdown",
- "id": "d04b5ea5",
+ "id": "f3d4a56e",
"metadata": {},
"source": [
"# The problem of head-motion in dMRI"
@@ -11,7 +11,7 @@
{
"cell_type": "code",
"execution_count": 1,
- "id": "20bf846f",
+ "id": "5af3d1ae",
"metadata": {
"tags": [
"remove-cell"
@@ -28,7 +28,7 @@
},
{
"cell_type": "markdown",
- "id": "40e2048d",
+ "id": "70ed0890",
"metadata": {},
"source": [
"A recurring problem for any MRI acquisition is that image reconstruction and modeling are extremely sensitive to very small changes in the position of the imaged object.\n",
@@ -41,7 +41,7 @@
{
"cell_type": "code",
"execution_count": 2,
- "id": "62849c7d",
+ "id": "6b3bec7e",
"metadata": {
"tags": [
"remove-input"
@@ -68,7 +68,7 @@
},
{
"cell_type": "markdown",
- "id": "a0dd6f4c",
+ "id": "9c52b7e6",
"metadata": {},
"source": [
"## Dimensions of the head-motion problem\n",
diff --git a/_sources/tutorial/models.ipynb b/_sources/tutorial/models.ipynb
index 1faa78b..4686c6f 100644
--- a/_sources/tutorial/models.ipynb
+++ b/_sources/tutorial/models.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "markdown",
- "id": "33a39b1d",
+ "id": "35cf9785",
"metadata": {},
"source": [
"# Diffusion modeling"
@@ -11,7 +11,7 @@
{
"cell_type": "code",
"execution_count": 1,
- "id": "5d8187ce",
+ "id": "b86e77e3",
"metadata": {
"tags": [
"remove-cell"
@@ -26,7 +26,7 @@
},
{
"cell_type": "markdown",
- "id": "04fa801e",
+ "id": "b09fa0d1",
"metadata": {},
"source": [
"The proposed method requires inferring a motion-less, reference DW map for a given diffusion orientation for which we want to estimate the misalignment.\n",
@@ -49,7 +49,7 @@
{
"cell_type": "code",
"execution_count": 2,
- "id": "c0594750",
+ "id": "04a03a0c",
"metadata": {},
"outputs": [],
"source": [
@@ -60,7 +60,7 @@
},
{
"cell_type": "markdown",
- "id": "248fe532",
+ "id": "90449cf4",
"metadata": {},
"source": [
"## Implementing a trivial model\n",
@@ -78,7 +78,7 @@
{
"cell_type": "code",
"execution_count": 3,
- "id": "a1287791",
+ "id": "d8dbea71",
"metadata": {},
"outputs": [],
"source": [
@@ -112,7 +112,7 @@
},
{
"cell_type": "markdown",
- "id": "5edcb1a6",
+ "id": "6229504c",
"metadata": {},
"source": [
"The model can easily be initialized as follows (assuming we still have our dataset loaded):"
@@ -121,7 +121,7 @@
{
"cell_type": "code",
"execution_count": 4,
- "id": "5845f303",
+ "id": "ccea757a",
"metadata": {},
"outputs": [],
"source": [
@@ -133,7 +133,7 @@
},
{
"cell_type": "markdown",
- "id": "e0b5d674",
+ "id": "132ac076",
"metadata": {},
"source": [
"Then, at each iteration of our estimation strategy, we will fit this model to the data, after holding one particular direction (`data_test`) out, using the `logo_split` method of the dataset. In every iteration, this finds the b=0 volumes in the data and averages their values in every voxel:"
@@ -142,7 +142,7 @@
{
"cell_type": "code",
"execution_count": 5,
- "id": "3abffb82",
+ "id": "edcf4a3c",
"metadata": {},
"outputs": [],
"source": [
@@ -152,7 +152,7 @@
},
{
"cell_type": "markdown",
- "id": "b31127c7",
+ "id": "384108ac",
"metadata": {},
"source": [
"Finally, we can generate our registration reference with the `predict()` method:"
@@ -161,7 +161,7 @@
{
"cell_type": "code",
"execution_count": 6,
- "id": "e80d1b7d",
+ "id": "67dcc872",
"metadata": {},
"outputs": [
{
@@ -186,7 +186,7 @@
},
{
"cell_type": "markdown",
- "id": "c2b85db5",
+ "id": "d2fbf1e2",
"metadata": {},
"source": [
"As expected, the *b=0* doesn't look very much like the particular left-out direction, but it is a start!"
@@ -195,7 +195,7 @@
{
"cell_type": "code",
"execution_count": 7,
- "id": "aa1b3728",
+ "id": "5cb43020",
"metadata": {},
"outputs": [
{
@@ -219,7 +219,7 @@
},
{
"cell_type": "markdown",
- "id": "80d3de4d",
+ "id": "eb7b2cfc",
"metadata": {},
"source": [
"## Implementing a *regression to the mean* model\n",
@@ -232,7 +232,7 @@
{
"cell_type": "code",
"execution_count": 8,
- "id": "fa89124a",
+ "id": "60f6a019",
"metadata": {},
"outputs": [],
"source": [
@@ -256,7 +256,7 @@
},
{
"cell_type": "markdown",
- "id": "c79dab8b",
+ "id": "753d898b",
"metadata": {},
"source": [
"**Solution**"
@@ -265,7 +265,7 @@
{
"cell_type": "code",
"execution_count": 9,
- "id": "a804b67a",
+ "id": "1fa5a7ca",
"metadata": {
"tags": [
"hide-cell"
@@ -293,7 +293,7 @@
},
{
"cell_type": "markdown",
- "id": "c1705b47",
+ "id": "7df36167",
"metadata": {},
"source": [
"```{admonition} Exercise\n",
@@ -306,7 +306,7 @@
{
"cell_type": "code",
"execution_count": 10,
- "id": "41164b25",
+ "id": "1cc65d0e",
"metadata": {
"tags": [
"hide-cell"
@@ -354,7 +354,7 @@
},
{
"cell_type": "markdown",
- "id": "906111bb",
+ "id": "3cfbf2de",
"metadata": {},
"source": [
"## Investigating the tensor model\n",
@@ -366,7 +366,7 @@
{
"cell_type": "code",
"execution_count": 11,
- "id": "b8e73e75",
+ "id": "a5b7de73",
"metadata": {
"tags": [
"remove-cell"
@@ -394,7 +394,7 @@
},
{
"cell_type": "markdown",
- "id": "c0ee2105",
+ "id": "aa65ad09",
"metadata": {},
"source": [
"### The model factory\n",
@@ -406,7 +406,7 @@
{
"cell_type": "code",
"execution_count": 12,
- "id": "06b5d778",
+ "id": "747f8380",
"metadata": {},
"outputs": [],
"source": [
@@ -423,7 +423,7 @@
},
{
"cell_type": "markdown",
- "id": "270d702a",
+ "id": "47f957d4",
"metadata": {},
"source": [
"### Leveraging the `fit()` / `predict()` API\n",
@@ -434,7 +434,7 @@
{
"cell_type": "code",
"execution_count": 13,
- "id": "a04a798f",
+ "id": "b6cf7b5a",
"metadata": {},
"outputs": [],
"source": [
@@ -444,7 +444,7 @@
},
{
"cell_type": "markdown",
- "id": "1ddb1d07",
+ "id": "8ca5e38a",
"metadata": {},
"source": [
"Now, the predicted map for the particular ***b*** gradient looks much closer to the original:"
@@ -453,7 +453,7 @@
{
"cell_type": "code",
"execution_count": 14,
- "id": "b4f621e8",
+ "id": "c4df1b23",
"metadata": {},
"outputs": [
{
@@ -477,7 +477,7 @@
},
{
"cell_type": "markdown",
- "id": "5706713a",
+ "id": "1ed76b0f",
"metadata": {},
"source": [
"Here's the original DW map, for reference:"
@@ -486,7 +486,7 @@
{
"cell_type": "code",
"execution_count": 15,
- "id": "f314d17d",
+ "id": "01d049e2",
"metadata": {},
"outputs": [
{
@@ -510,7 +510,7 @@
},
{
"cell_type": "markdown",
- "id": "26091cfd",
+ "id": "93a0c59d",
"metadata": {},
"source": [
"```{admonition} Exercise\n",
@@ -523,7 +523,7 @@
{
"cell_type": "code",
"execution_count": 16,
- "id": "ad27046e",
+ "id": "3f9dd5c7",
"metadata": {
"tags": [
"hide-cell"
@@ -540,7 +540,7 @@
},
{
"cell_type": "markdown",
- "id": "37d27369",
+ "id": "62273023",
"metadata": {},
"source": [
"Once the model has been initialized, we can easily generate a new prediction."
@@ -549,7 +549,7 @@
{
"cell_type": "code",
"execution_count": 17,
- "id": "e77cb16b",
+ "id": "04abea25",
"metadata": {},
"outputs": [
{
@@ -590,7 +590,7 @@
},
{
"cell_type": "markdown",
- "id": "1a4a32f7",
+ "id": "a00ed146",
"metadata": {},
"source": [
"## Next steps: image registration\n",
diff --git a/_sources/tutorial/registration.ipynb b/_sources/tutorial/registration.ipynb
index ecc0dbd..f389ea1 100644
--- a/_sources/tutorial/registration.ipynb
+++ b/_sources/tutorial/registration.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "markdown",
- "id": "807dc6a8",
+ "id": "825417bd",
"metadata": {},
"source": [
"# Image registration (spatial alignment)"
@@ -11,7 +11,7 @@
{
"cell_type": "code",
"execution_count": 1,
- "id": "e59efd44",
+ "id": "af12e340",
"metadata": {
"tags": [
"remove-cell"
@@ -59,7 +59,7 @@
},
{
"cell_type": "markdown",
- "id": "c6ab0531",
+ "id": "18dd4f85",
"metadata": {},
"source": [
"At this point of the tutorial we have covered two of the three initial requirements:\n",
@@ -152,7 +152,7 @@
{
"cell_type": "code",
"execution_count": 2,
- "id": "69d071c7",
+ "id": "ac920c9f",
"metadata": {},
"outputs": [],
"source": [
@@ -171,7 +171,7 @@
},
{
"cell_type": "markdown",
- "id": "d6af10c1",
+ "id": "2569eb23",
"metadata": {},
"source": [
"Since we are using the command-line interface of ANTs, the software must be installed in the computer and the input data is provided via files in the filesystem.\n",
@@ -181,7 +181,7 @@
{
"cell_type": "code",
"execution_count": 3,
- "id": "b510f074",
+ "id": "35cc633e",
"metadata": {},
"outputs": [],
"source": [
@@ -201,7 +201,7 @@
},
{
"cell_type": "markdown",
- "id": "38c845ac",
+ "id": "c8ea3083",
"metadata": {},
"source": [
"We can now visualize our reference (the prediction) and the actual DW map.\n",
@@ -211,7 +211,7 @@
{
"cell_type": "code",
"execution_count": 4,
- "id": "2eb01fa3",
+ "id": "a7924462",
"metadata": {
"tags": [
"remove-output"
@@ -224,8 +224,8 @@
"