StackOfSpiralSampler#

class snake.core.sampling.samplers.StackOfSpiralSampler(*, constant=False, in_out=True, obs_time_ms=30, acsz, accelz, orderz=VDSorder.TOP_DOWN, nb_revolutions=10, spiral_name='archimedes', pdfz=VDSpdf.GAUSSIAN, rotate_angle=AngleRotation.ZERO, n_shot_slices=1)[source]#

Bases: NonCartesianAcquisitionSampler

Spiral 2D Acquisition Handler to generate k-space data.

Parameters:
  • acsz (float | int) – Number/ proportion of lines to be acquired in the center of k-space.

  • accelz (int) – Acceleration factor for the rest of the lines.

  • directionz (Literal["center-out", "random"]) – Direction of the acquisition. Either “center-out” or “random”.

  • pdfz (Literal["gaussian", "uniform"]) – Probability density function of the sampling. Either “gaussian” or “uniform”.

  • obs_ms (int) – Time spent to acquire a single shot

  • nb_revolutions (int) – Number of revolutions of the spiral.

  • in_out (bool) – If true, the spiral is acquired with a double join pattern from/to the periphery

  • **kwargs – Extra arguments (smaps, n_jobs, backend etc…)

  • constant (bool)

  • obs_time_ms (int)

  • orderz (VDSorder)

  • spiral_name (str)

  • rotate_angle (AngleRotation)

  • n_shot_slices (int)

Methods

__init__

add_all_acq_mrd

Generate all mrd_acquisitions.

get_next_frame

Generate the next frame.

Attributes

constant

in_out

log

Get a logger.

n_shot_slices

nb_revolutions

obs_time_ms

orderz

pdfz

rotate_angle

spiral_name

acsz

accelz

_single_frame(sim_conf)[source]#

Generate the sampling pattern.

Parameters:

sim_conf (SimConfig)

Return type:

ndarray[Any, dtype[_ScalarType_co]]

property log: Logger#

Get a logger.