From 6cf3e2afb4c9f368323f9b62821178dfbdffd205 Mon Sep 17 00:00:00 2001
From: Mark Chiew <mchiew@fmrib.ox.ac.uk>
Date: Wed, 4 Mar 2020 09:08:53 +0000
Subject: [PATCH] Added some matlab vs python comparisons, bloch simulator and
 partial fourier

---
 talks/matlab_vs_python/bloch/bloch.ipynb      | 127 ++++++++++++++++
 talks/matlab_vs_python/bloch/bloch.m          |  32 +++++
 talks/matlab_vs_python/bloch/bloch.py         |  40 ++++++
 .../matlab_vs_python/partial_fourier/data.mat | Bin 0 -> 66518 bytes
 .../partial_fourier/partial_fourier.ipynb     | 136 ++++++++++++++++++
 .../partial_fourier/partial_fourier.m         |  32 +++++
 .../partial_fourier/partial_fourier.py        |  32 +++++
 7 files changed, 399 insertions(+)
 create mode 100644 talks/matlab_vs_python/bloch/bloch.ipynb
 create mode 100644 talks/matlab_vs_python/bloch/bloch.m
 create mode 100644 talks/matlab_vs_python/bloch/bloch.py
 create mode 100644 talks/matlab_vs_python/partial_fourier/data.mat
 create mode 100644 talks/matlab_vs_python/partial_fourier/partial_fourier.ipynb
 create mode 100644 talks/matlab_vs_python/partial_fourier/partial_fourier.m
 create mode 100644 talks/matlab_vs_python/partial_fourier/partial_fourier.py

diff --git a/talks/matlab_vs_python/bloch/bloch.ipynb b/talks/matlab_vs_python/bloch/bloch.ipynb
new file mode 100644
index 0000000..a96717a
--- /dev/null
+++ b/talks/matlab_vs_python/bloch/bloch.ipynb
@@ -0,0 +1,127 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Imports"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "from scipy.integrate import ode\n",
+    "import matplotlib.pyplot as plt"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Define bloch and B_eff functions"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def bloch_ode(t,M,T1,T2):\n",
+    "    B = B_eff(t)\n",
+    "    return np.array([M[1]*B[2] - M[2]*B[1] - M[0]/T2,\n",
+    "                     M[2]*B[0] - M[0]*B[2] - M[1]/T2,\n",
+    "                     M[0]*B[1] - M[1]*B[0] - (M[2]-1)/T1])\n",
+    "\n",
+    "def B_eff(t):\n",
+    "    if t < 0.25:\n",
+    "        return np.array([0, 0, 0])\n",
+    "    elif t < 1.25:\n",
+    "        return np.array([1.8*np.sinc(t-0.75), 0, 0])\n",
+    "    elif t < 1.50:\n",
+    "        return np.array([0, 0, 0])\n",
+    "    elif t < 3.00:\n",
+    "        return np.array([0, 0, 2*np.pi])\n",
+    "    else:\n",
+    "        return np.array([0, 0, 0])"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Integrate ODE"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "t = np.array([0])\n",
+    "M = np.array([[0, 0, 1]])\n",
+    "dt= 0.005\n",
+    "r = ode(bloch_ode)\n",
+    "r.set_integrator('dopri5')\n",
+    "r.set_initial_value(M[0],t[0])\n",
+    "r.set_f_params(1500, 50)\n",
+    "while r.successful() and r.t < 5:\n",
+    "    t = np.append(t,r.t+dt)\n",
+    "    M = np.append(M, np.array([r.integrate(t[-1])]),axis=0)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Plot Results"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "_, ax = plt.subplots(figsize=(12,12))\n",
+    "ax.plot(t,M[:,0], label='Mx')\n",
+    "ax.plot(t,M[:,1], label='My')\n",
+    "ax.plot(t,M[:,2], label='Mz')\n",
+    "ax.legend()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/talks/matlab_vs_python/bloch/bloch.m b/talks/matlab_vs_python/bloch/bloch.m
new file mode 100644
index 0000000..324fcc8
--- /dev/null
+++ b/talks/matlab_vs_python/bloch/bloch.m
@@ -0,0 +1,32 @@
+%% Imports
+
+%% Integrate ODE
+[t, M] = ode45(@(t,M)bloch_ode(t,M,1500,50),linspace(0,5,1000),[0;0;1]);
+
+%% Plot Results
+clf();hold on;
+plot(t,M(:,1));
+plot(t,M(:,2));
+plot(t,M(:,3));
+
+%% Define bloch and b_eff functions
+function dM = bloch_ode(t,M,T1,T2)
+    B   =   B_eff(t);                               % B-effective
+    dM  =  [M(2)*B(3) - M(3)*B(2) - M(1)/T2;        % dMx/dt
+            M(3)*B(1) - M(1)*B(3) - M(2)/T2;        % dMy/dt
+            M(1)*B(2) - M(2)*B(1) - (M(3)-1)/T1];   % dMz/dt
+end
+
+function b = B_eff(t)
+    if t < 0.25                 % No B-field
+        b = [0, 0, 0];
+    elseif t < 1.25             % 1-ms excitation around x-axis
+        b = [1.8*sinc(t-0.75), 0, 0];
+    elseif t < 1.50             % No B-field
+        b = [0, 0, 0];
+    elseif t < 3.00             % Gradient in y-direction
+        b = [0, 0, 2*pi];
+    else                        % No B-field
+        b = [0, 0, 0];
+    end
+end
\ No newline at end of file
diff --git a/talks/matlab_vs_python/bloch/bloch.py b/talks/matlab_vs_python/bloch/bloch.py
new file mode 100644
index 0000000..873798d
--- /dev/null
+++ b/talks/matlab_vs_python/bloch/bloch.py
@@ -0,0 +1,40 @@
+#%% Imports
+import numpy as np
+from scipy.integrate import ode
+import matplotlib.pyplot as plt
+
+#%% Define bloch and B_eff functions
+def bloch_ode(t,M,T1,T2):
+    B = B_eff(t)
+    return np.array([M[1]*B[2] - M[2]*B[1] - M[0]/T2,
+                     M[2]*B[0] - M[0]*B[2] - M[1]/T2,
+                     M[0]*B[1] - M[1]*B[0] - (M[2]-1)/T1])
+
+def B_eff(t):
+    if t < 0.25:
+        return np.array([0, 0, 0])
+    elif t < 1.25:
+        return np.array([1.8*np.sinc(t-0.75), 0, 0])
+    elif t < 1.50:
+        return np.array([0, 0, 0])
+    elif t < 3.00:
+        return np.array([0, 0, 2*np.pi])
+    else:
+        return np.array([0, 0, 0])
+
+#%% Integrate ODE
+t = np.array([0])
+M = np.array([[0, 0, 1]])
+dt= 0.005
+r = ode(bloch_ode)\
+   .set_integrator('dopri5')\
+   .set_initial_value(M[0],t[0])\
+   .set_f_params(1500, 50)
+while r.successful() and r.t < 5:
+    t = np.append(t,r.t+dt)
+    M = np.append(M, np.array([r.integrate(t[-1])]),axis=0)
+
+#%% Plot Results
+plt.plot(t,M[:,0])
+plt.plot(t,M[:,1])
+plt.plot(t,M[:,2])
\ No newline at end of file
diff --git a/talks/matlab_vs_python/partial_fourier/data.mat b/talks/matlab_vs_python/partial_fourier/data.mat
new file mode 100644
index 0000000000000000000000000000000000000000..c63c984d088a3280bafb2a681a3a8a50853531cf
GIT binary patch
literal 66518
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
J{{$_X3X&{ZH9!CW

literal 0
HcmV?d00001

diff --git a/talks/matlab_vs_python/partial_fourier/partial_fourier.ipynb b/talks/matlab_vs_python/partial_fourier/partial_fourier.ipynb
new file mode 100644
index 0000000..ea2bb3e
--- /dev/null
+++ b/talks/matlab_vs_python/partial_fourier/partial_fourier.ipynb
@@ -0,0 +1,136 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Imports"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import h5py\n",
+    "import matplotlib.pyplot as plt\n",
+    "import numpy as np"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Load Data"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "h = h5py.File('data.mat','r')\n",
+    "img = np.transpose(h.get('img')['real']+1j*h.get('img')['imag'])"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "6/8 Partial Fourier sampling"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "n = np.random.randn(96,96) + 1j*np.random.randn(96,96)\n",
+    "y = np.fft.fftshift(np.fft.fft2(img),axes=0) + n\n",
+    "y[72:,:] = 0"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Estimate phase"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "pad = np.pad(np.hanning(48),24,'constant')[:,None]\n",
+    "phs = np.exp(1j*np.angle(np.fft.ifft2(np.fft.ifftshift(y*pad,axes=0))))"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "POCS reconstruction"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "est = np.zeros((96,96))\n",
+    "iters = 10\n",
+    "for i in range(iters):\n",
+    "    est = np.fft.fftshift(np.fft.fft2(est*phs),axes=0)\n",
+    "    est[:72,:] = y[:72,:]\n",
+    "    est = np.maximum(np.real(np.fft.ifft2(np.fft.ifftshift(est,axes=0))*np.conj(phs)),0)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Plot reconstruction"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "_, ax = plt.subplots(1,2,figsize=(16,16))\n",
+    "ax[0].imshow(np.abs(np.fft.ifft2(np.fft.ifftshift(y,axes=0))), vmin=0, vmax=1)\n",
+    "ax[0].set_title('Zero-filled')\n",
+    "ax[1].imshow(est, vmin=0, vmax=1)\n",
+    "ax[1].set_title('POCS recon')"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/talks/matlab_vs_python/partial_fourier/partial_fourier.m b/talks/matlab_vs_python/partial_fourier/partial_fourier.m
new file mode 100644
index 0000000..b364ab7
--- /dev/null
+++ b/talks/matlab_vs_python/partial_fourier/partial_fourier.m
@@ -0,0 +1,32 @@
+%% Imports
+
+%% Load Data
+h = matfile('data.mat');
+img = h.img;
+
+%% 6/8 Partial Fourier sampling
+n = randn(96) + 1j*randn(96);
+y = fftshift(fft2(img),1) + 0*n;
+%y(73:end,:) = 0;
+
+%% Estimate phase
+pad = padarray(hann(48),24);
+phs = exp(1j*angle(ifft2(ifftshift(y.*pad,1))));
+
+%% POCS reconstruction
+est = zeros(96);
+iters = 10;
+for i = 1:iters
+    est = fftshift(fft2(est.*phs),1);
+    est(1:72,:) = y(1:72,:);
+    est = max(real(ifft2(ifftshift(est,1)).*conj(phs)),0);   
+end
+
+%% Plot reconstruction
+figure();
+subplot(1,2,1);
+imshow(abs(ifft2(ifftshift(y,1))),[0 1],'colormap',jet);
+title('Zero-Filled');
+subplot(1,2,2);
+imshow(est,[0 1],'colormap',jet);
+title('POCS recon');
\ No newline at end of file
diff --git a/talks/matlab_vs_python/partial_fourier/partial_fourier.py b/talks/matlab_vs_python/partial_fourier/partial_fourier.py
new file mode 100644
index 0000000..2ceb7ec
--- /dev/null
+++ b/talks/matlab_vs_python/partial_fourier/partial_fourier.py
@@ -0,0 +1,32 @@
+#%% Imports
+import h5py
+import matplotlib.pyplot as plt
+import numpy as np
+
+#%% Load Data
+h = h5py.File('data.mat','r')
+img = np.transpose(h.get('img')['real']+1j*h.get('img')['imag'])
+
+#%% 6/8 Partial Fourier sampling
+n = np.random.randn(96,96) + 1j*np.random.randn(96,96)
+y = np.fft.fftshift(np.fft.fft2(img),axes=0) + n
+y[72:,:] = 0
+
+#%% Estimate phase
+pad = np.pad(np.hanning(48),24,'constant')[:,None]
+phs = np.exp(1j*np.angle(np.fft.ifft2(np.fft.ifftshift(y*pad,axes=0))))
+
+#%% POCS reconstruction
+est = np.zeros((96,96))
+iters = 10
+for i in range(iters):
+    est = np.fft.fftshift(np.fft.fft2(est*phs),axes=0)
+    est[:72,:] = y[:72,:]
+    est = np.maximum(np.real(np.fft.ifft2(np.fft.ifftshift(est,axes=0))*np.conj(phs)),0)
+
+#%% Plot reconstruction
+_, ax = plt.subplots(1,2)
+ax[0].imshow(np.abs(np.fft.ifft2(np.fft.ifftshift(y,axes=0))),vmin=0,vmax=1)
+ax[0].set_title('Zero-filled')
+ax[1].imshow(est, vmin=0, vmax=1)
+ax[1].set_title('POCS recon')
\ No newline at end of file
-- 
GitLab