Ideal Operators#

Summary#

cmrsim.bloch._ideal.InstantaneousPulse(...)

Module designed debug simulation by assuming instananeous excitation with a given flip angle and slice-profile

cmrsim.bloch._ideal.PerfectSpoiling(name[, ...])

Module designed to debug simulations by making residual magnetization effects negligible

Modules#

InstantaneousPulse#

class InstantaneousPulse(complex_flip_angle, slice_position, slice_thickness, slice_normal, slice_profile=None, device=None)[source]#

Module designed debug simulation by assuming instananeous excitation with a given flip angle and slice-profile

Parameters:
  • complex_flip_angle (Tensor) – (n, ) - tf.complex64

  • slice_position (Tensor) –

  • slice_thickness (float) –

  • slice_normal (Tensor) –

  • slice_profile (str) –

  • device (str) –

Methods:

__call__(trajectory_module, ...[, ...])

Call self as a function.

__call__(trajectory_module, initial_position, magnetization, repetition_index=0, **kwargs)[source]#

Call self as a function.

Parameters:
  • trajectory_module (callable) –

  • initial_position (Tensor) –

  • magnetization (Tensor) –

  • repetition_index (Tensor) –

PerfectSpoiling#

class PerfectSpoiling(name, device=None)[source]#

Module designed to debug simulations by making residual magnetization effects negligible

Methods:

__call__(magnetization, **kwargs)

Simply sets the transverse magnetization to 0.

Parameters:
  • name (str) –

  • device (str) –

__call__(magnetization, **kwargs)[source]#

Simply sets the transverse magnetization to 0.

Parameters:

magnetization (Tensor) – (#batch, 3)

Returns:

(#batch, 3)