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 minimizingstd(time_series') / mean(time_series')
wheretime_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'¶