mct.reconstruction_methods package

Submodules

mct.reconstruction_methods.STARC module

class mct.reconstruction_methods.STARC.STARC(channels, x0=None, cl_device_ind=None, **kwargs)[source]

Bases: mct.reconstruction.SliceBySliceReconstructionMethod

Reconstruct the input using the STARC method.

Parameters:
  • channels (list) – the list of input nifti files, one for each channel element. Every nifti file should be a 4d matrix with on the 4th dimension all the time series. The length of this list should equal the number of input channels.
  • x0 (ndarray or str) – optional, the set of weights to use as a starting point for the fitting routine.
  • cl_device_ind (int or list of int) – the list of indices into mct.utils.get_cl_devices() that you want to use for the OpenCL based optimization.
command_line_info = '\nThe STARC (STAbility-weighted Rf-coil Combination) method [1] reconstructs EPI acquisitions using a weighted sum of the input channels. The weights are chosen such that the reconstruction has optimal tSNR.\n\nRequired args:\n None\n\nOptional keyword args:\n starting_points="<nifti_file>" - the starting point for the optimization routine\n\nReferences:\n * Simple approach to improve time series fMRI stability: STAbility-weighted Rf-coil Combination (STARC), L. Huber et al. ISMRM 2017 abstract #0586.\n'
mct.reconstruction_methods.STARC.get_starc_objective_func(voxel_data)[source]

Create the STARC objective function used by MOT.

This model maximizes the tSNR (tSNR = mean(time_series') / std(time_series')) by minimizing 1/tSNR, or, in other words by minimizing std(time_series') / mean(time_series') where time_series' is given by the weighted sum of the provided time series over the channels.

The model parameters are a set of weights with, for every voxel, one weight per coil element. The weights are constrained to be between [0, 1] as such that the sum of the weights equals one.

Model output is an ndarray (nmr_voxels, nmr_channels) holding the optimized weights for each of the voxels.

Parameters:voxel_data (ndarray) – a 3d matrix with (nmr_voxels, nmr_volumes, nmr_channels).

mct.reconstruction_methods.rCovSoS module

class mct.reconstruction_methods.rCovSoS.rCovSoS(channels, covariance_noise_matrix, **kwargs)[source]

Bases: mct.reconstruction.SliceBySliceReconstructionMethod

Instantiate the rCovSos method.

This will do a cholesky decomposition on the input covariance noise matrix, inverts it and takes the transpose. We then take per voxel the dot product of the signals with this resulting matrix.

Parameters:
  • channels (list) – the list of input nifti files, one for each channel element. Every nifti file should be a 4d matrix with on the 4th dimension all the time series. The length of this list should equal the number of input channels.
  • covariance_noise_matrix (str or ndarray) – the corresponding noise matrix to use. If a string is given it is supposed to be a nifti file path.
command_line_info = '\nRoot of the Covariance Sum Of Squares reconstruction [Triantafyllou 2016 and Pruesmann 2008].\n\nRequired args:\n Covariance noise matrix (complex square matrix with dimension (N, N) with N equal to the number of channels)\n\nOptional keyword args:\n None\n'

mct.reconstruction_methods.rSoS module

class mct.reconstruction_methods.rSoS.rSoS(channels, **kwargs)[source]

Bases: mct.reconstruction.SliceBySliceReconstructionMethod

Create a basic reconstruction method initialized with the given data and settings.

Parameters:
  • channels (list) – the list of input nifti files, one for each channel element. Every nifti file should be a 4d matrix with on the 4th dimension the time series. The length of this list equals the number of channels.
  • slicing_axis (int) – the (x,y,z) axis over which we will loop to reconstruct the volumes. 0=x, 1=y, 2=z.
command_line_info = '\nTypical root Sum Of Squares reconstruction.\n\nRequired args:\n None\n\nOptional keyword args:\n None\n'

Module contents