SIVIC API
0.9.26
|
#include <svkEPSIReorder.h>
Public Types | |
enum | EPSIType { UNDEFINED_EPSI_TYPE = 0, FLYBACK, SYMMETRIC, INTERLEAVED } |
enum | EPSIAxis { UNDEFINED_EPSI_AXIS = -1, COLS, ROWS, SLICES } |
Public Member Functions | |
vtkTypeMacro (svkEPSIReorder, svkImageInPlaceFilter) | |
void | SetEPSIType (svkEPSIReorder::EPSIType epsiType) |
void | SetNumEPSILobes (int numLobes) |
void | SetNumSamplesPerLobe (int numSamples) |
int | GetNumSamplesPerLobe () |
void | SetFirstSample (int firstSample) |
void | SetNumSamplesToSkip (int numSamplesToSkip) |
void | SetEPSIAxis (svkEPSIReorder::EPSIAxis epsiAxis) |
svkEPSIReorder::EPSIAxis | GetEPSIAxis () |
virtual int | GetNumEPSIAcquisitions () |
virtual int | GetNumEPSIAcquisitionsPerFID () |
virtual int | GetNumEPSIFrequencyPoints () |
Public Member Functions inherited from svkImageInPlaceFilter | |
vtkTypeMacro (svkImageInPlaceFilter, vtkImageInPlaceFilter) | |
svkImageData * | GetOutput () |
svkImageData * | GetOutput (int port) |
svkImageData * | GetImageDataInput (int port) |
Static Public Member Functions | |
static svkEPSIReorder * | New () |
static void | CombineLobes (svkImageData *data) |
Protected Member Functions | |
svkEPSIReorder () | |
~svkEPSIReorder () | |
virtual int | FillInputPortInformation (int port, vtkInformation *info) |
virtual int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
Protected Member Functions inherited from svkImageInPlaceFilter | |
svkImageInPlaceFilter () | |
~svkImageInPlaceFilter () | |
virtual int | FillOutputPortInformation (int vtkNotUsed(port), vtkInformation *info) |
virtual int | FillInputPortInformation (int vtkNotUsed(port), vtkInformation *info) |
This class reorders the EPSI dimension of an EPSI MRS acquisition.
enum EPSIAxis |
enum EPSIType |
|
protected |
Constructor. Initialize any member variables.
References svkEPSIReorder::UNDEFINED_EPSI_AXIS, svkEPSIReorder::UNDEFINED_EPSI_TYPE, UNDEFINED_NUM_LOBES, and UNDEFINED_NUM_SAMPLES.
|
protected |
Clean up any allocated member variables.
|
static |
Static method to compute sum of squares combination of lobes
References svkDcmHeader::EPSI_ACQ_INDEX, svk4DImageData::GetArrayName(), svkDcmHeader::GetCellIDFromDimensionVectorIndex(), svkImageData::GetDcmHeader(), svkDcmHeader::GetDimensionIndexVector(), svkDcmHeader::GetDimensionVectorIndexFromCellID(), svkDcmHeader::GetDimensionVectorValue(), svkDcmHeader::GetIntValue(), svkDcmHeader::GetNumberOfCells(), loopVector, svkDcmHeader::RemoveDimensionIndex(), and svkDcmHeader::SetDimensionVectorValue().
|
protectedvirtual |
Set the input data type, e.g. svkMrsImageData for an MRS algorithm.
svkEPSIReorder::EPSIAxis GetEPSIAxis | ( | ) |
Get the axis index corresponding to the EPSI encoding (0,1 or 2).
|
virtual |
Virtual method that returns the number of acquisitions in the sequence. For example symmetric EPSI contains 2, one during the positive gradient and one during the negative gradient.
References svkEPSIReorder::FLYBACK, svkEPSIReorder::INTERLEAVED, svkEPSIReorder::SYMMETRIC, and svkEPSIReorder::UNDEFINED_EPSI_TYPE.
|
virtual |
Virtual method that returns the number of acquisitions in each FID 1, except for symmetric which has interleaved pos/neg lobes.
References svkEPSIReorder::FLYBACK, svkEPSIReorder::INTERLEAVED, svkEPSIReorder::SYMMETRIC, and svkEPSIReorder::UNDEFINED_EPSI_TYPE.
|
virtual |
Virtual method that returns the number of spec frequency points in the acquisition. May be reimplemented for specific EPSI acquisitions.
References svkEPSIReorder::FLYBACK, svkEPSIReorder::INTERLEAVED, svkEPSIReorder::SYMMETRIC, and svkEPSIReorder::UNDEFINED_EPSI_TYPE.
int GetNumSamplesPerLobe | ( | ) |
Get the number of lobes in the EPSI acquisition. If the number of samples per lobe has not been explicitly set via SetNumEPSISamplesPerLobe, then infer it by dividing the number of samples in the entire EPSI waveform by the number of lobes.
References svkImageData::GetDcmHeader(), svkImageInPlaceFilter::GetImageDataInput(), svkDcmHeader::GetIntValue(), UNDEFINED_NUM_LOBES, and UNDEFINED_NUM_SAMPLES.
|
static |
Referenced by svkGEPFileMapper::ReorderEPSI().
|
protectedvirtual |
This method is called during pipeline execution. Calculates the 2D array of linear phase correction factors, which are a function of the epsi k-space index, as well as the spectral index. Applies these to all spectra in data set to generate a rectilinear spectral/spatial (k-space, time-domain) data set.
References svkImageInPlaceFilter::GetImageDataInput(), svkEPSIReorder::UNDEFINED_EPSI_AXIS, svkEPSIReorder::UNDEFINED_EPSI_TYPE, and UNDEFINED_NUM_LOBES.
void SetEPSIAxis | ( | svkEPSIReorder::EPSIAxis | epsiAxis | ) |
Set the axis index corresponding to the EPSI encoding (0,1 or 2).
Referenced by svkGEPFileMapper::ReorderEPSI().
void SetEPSIType | ( | svkEPSIReorder::EPSIType | epsiType | ) |
Set the type of EPSI sequence
Referenced by svkGEPFileMapper::ReorderEPSI().
void SetFirstSample | ( | int | firstSample | ) |
Set the first sample to read when reordering the EPSI data. A few samples may be skipped at the begining. To include the first point set to 0 (default).
Referenced by svkGEPFileMapper::ReorderEPSI().
void SetNumEPSILobes | ( | int | numLobes | ) |
Set the number of lobes in the EPSI acquisition
Referenced by svkGEPFileMapper::ReorderEPSI().
void SetNumSamplesPerLobe | ( | int | numSamplesPerLobe | ) |
Set the number of lobes in the EPSI acquisition
void SetNumSamplesToSkip | ( | int | numSamplesToSkip | ) |
Set the number of samples to skip between lobes. Different from the initial offset (firstSample). This is 0 by default.
Referenced by svkGEPFileMapper::ReorderEPSI().
vtkTypeMacro | ( | svkEPSIReorder | , |
svkImageInPlaceFilter | |||
) |