SSFP simulation
Project description
SSFP
Simple steady-state free precession simulation. The goal is to provide a simple to use, pip-installable solution for simulating and working with this wonderful pulse sequence.
In this package:
bSSFP: bssfp()
GS solution: gs_recon()
PLANET: planet()
3D Region Growing Phase Correction: rgphcorr3d()
Installation
Should be as easy as:
pip install ssfp
Usage
See ssfp.examples for typical usage. You can run examples like:
python -m ssfp.examples.basic_bssfp
Balanced steady-state free precession can be called through bssfp(). This is an implementation of equations [1–2] in [1]. These equations are based on the Ernst-Anderson derivation [2] where off-resonance is assumed to be subtracted as opposed to added (as in the Freeman-Hill derivation [3]). Hoff actually gets Mx and My flipped in the paper, so we fix that here. We also assume that the field map will be provided given the Freeman-Hill convention.
from ssfp import bssfp
# Here's the simplest usage, see docstring for all the possible
# function arguments
sig = bssfp(T1, T2, TR, alpha)
We can also easily get the Geometric Solution to the elliptical signal model as described in [1] as follows:
from ssfp import gs_recon
recon = gs_recon(phased_cycled_images, pc_axis=-1)
# Notice that we can specify the axis where the phase-cycles live
PLANET [4] is a method for simultaneous T1, T2 fitting for bSSFP phase-cycled data. Call like this:
from ssfp import planet
# For a single pixel:
Meff, T1, T2 = planet(
phased_cycled_pixels, alpha, TR, T1_guess,
pcs=np.deg2rad([0, 90, 180, 270, etc...]))
3D Region Growing Phase Correction [5] is an algorithm for determining water and fat images from a single bSSFP acquisition. It can be called like this:
from ssfp import rgphcorr3d
phase_corrected = rgphcorr3d(
dataset3d, cellsize=(4, 4, 4), slice_axis=-1)
# see ssfp.examples.basic_rgphcorr for full usage example
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.