SIVIC API
0.9.26
|
#include <svkMrsImageFFT.h>
Public Types | |
enum | FFTDomain { SPECTRAL = 0, SPATIAL } |
enum | FFTMode { FORWARD = 0, REVERSE } |
Public Member Functions | |
vtkTypeMacro (svkMrsImageFFT, svkImageInPlaceFilter) | |
void | SetUpdateExtent (int *start, int *end) |
void | SetFFTDomain (FFTDomain domain) |
void | SetFFTMode (FFTMode mode) |
void | SetPreCorrectCenter (bool preCorrectCenter) |
void | SetPostCorrectCenter (bool postCorrectCenter) |
void | SetVoxelShift (double voxelShift[3]) |
void | OnlyUseSelectionBox () |
Public Member Functions inherited from svkImageInPlaceFilter | |
vtkTypeMacro (svkImageInPlaceFilter, vtkImageInPlaceFilter) | |
svkImageData * | GetOutput () |
svkImageData * | GetOutput (int port) |
svkImageData * | GetImageDataInput (int port) |
Static Public Member Functions | |
static svkMrsImageFFT * | New () |
static void | ConvertArrayToImageComplex (vtkDataArray *array, vtkImageComplex *imageComplexArray) |
static void | FFTShift (vtkImageComplex *dataIn, int numPoints) |
static void | IFFTShift (vtkImageComplex *dataIn, int numPoints) |
Protected Member Functions | |
svkMrsImageFFT () | |
~svkMrsImageFFT () | |
virtual int | FillInputPortInformation (int port, vtkInformation *info) |
virtual int | RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
virtual int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
virtual int | RequestDataSpatial (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageFourierFilter *fourierFilter) |
virtual int | RequestDataSpectral (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageFourierFilter *fourierFilter) |
Protected Member Functions inherited from svkImageInPlaceFilter | |
svkImageInPlaceFilter () | |
~svkImageInPlaceFilter () | |
virtual int | FillOutputPortInformation (int vtkNotUsed(port), vtkInformation *info) |
virtual int | FillInputPortInformation (int vtkNotUsed(port), vtkInformation *info) |
Class to apply spectral or spatial FFT. If both spectral and spatial transforms are required, then should be called multiple timw with SetFFTDomain set appropriately.
Based on reconstruction methods developed by Sarah J. Nelson, Ph.D (UCSF).
In development!
enum FFTDomain |
enum FFTMode |
|
protected |
References svkMrsImageFFT::FORWARD, and svkMrsImageFFT::SPECTRAL.
|
protected |
|
static |
Method for converting between vtkDataArrays and vtkImageComplex.
Referenced by svkMrsImageFFT::RequestDataSpectral().
|
static |
Shifts the zero frequency component in output of FFT operation to center of the spectrum. Behaves differently for even and odd data lengths.
Referenced by svkMrsImageFFT::RequestDataSpectral().
|
protectedvirtual |
|
static |
Shifts the zero frequency component from center to origin, for example in preparation for an IFFT. Behaves differently for even and odd data lengths. Assumes that the data is ordered from low to high frequency.
Referenced by svkMrsImageFFT::RequestDataSpectral().
|
static |
void OnlyUseSelectionBox | ( | ) |
|
protectedvirtual |
|
protectedvirtual |
References svkDcmHeader::COL_INDEX, svkMrsImageFFT::FORWARD, svk4DImageData::GetArray(), svkImageData::GetDcmHeader(), svkDcmHeader::GetDimensionIndexVector(), svkDcmHeader::GetDimensionVectorIndexFromCellID(), svkDcmHeader::GetDimensionVectorValue(), svkMrsImageData::GetImage(), svkImageInPlaceFilter::GetImageDataInput(), svkDcmHeader::GetNumberOfCells(), svkDcmHeader::GetNumberOfCoils(), svkDcmHeader::GetNumberOfTimePoints(), svkDcmHeader::GetStringValue(), loopVector, svkMriImageData::New(), svkImageFourierCenter::New(), svkImageLinearPhase::New(), svkDcmHeader::RemoveElement(), svkMrsImageFFT::REVERSE, svkDcmHeader::ROW_INDEX, svkDcmHeader::SetDimensionVectorValue(), svkMrsImageData::SetImage(), svkImageFourierCenter::SetReverseCenter(), svkImageLinearPhase::SetShiftWindow(), svkDcmHeader::SetValue(), and svkDcmHeader::SLICE_INDEX.
Referenced by svkMrsImageFFT::RequestData().
|
protectedvirtual |
References svkMrsImageFFT::ConvertArrayToImageComplex(), svkMrsImageFFT::FFTShift(), svkMrsImageFFT::FORWARD, svkImageData::GetDcmHeader(), svkDcmHeader::GetDimensionIndexVector(), svkDcmHeader::GetDimensionVectorIndexFromCellID(), svkDcmHeader::GetDimensionVectorValue(), svkImageInPlaceFilter::GetImageDataInput(), svkDcmHeader::GetNumberOfCells(), svkDcmHeader::GetSpatialCellIDFromDimensionVectorIndex(), svkMrsImageFFT::IFFTShift(), svk4DImageData::IsIndexInExtent(), svkMrsImageFFT::REVERSE, svkDcmHeader::SetValue(), and svkDcmHeader::SLICE_INDEX.
Referenced by svkMrsImageFFT::RequestData().
|
protectedvirtual |
void SetFFTDomain | ( | FFTDomain | domain | ) |
void SetFFTMode | ( | FFTMode | mode | ) |
void SetPostCorrectCenter | ( | bool | postCorrectCenter | ) |
Should we correct for an offset center after FT?
void SetPreCorrectCenter | ( | bool | preCorrectCenter | ) |
Should we correct for an offset center before FT?
void SetUpdateExtent | ( | int * | start, |
int * | end | ||
) |
Sets the extent over which the phasing should be applied. Takes 2 sets of x,y,z indices that specify the extent range in 3D.
void SetVoxelShift | ( | double | voxelShift[3] | ) |
vtkTypeMacro | ( | svkMrsImageFFT | , |
svkImageInPlaceFilter | |||
) |