Contribution#

Module containing experimental contributions, not tested!

Functions:

pc_gre(system_specs, matrix_size, ...[, ...])

Defines a 2D gradient echo sequence with bipolar velocity encoding.

se_m012_ssepi(echo_time, slice_thickness, ...)

Defines a spin echo single shot EPI with second order motion compensated diffusion Weighting

pc_gre(system_specs, matrix_size, inplane_resolution, slice_thickness, adc_duration, flip_angle, pulse_duration, repetition_time, echo_time, venc, venc_direction, venc_duration=<Quantity(0.0, 'meter')>, slice_position_offset=<Quantity(0.0, 'meter')>, time_bandwidth_product=4.0, dummy_shots=None, crusher_area=<Quantity(0.0, 'millisecond * millitesla / meter')>, crusher_duration=<Quantity(0.0, 'millisecond * millitesla / meter')>)[source]#

Defines a 2D gradient echo sequence with bipolar velocity encoding.

Parameters:
  • system_specs (SystemSpec) – SystemSpecifications

  • matrix_size (ndarray) – array of shape (2, ) containing the resulting matrix dimensions

  • inplane_resolution (Quantity) – Quantity[Length] of shape (2, ) containing the in-plane voxel dimensions

  • slice_thickness (Quantity) – Quantity[Length] containing the required slice-thickness

  • adc_duration (Quantity) – Quantity[time] Total duration of adc-sampling for a single TR

  • repetition_time (Quantity) – Quantity[Time] containing the required repetition_time

  • echo_time (Quantity) – Quantity[Time] containing the required echo-time. If too short for given system specifications, it is increased to minimum and a warning is raised.

  • venc (Quantity) – Quantity[Velocity] strength of velocity encoding gradient

  • venc_duration (Quantity) – Quantity[Time] denoting the duration of applied VENC-gradients. If 0. the resulting gradients will be the shortest for given system limits

  • venc_direction (ndarray) – Vector (3, ) denoting the direction of velocity encoding in MPS coordinates

  • flip_angle (Quantity) – Quantity[Angle] containing the required flip_angle

  • pulse_duration (Quantity) – Quantity[Time] Total pulse duration (corresponds to flat_duration of the slice selection gradient)

  • slice_position_offset (Quantity) – Quantity[Length] positional offset in slice normal direction defining the frequency offset of the RF pulse

  • time_bandwidth_product (float) – float - used to calculate the rf bandwidth from duration

  • dummy_shots (Optional[int]) – number of dummy shots (TRs) without adc-events, with k-space center phase encoding

  • crusher_area (Quantity) – Quantity[Gradient Area] crusher gradient area along slice direction. If set to zero no crusher will be applied and phase encoder will not be rewound

  • crusher_duration (Quantity) – Quantity[Time] duration of crusher. If set too short will default to duration of phase encoder or shortest possible crusher

Return type:

List[Sequence]

Returns:

List of sequence objects, that each represent a single TR

se_m012_ssepi(echo_time, slice_thickness, slice_pos_offset, field_of_view, matrix_size, b_vectors, max_bval=<Quantity(450, 'second / millimeter ** 2')>, water_fat_shift='minimum', diff_raster_time=<Quantity(0.1, 'millisecond')>, spoiler_duration=<Quantity(1.5, 'millisecond')>)[source]#

Defines a spin echo single shot EPI with second order motion compensated diffusion Weighting

!!!WIP!!!

Return type:

List[Sequence]

Parameters:
  • echo_time (Quantity) –

  • slice_thickness (Quantity) –

  • slice_pos_offset (Quantity) –

  • field_of_view (Quantity) –

  • matrix_size (ndarray) –

  • b_vectors (Quantity) –

  • max_bval (Quantity) –

  • diff_raster_time (Quantity) –