From 604867ccdd0d9c264a67f9b7fce6569249eba3ea Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Wed, 10 Jul 2024 17:53:01 +0200 Subject: [PATCH 1/6] fix: covariance function vs. empirical notebook MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jon Haitz Legarreta GorroƱo --- docs/notebooks/dmri_covariance.ipynb | 92 ++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/docs/notebooks/dmri_covariance.ipynb b/docs/notebooks/dmri_covariance.ipynb index 070929fc..6e7cafe7 100644 --- a/docs/notebooks/dmri_covariance.ipynb +++ b/docs/notebooks/dmri_covariance.ipynb @@ -8,11 +8,20 @@ "outputs": [], "source": [ "%matplotlib inline\n", + "\n", + "from pathlib import Path\n", "import numpy as np\n", + "import nibabel as nb\n", + "\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "\n", + "from eddymotion.model.dmri_utils import (\n", + " find_shelling_scheme,\n", + ")\n", + "\n", "from eddymotion.model.dipy import (\n", + " compute_pairwise_angles,\n", " compute_exponential_covariance,\n", " compute_spherical_covariance,\n", ")\n", @@ -76,6 +85,89 @@ "plt.xlabel(\"Angular distance\")\n", "plt.ylabel(\"Covariance (arbitrary scaling)\")\n", "\n", + "plt.legend(frameon=False);" + ] + }, + { + "cell_type": "markdown", + "id": "e358167b-21ad-4ee7-b85d-b26affb15f46", + "metadata": {}, + "source": [ + "## Extracting empirical covariances\n", + "\n", + "Plot empirical covariances of all voxels within the brain mask from one HCP subject." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "7d47dcc8-d7f5-4efe-8124-f8e23a2d2afd", + "metadata": {}, + "outputs": [], + "source": [ + "hcpdata = np.load(\"hcpdata.npz\")\n", + "\n", + "b3000_mask = (hcpdata[\"bvals\"] > 2500) & (hcpdata[\"bvals\"] < 3500)\n", + "b3000_vecs = hcpdata[\"bvecs\"][b3000_mask, ...]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f584843f-4769-478b-a017-29d40ae52d4c", + "metadata": {}, + "outputs": [], + "source": [ + "triu_indices = np.triu_indices(b3000_mask.sum())\n", + "\n", + "# Calculate pairwise empirical thetas and extract upper triangle\n", + "thetas_emp = compute_pairwise_angles(b3000_vecs, closest_polarity=True)[triu_indices]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f0c7abd6-fa9b-4cb7-99af-5ae2e32a047c", + "metadata": {}, + "outputs": [], + "source": [ + "# Standardize data, calculate covariance & extract upper triangle\n", + "b3000_data = hcpdata[\"b3000_data\"]\n", + "b3000_data -= b3000_data.mean()\n", + "b3000_data /= b3000_data.std()\n", + "b3000_cov = np.cov(b3000_data)[triu_indices] * 4 - 2.0" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "9806a6fa-35c2-480c-a0eb-2c22364b87e2", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(thetas_emp, b3000_cov, s=0.3, c=\"lightgrey\", label=\"Empirical\")\n", + "\n", + "# Plot the exponential and spherical model covariances\n", + "plt.plot(theta_lin, cov_exp * 2, \"gray\", label=\"Exponential\")\n", + "plt.plot(theta_lin, cov_sph * 2, \"k--\", label=\"Spherical\")\n", + "\n", + "plt.xticks([0.0, np.pi/8, np.pi/4, 3*np.pi/8, np.pi/2], [\"0\", \"$\\sfrac{\\pi}{8}$\", \"$\\sfrac{\\pi}{4}$\", \"$\\sfrac{3\\pi}{8}$\", \"$\\sfrac{\\pi}{2}$\"])\n", + "\n", + "plt.xlabel(\"Angular distance\")\n", + "plt.ylabel(\"Covariance (arbitrary scaling)\")\n", + "\n", + "plt.title(\"b=3000\")\n", "plt.legend(frameon=False);\n", "plt.savefig(\"covariance-plot.png\", dpi=300, transparent=False, bbox_inches='tight');" ] From 18891d7ad147c703d4b25bab9feb414794176336 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Thu, 11 Jul 2024 06:30:42 +0200 Subject: [PATCH 2/6] Apply suggestions from code review --- docs/notebooks/dmri_covariance.ipynb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/notebooks/dmri_covariance.ipynb b/docs/notebooks/dmri_covariance.ipynb index 6e7cafe7..1eefa737 100644 --- a/docs/notebooks/dmri_covariance.ipynb +++ b/docs/notebooks/dmri_covariance.ipynb @@ -135,7 +135,10 @@ "b3000_data = hcpdata[\"b3000_data\"]\n", "b3000_data -= b3000_data.mean()\n", "b3000_data /= b3000_data.std()\n", - "b3000_cov = np.cov(b3000_data)[triu_indices] * 4 - 2.0" + "# Calculate the covariance matrix and pick upper triangle.\n", + "b3000_cov = np.cov(b3000_data)[triu_indices]\n", + "# Introduce adjustment factors to make it more similar to Andersson2015's fig. 3.\n", + "b3000_cov = b3000_cov * 4.0 - 2.0" ] }, { @@ -159,6 +162,7 @@ "plt.scatter(thetas_emp, b3000_cov, s=0.3, c=\"lightgrey\", label=\"Empirical\")\n", "\n", "# Plot the exponential and spherical model covariances\n", + "# Scale by a factor of 2 so that it matches Andersson2015's fig. 3.\n", "plt.plot(theta_lin, cov_exp * 2, \"gray\", label=\"Exponential\")\n", "plt.plot(theta_lin, cov_sph * 2, \"k--\", label=\"Spherical\")\n", "\n", From 3b70ce8eee3f20ef0dcde3d81e595f216388c817 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Thu, 11 Jul 2024 06:31:59 +0200 Subject: [PATCH 3/6] Update docs/notebooks/dmri_covariance.ipynb --- docs/notebooks/dmri_covariance.ipynb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/notebooks/dmri_covariance.ipynb b/docs/notebooks/dmri_covariance.ipynb index 1eefa737..61614b7a 100644 --- a/docs/notebooks/dmri_covariance.ipynb +++ b/docs/notebooks/dmri_covariance.ipynb @@ -139,6 +139,9 @@ "b3000_cov = np.cov(b3000_data)[triu_indices]\n", "# Introduce adjustment factors to make it more similar to Andersson2015's fig. 3.\n", "b3000_cov = b3000_cov * 4.0 - 2.0" + "b3000_cov = np.cov(b3000_data)[triu_indices]\n", + "# Introduce adjustment factors to make it more similar to Andersson2015's fig. 3.\n", + "b3000_cov = b3000_cov * 4.0 - 2.0" ] }, { From b656931be113cf930e334bc33a839c9d86dd5bad Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Thu, 11 Jul 2024 06:32:10 +0200 Subject: [PATCH 4/6] Update docs/notebooks/dmri_covariance.ipynb --- docs/notebooks/dmri_covariance.ipynb | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/notebooks/dmri_covariance.ipynb b/docs/notebooks/dmri_covariance.ipynb index 61614b7a..f9c97d28 100644 --- a/docs/notebooks/dmri_covariance.ipynb +++ b/docs/notebooks/dmri_covariance.ipynb @@ -166,6 +166,7 @@ "\n", "# Plot the exponential and spherical model covariances\n", "# Scale by a factor of 2 so that it matches Andersson2015's fig. 3.\n", + "# Scale by a factor of 2 so that it matches Andersson2015's fig. 3.\n", "plt.plot(theta_lin, cov_exp * 2, \"gray\", label=\"Exponential\")\n", "plt.plot(theta_lin, cov_sph * 2, \"k--\", label=\"Spherical\")\n", "\n", From 227ea6d964923fef7d744d40c522a34dfc9e3b69 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Thu, 11 Jul 2024 06:33:41 +0200 Subject: [PATCH 5/6] fix: github glitch --- docs/notebooks/dmri_covariance.ipynb | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/notebooks/dmri_covariance.ipynb b/docs/notebooks/dmri_covariance.ipynb index f9c97d28..d607f1ac 100644 --- a/docs/notebooks/dmri_covariance.ipynb +++ b/docs/notebooks/dmri_covariance.ipynb @@ -139,9 +139,6 @@ "b3000_cov = np.cov(b3000_data)[triu_indices]\n", "# Introduce adjustment factors to make it more similar to Andersson2015's fig. 3.\n", "b3000_cov = b3000_cov * 4.0 - 2.0" - "b3000_cov = np.cov(b3000_data)[triu_indices]\n", - "# Introduce adjustment factors to make it more similar to Andersson2015's fig. 3.\n", - "b3000_cov = b3000_cov * 4.0 - 2.0" ] }, { From 3dd5815b17b0fb89d25b7b98fd691bff9b53408d Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Thu, 11 Jul 2024 06:35:28 +0200 Subject: [PATCH 6/6] fix: github glitch --- docs/notebooks/dmri_covariance.ipynb | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/notebooks/dmri_covariance.ipynb b/docs/notebooks/dmri_covariance.ipynb index d607f1ac..1eefa737 100644 --- a/docs/notebooks/dmri_covariance.ipynb +++ b/docs/notebooks/dmri_covariance.ipynb @@ -163,7 +163,6 @@ "\n", "# Plot the exponential and spherical model covariances\n", "# Scale by a factor of 2 so that it matches Andersson2015's fig. 3.\n", - "# Scale by a factor of 2 so that it matches Andersson2015's fig. 3.\n", "plt.plot(theta_lin, cov_exp * 2, \"gray\", label=\"Exponential\")\n", "plt.plot(theta_lin, cov_sph * 2, \"k--\", label=\"Spherical\")\n", "\n",