mrftools.SequenceModules package

Submodules

mrftools.SequenceModules.AcquisitionModule module

class mrftools.SequenceModules.AcquisitionModule.AcquisitionModule(acquisitionType: mrftools.Types.types.AcquisitionType, timepoints=[], units=None)

Bases: mrftools.SequenceModules.SequenceModule.SequenceModule

A module representing an acquisition/readout block in a sequence.

Parameters
  • acquisitionType (AcquisitionType) – The type of acquisition.

  • timepoints (list, optional) – List of timepoints. Defaults to an empty list.

  • units (SequenceUnits, optional) – The units of the timepoints. Defaults to None.

CastToFloats()

Cast timepoint values to floats.

CastToIntegers()

Cast timepoint values to integers.

ConvertUnits(targetUnits: mrftools.Types.sequenceUnits.SequenceUnits)

Convert the units of timepoints to the target units.

Parameters

targetUnits (SequenceUnits) – The target units for conversion.

Initialize(TRs, TEs, FAs, PHs, IDs)

Initialize the acquisition module with timepoint values.

Parameters
  • TRs (list) – List of repetition times.

  • TEs (list) – List of echo times.

  • FAs (list) – List of flip angles.

  • PHs (list) – List of phase values.

  • IDs (list) – List of IDs.

mrftools.SequenceModules.DeadtimeRecoveryModule module

class mrftools.SequenceModules.DeadtimeRecoveryModule.DeadtimeRecoveryModule(totalDuration, units=None)

Bases: mrftools.SequenceModules.RecoveryModule.RecoveryModule

A module representing deadtime recovery in a sequence.

Parameters
  • totalDuration (float) – The total duration of deadtime recovery in seconds.

  • units (SequenceUnits, optional) – The units of time. Defaults to None.

CastToFloats()

Cast total duration value to a float.

CastToIntegers()

Cast total duration value to an integer.

ConvertUnits(targetUnits: mrftools.Types.sequenceUnits.SequenceUnits)

Convert the units of total duration to the target units.

Parameters

targetUnits (SequenceUnits) – The target units for conversion.

static FromJson(jsonInput)

Create a DeadtimeRecoveryModule instance from a JSON input.

Parameters

jsonInput (dict) – The JSON input containing module information.

Returns

The created DeadtimeRecoveryModule instance.

Return type

DeadtimeRecoveryModule

Simulate(dictionaryEntries, numSpins, device=None, inputMx=None, inputMy=None, inputMz=None)

Simulate deadtime recovery for a given set of dictionary entries.

Parameters
  • dictionaryEntries (dict) – A dictionary containing T1, T2, and B1 values.

  • numSpins (int) – The number of spins to simulate.

  • device (torch.device, optional) – The device to perform the simulation on. Defaults to None.

  • inputMx (torch.Tensor, optional) – Input Mx values for simulation. Defaults to None.

  • inputMy (torch.Tensor, optional) – Input My values for simulation. Defaults to None.

  • inputMz (torch.Tensor, optional) – Input Mz values for simulation. Defaults to None.

Returns

A tuple containing the simulation results (Time, Mx0, My0, Mz0).

Return type

tuple

mrftools.SequenceModules.FISPAcquisitionModule module

class mrftools.SequenceModules.FISPAcquisitionModule.FISPAcquisitionModule(timepoints=[], dephasingRange=360, units=None)

Bases: mrftools.SequenceModules.AcquisitionModule.AcquisitionModule

A module representing Fast Imaging with Steady-state Precession (FISP) acquisition in a sequence.

Parameters
  • timepoints (array-like, optional) – List of timepoints. Defaults to an empty list.

  • dephasingRange (float, optional) – Dephasing range in degrees. Defaults to 360.

  • units (SequenceUnits, optional) – The units of time. Defaults to None.

static FromJson(jsonInput)

Create an FISPAcquisitionModule instance from a JSON input.

Parameters

jsonInput (dict) – The JSON input containing module information.

Returns

The created FISPAcquisitionModule instance.

Return type

FISPAcquisitionModule

Simulate(dictionaryEntries, numSpins, device=None, inputMx=None, inputMy=None, inputMz=None)

Simulate FISP acquisition for a given set of dictionary entries.

Parameters
  • dictionaryEntries (dict) – A dictionary containing T1, T2, and B1 values.

  • numSpins (int) – The number of spins to simulate.

  • device (torch.device, optional) – The device to perform the simulation on. Defaults to None.

  • inputMx (torch.Tensor, optional) – Input Mx values for simulation. Defaults to None.

  • inputMy (torch.Tensor, optional) – Input My values for simulation. Defaults to None.

  • inputMz (torch.Tensor, optional) – Input Mz values for simulation. Defaults to None.

Returns

A tuple containing the simulation results (Time, Mx0, My0, Mz0).

Return type

tuple

mrftools.SequenceModules.GradientPreparationModule module

class mrftools.SequenceModules.GradientPreparationModule.GradientPreparationModule(gradientType: mrftools.Types.types.GradientType, units=None)

Bases: mrftools.SequenceModules.PreparationModule.PreparationModule

Base class representing a gradient preparation module in a sequence.

Parameters
  • gradientType (GradientType) – The type of gradient used.

  • units (SequenceUnits, optional) – The units of the gradient. Defaults to None.

mrftools.SequenceModules.InversionModule module

class mrftools.SequenceModules.InversionModule.InversionModule(totalDuration, rfDuration=0, rfPhase=0, units=None)

Bases: mrftools.SequenceModules.RFPreparationModule.RFPreparationModule

A module representing an inversion recovery preparation using RF pulse.

Parameters
  • totalDuration (float) – Total duration of the module in seconds.

  • rfDuration (float, optional) – Duration of the RF pulse in seconds. Defaults to 0.

  • rfPhase (float, optional) – RF phase in degrees. Defaults to 0.

  • units (SequenceUnits, optional) – The units of the module. Defaults to None.

CastToFloats()

Cast relevant module parameters to floats.

CastToIntegers()

Cast relevant module parameters to integers.

ConvertUnits(targetUnits: mrftools.Types.sequenceUnits.SequenceUnits)

Convert the module’s parameters to the specified units.

Parameters

targetUnits (SequenceUnits) – The target units for conversion.

static FromJson(jsonInput)

Create an InversionModule instance from a JSON input.

Parameters

jsonInput (dict) – A dictionary containing JSON input data.

Returns

An instance of InversionModule.

Return type

InversionModule

Simulate(dictionaryEntries, numSpins, device=None, inputMx=None, inputMy=None, inputMz=None)

Simulate the module’s effect on magnetization.

Parameters
  • dictionaryEntries (dict) – Dictionary containing relaxation parameters.

  • numSpins (int) – Number of spins.

  • device (torch.device, optional) – The device to run the simulation on. Defaults to None.

  • inputMx (torch.Tensor, optional) – Input magnetization in the x-direction. Defaults to None.

  • inputMy (torch.Tensor, optional) – Input magnetization in the y-direction. Defaults to None.

  • inputMz (torch.Tensor, optional) – Input magnetization in the z-direction. Defaults to None.

Returns

A tuple containing timepoints, Mx0, My0, and Mz0.

Return type

tuple

mrftools.SequenceModules.PreparationModule module

class mrftools.SequenceModules.PreparationModule.PreparationModule(preparationType: mrftools.Types.types.PreparationType, units=None)

Bases: mrftools.SequenceModules.SequenceModule.SequenceModule

Base class representing a preparation module in a sequence.

Parameters
  • preparationType (PreparationType) – The type of preparation.

  • units (SequenceUnits, optional) – The units of the module. Defaults to None.

mrftools.SequenceModules.RFPreparationModule module

class mrftools.SequenceModules.RFPreparationModule.RFPreparationModule(rfType: mrftools.Types.types.RFType, units=None)

Bases: mrftools.SequenceModules.PreparationModule.PreparationModule

Base class representing an RF preparation module in a sequence.

Parameters
  • rfType (RFType) – The type of RF preparation.

  • units (SequenceUnits, optional) – The units of the module. Defaults to None.

mrftools.SequenceModules.RecoveryModule module

class mrftools.SequenceModules.RecoveryModule.RecoveryModule(recoveryType: mrftools.Types.types.RecoveryType, units=None)

Bases: mrftools.SequenceModules.SequenceModule.SequenceModule

Base class representing a recovery module in a sequence.

Parameters
  • recoveryType (RecoveryType) – The type of recovery.

  • units (SequenceUnits, optional) – The units of the module. Defaults to None.

mrftools.SequenceModules.SequenceModule module

class mrftools.SequenceModules.SequenceModule.SequenceModule(moduleType: mrftools.Types.types.SequenceModuleType, units=None)

Bases: object

Base class representing a sequence module.

Parameters
static FromJson(jsonInput, units)

Create an instance of a specific module from JSON input.

Parameters
  • jsonInput (dict) – The JSON input data.

  • units (SequenceUnits) – The units for the module.

Returns

An instance of the specific module.

Return type

SequenceModule

mrftools.SequenceModules.SpoilerModule module

class mrftools.SequenceModules.SpoilerModule.SpoilerModule(dephasingRange, totalDuration, gradientDuration=None, units=None)

Bases: mrftools.SequenceModules.GradientPreparationModule.GradientPreparationModule

Class representing a spoiler module that dephases spins.

Parameters
  • dephasingRange (float) – Dephasing range in degrees.

  • totalDuration (float) – Total duration of the module in seconds.

  • gradientDuration (float, optional) – Gradient duration in seconds. Defaults to None.

  • units (SequenceUnits, optional) – The units of the module. Defaults to None.

CastToFloats()

Cast the module’s parameters to floats.

CastToIntegers()

Cast the module’s parameters to integers.

ConvertUnits(targetUnits: mrftools.Types.sequenceUnits.SequenceUnits)

Convert the module’s parameters to the target units.

Parameters

targetUnits (SequenceUnits) – The target units for conversion.

static FromJson(jsonInput)

Create an instance of SpoilerModule from JSON input.

Parameters

jsonInput (dict) – The JSON input data.

Returns

An instance of SpoilerModule.

Return type

SpoilerModule

Simulate(dictionaryEntries, numSpins, device=None, inputMx=None, inputMy=None, inputMz=None)

Simulate the spoiler module.

Parameters
  • dictionaryEntries (dict) – Dictionary containing relaxation parameters.

  • numSpins (int) – Number of spins to simulate.

  • device (torch.device, optional) – The device for simulation. Defaults to None.

  • inputMx (torch.Tensor, optional) – Input magnetization in x direction. Defaults to None.

  • inputMy (torch.Tensor, optional) – Input magnetization in y direction. Defaults to None.

  • inputMz (torch.Tensor, optional) – Input magnetization in z direction. Defaults to None.

Returns

A tuple containing simulation time and magnetization tensors.

Return type

tuple

mrftools.SequenceModules.T2PreparationModule module

class mrftools.SequenceModules.T2PreparationModule.T2PreparationModule(echoTime, rfDuration=0, adiabatic=False, units=None)

Bases: mrftools.SequenceModules.RFPreparationModule.RFPreparationModule

Class representing a T2 preparation module.

Parameters
  • echoTime (float) – Echo time in seconds.

  • rfDuration (float, optional) – RF pulse duration in seconds. Defaults to 0.

  • units (SequenceUnits, optional) – The units of the module. Defaults to None.

CastToFloats()

Cast the module’s parameters to floats.

CastToIntegers()

Cast the module’s parameters to integers.

ConvertUnits(targetUnits: mrftools.Types.sequenceUnits.SequenceUnits)

Convert the module’s parameters to the target units.

Parameters

targetUnits (SequenceUnits) – The target units for conversion.

static FromJson(jsonInput)

Create an instance of T2PreparationModule from JSON input.

Parameters

jsonInput (dict) – The JSON input data.

Returns

An instance of T2PreparationModule.

Return type

T2PreparationModule

Simulate(dictionaryEntries, numSpins, device=None, inputMx=None, inputMy=None, inputMz=None)

Simulate the T2 preparation module.

Parameters
  • dictionaryEntries (dict) – Dictionary containing relaxation parameters.

  • numSpins (int) – Number of spins to simulate.

  • device (torch.device, optional) – The device for simulation. Defaults to None.

  • inputMx (torch.Tensor, optional) – Input magnetization in x direction. Defaults to None.

  • inputMy (torch.Tensor, optional) – Input magnetization in y direction. Defaults to None.

  • inputMz (torch.Tensor, optional) – Input magnetization in z direction. Defaults to None.

Returns

A tuple containing simulation time and magnetization tensors.

Return type

tuple

mrftools.SequenceModules.TRUEFISPAcquisitionModule module

class mrftools.SequenceModules.TRUEFISPAcquisitionModule.TRUEFISPAcquisitionModule(timepoints=[], units=None)

Bases: mrftools.SequenceModules.AcquisitionModule.AcquisitionModule

Class representing a TRUEFISP acquisition module.

Parameters
  • timepoints (np.array, optional) – Array of timepoints. Defaults to [].

  • units (SequenceUnits, optional) – The units of the module. Defaults to None.

static FromJson(jsonInput)

Create an instance of TRUEFISPAcquisitionModule from JSON input.

Parameters

jsonInput (dict) – The JSON input data.

Returns

An instance of TRUEFISPAcquisitionModule.

Return type

TRUEFISPAcquisitionModule

Simulate(dictionaryEntries, numSpins, device=None, inputMx=None, inputMy=None, inputMz=None)

Simulate the TRUEFISP acquisition module.

Parameters
  • dictionaryEntries (dict) – Dictionary containing relaxation parameters.

  • numSpins (int) – Number of spins to simulate.

  • device (torch.device, optional) – The device for simulation. Defaults to None.

  • inputMx (torch.Tensor, optional) – Input magnetization in x direction. Defaults to None.

  • inputMy (torch.Tensor, optional) – Input magnetization in y direction. Defaults to None.

  • inputMz (torch.Tensor, optional) – Input magnetization in z direction. Defaults to None.

Returns

A tuple containing simulation time and magnetization tensors.

Return type

tuple

Module contents

mrftools.SequenceModules.Register(cls)