tfmri.coils.CoilCompressorSVD

class CoilCompressorSVD(coil_axis=- 1, out_coils=None, variance_ratio=None)[source]

Bases: tensorflow_mri.python.ops.coil_ops._CoilCompressor

SVD-based coil compression.

This class implements the SVD-based coil compression method 1.

Use this class to compress multi-coil k-space data. The method fit must be used first to calculate the coil compression matrix. The method transform can then be used to compress k-space data. If the data to be used for fitting is the same data to be transformed, you can also use the method fit_transform to fit and transform the data in one step.

Parameters
  • coil_axis – An int. Defaults to -1.

  • out_coils

    An int. The desired number of virtual output coils. Cannot be used together with variance_ratio.

  • variance_ratio – A float between 0.0 and 1.0. The percentage of total variance to be retained. The number of virtual coils is automatically selected to retain at least this percentage of variance. Cannot be used together with out_coils.

References

1

Huang, F., Vijayakumar, S., Li, Y., Hertel, S. and Duensing, G.R. (2008). A software channel compression technique for faster reconstruction with many channels. Magn Reson Imaging, 26(1): 133-141.

property explained_variance

The variance explained by each virtual coil.

property explained_variance_ratio

The percentage of variance explained by each virtual coil.

fit(kspace)[source]

Fits the coil compression matrix.

Parameters

kspace – A Tensor. The multi-coil k-space data. Must have type complex64 or complex128.

Returns

The fitted CoilCompressorSVD object.

property singular_values

The singular values associated with each virtual coil.

transform(kspace)[source]

Applies the coil compression matrix to the input k-space.

Parameters

kspace – A Tensor. The multi-coil k-space data. Must have type complex64 or complex128.

Returns

The transformed k-space.