Spinach contains a very general implementation of the Fokker-Planck formalism that is able to treat 3D diffusion and hydrodynamics simultaneously with Liouville-space spin dynamics, relaxation and chemical kinetics. This is a result of our in-house research, and it is dictated by the direction in which the field is moving: many emerging magnetic resonance methods (ultrafast NMR, singlet state imaging, spatially encoded NMR, metabolite-selective MRI, catalyst MRI, hyperpolarised imaging, etc.) fall in between the established simulation frameworks: on the one hand, they require accurate simulation of three-dimensional diffusion, hydrodynamics and chemical processes; on the other, it is essential that the spin evolution in every molecule is treated quantum mechanically in a way that accurately describes spin relaxation processes. At the same time, sophisticated spatially and temporally modulated radiofrequency pulses must be accounted for. Within the Fokker-Planck formalism, things like three-dimensional diffusion, hydrodynamics and off-resonance radiofrequency appear in a very simple way – each of these is just another constant matrix to add to the background evolution Hamiltonian.
Setting up the imaging context
For detailed instructions on setting up the imaging context, see imaging.m
Pre-programmed pulse sequences
basic_1d_hard.m - basic 1D imaging with a hard pulse and a gradient
cpmg_dec.m - CPMG echo train
dwi.m - 2D (spatial) diffusion weighted imaging sequence
epi.m - 2D (spatial) echo planar imaging sequence
fse.m - 2D (spatial) fast spin echo sequence
grad_echo.m - simple gradient echo pulse sequence
phase_enc.m - 2D (spatial) phase encoded imaging.
press_1d.m - 1D (spatial) PRESS sequence
press_2d.m - 2D (spatial) PRESS sequence
press_voxel_1d.m - voxel selection diagnostics for 1D (spatial) PRESS pulse sequence
press_voxel_2d.m - voxel selection diagnostics for 2D (spatial) PRESS pulse sequence
press_voxel_3d.m - voxel selection diagnostics for 2D (spatial) PRESS pulse sequence
slice_phase_enc.m - 3D (spatial) imaging with slice selection followed by phase-encoded acquisition
slice_select_1d.m - slice selection diagnostics
spin_echo.m - simple spin echo pulse sequence
spiral.m - 2D (spatial) imaging with spiral readout
udd_dec.m - Uhrig Dynamic Decoupling (UDD) echo train
uhrig_times.m - timing sequence for UDD echo train
Other relevant functions
g2fplanck.m - returns magnetic field gradient operators.
hydrodynamics.m - first derivative operators with respect to spatial coordinates.
mri_2d_plot.m - MRI image plotting with a black-and-white colour map.
ngridpts.m - estimates the minimum number of spatial grid points necessary to have a valid treatment of gradient driven experiments with explicit digitization of spatial dimensions.
phantoms.m - MRI phantoms library.
v2fplanck.m - converts diffusion and velocity fields into Fokker-Planck operators.