snake.toolkit.reconstructors.pysap#

Reconstructors using PySAP-fMRI toolbox.

Module Contents#

Classes#

ZeroFilledReconstructor

Zero Filled Reconstructor.

RestartStrategy

Restart strategies for the reconstruction.

SequentialReconstructor

Use a sequential Reconstruction.

Functions#

_reconstruct_cartesian_frame

Reconstruct a single frame.

API#

snake.toolkit.reconstructors.pysap._reconstruct_cartesian_frame(filename: os.PathLike, idx: int, smaps_props: snake.core.parallel.ArrayProps | None, final_props: snake.core.parallel.ArrayProps) int[source]#

Reconstruct a single frame.

class snake.toolkit.reconstructors.pysap.ZeroFilledReconstructor[source]#

Bases: snake.toolkit.reconstructors.base.BaseReconstructor

Zero Filled Reconstructor.

__reconstructor_name__ = 'adjoint'#
n_jobs: int = 10#
nufft_backend: str = 'gpunufft'#
density_compensation: str | bool = 'pipe'#
setup(sim_conf: snake.core.simulation.SimConfig) None[source]#

Initialize Reconstructor.

reconstruct(data_loader: snake.mrd_utils.MRDLoader, sim_conf: snake.core.simulation.SimConfig = None) numpy.typing.NDArray[source]#

Reconstruct data with zero-filled method.

_reconstruct_cartesian(data_loader: snake.mrd_utils.CartesianFrameDataLoader) numpy.typing.NDArray[source]#
_reconstruct_nufft(data_loader: snake.mrd_utils.NonCartesianFrameDataLoader) numpy.typing.NDArray[source]#

Reconstruct data with nufft method.

class snake.toolkit.reconstructors.pysap.RestartStrategy[source]#

Bases: snake._meta.NoCaseEnum

Restart strategies for the reconstruction.

WARM = 'warm'#
COLD = 'cold'#
REFINE = 'refine'#
class snake.toolkit.reconstructors.pysap.SequentialReconstructor[source]#

Bases: snake.toolkit.reconstructors.base.BaseReconstructor

Use a sequential Reconstruction.

Parameters:
  • max_iter_frame – Number of iteration to allow per frame.

  • optimizer – Optimizer name, available are pogm and fista.

  • threshold – Threshold value for the wavelet regularisation.

__reconstructor_name__ = 'sequential'#
max_iter_per_frame: int = 15#
optimizer: str = 'pogm'#
wavelet: str = 'db4'#
threshold: float | str = 'sure'#
nufft_backend: str = 'gpunufft'#
density_compensation: str | bool = 'pipe'#
restart_strategy: snake.toolkit.reconstructors.pysap.RestartStrategy = None#
compute_backend: str = 'cupy'#
__str__() str[source]#

Return a string representation of the reconstructor.

setup(sim_conf: snake.core.simulation.SimConfig = None, shape: tuple[int] = None) None[source]#

Set up the reconstructor.

reconstruct(data_loader: snake.mrd_utils.MRDLoader) numpy.ndarray[source]#

Reconstruct with Sequential.

_reconstruct_frame(grad_op: Any, x_init: numpy.typing.NDArray, n_iter: int = 15, progbar: tqdm.auto.tqdm | None = None) numpy.typing.NDArray[source]#