SIVIC API  0.9.26
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
svkEPSIReorder Class Reference

#include <svkEPSIReorder.h>

Inheritance diagram for svkEPSIReorder:
svkImageInPlaceFilter

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)
 
svkImageDataGetOutput ()
 
svkImageDataGetOutput (int port)
 
svkImageDataGetImageDataInput (int port)
 

Static Public Member Functions

static svkEPSIReorderNew ()
 
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)
 

Detailed Description

This class reorders the EPSI dimension of an EPSI MRS acquisition.

Member Enumeration Documentation

enum EPSIAxis
Enumerator
UNDEFINED_EPSI_AXIS 
COLS 
ROWS 
SLICES 
enum EPSIType
Enumerator
UNDEFINED_EPSI_TYPE 
FLYBACK 
SYMMETRIC 
INTERLEAVED 

Constructor & Destructor Documentation

svkEPSIReorder ( )
protected
~svkEPSIReorder ( )
protected

Clean up any allocated member variables.

Member Function Documentation

void CombineLobes ( svkImageData data)
static
int FillInputPortInformation ( int  port,
vtkInformation *  info 
)
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).

int GetNumEPSIAcquisitions ( )
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.

int GetNumEPSIAcquisitionsPerFID ( )
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.

int GetNumEPSIFrequencyPoints ( )
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 svkEPSIReorder* New ( )
static
int RequestData ( vtkInformation *  request,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector 
)
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   
)

The documentation for this class was generated from the following files: