SIVIC API
0.9.26
|
#include <svkHSVD.h>
Public Types | |
enum | HSVDBehaviorOnError { SET_FILTER_TO_ZERO = 0, SET_SIGNAL_TO_ZERO = 1, IGNORE_ERROR = 2 } |
Static Public Member Functions | |
static svkHSVD * | New () |
Protected Member Functions | |
svkHSVD () | |
~svkHSVD () | |
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 void | ThreadedRequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int extent[6], int threadId) |
Protected Member Functions inherited from svkThreadedImageAlgorithm | |
svkThreadedImageAlgorithm () | |
~svkThreadedImageAlgorithm () | |
virtual int | FillOutputPortInformation (int vtkNotUsed(port), vtkInformation *info) |
virtual int | FillInputPortInformation (int vtkNotUsed(port), vtkInformation *info) |
int | SplitExtent (int splitExt[6], int startExt[6], int num, int total) |
Static Protected Attributes | |
static int * | progress |
.NAME svkHSVD - HSVD and baseline fitting of spectra. .SECTION Description Class to apply HSVD algorithm to model time domain spectrum primarily for removal of unwanted spectral components such as water or fat. This underlying algorithm in this class is based on code implemented by Bjoern Menze, Ph.D (Zurich) and B. Michael Kelm, Ph.D.(Erlangen).
References: Pijnappel WWF, van den Boogart A, de Beer R, van Ormondt D. SVD-based quantification of magnetic resonance signals. J Magn Reson 1992. 97: 122-134
This SIVIC class was developed by: Bjoern Menze, Ph.D. Jason C. Crane, Ph.D. Beck Olson
enum HSVDBehaviorOnError |
|
protected |
References svkHSVD::progress, and svkHSVD::SET_SIGNAL_TO_ZERO.
|
protected |
void AddDampingFilterRule | ( | float | dampingThreshold | ) |
Add a filter rule, defined by a damping value ( entire frequency range)
References svkSpecPoint::ConvertPosUnits(), GetDcmHeader(), svkImageData::GetDcmHeader(), svkThreadedImageAlgorithm::GetImageDataInput(), svkSpecPoint::Hz, svkSpecPoint::New(), svkSpecPoint::PPM, and svkSpecPoint::SetDcmHeader().
void AddFrequencyAndDampingFilterRule | ( | float | frequencyLimit1PPM, |
float | frequencyLimit2PPM, | ||
float | dampingThreshold | ||
) |
Add a filter rule, defined by a frequency range and damping threshold (all frequencies with damping greather than the threshold will be filtered out (fast decaying components). Specify frequency in PPM (order doesn't matter). Filter includes limiting frequencies.
References svkSpecPoint::ConvertPosUnits(), GetDcmHeader(), svkThreadedImageAlgorithm::GetImageDataInput(), svkSpecPoint::Hz, svkSpecPoint::New(), svkSpecPoint::PPM, and svkSpecPoint::SetDcmHeader().
void AddPPMFrequencyFilterRule | ( | float | frequencyLimit1PPM, |
float | frequencyLimit2PPM | ||
) |
Add a filter rule, defined by a frequency range (any damping value). Specify frequency in PPM. Filter includes limiting frequencies.
References svkSpecPoint::ConvertPosUnits(), GetDcmHeader(), svkThreadedImageAlgorithm::GetImageDataInput(), svkSpecPoint::Hz, svkSpecPoint::New(), svkSpecPoint::PPM, and svkSpecPoint::SetDcmHeader().
Referenced by svkHSVD::RemoveH20On(), and svkHSVD::RemoveLipidOn().
void ExportFilterImage | ( | ) |
Make sure output data in the same domain as the input.
|
protectedvirtual |
svkMrsImageData * GetFilterImage | ( | ) |
Make sure output data in the same domain as the input.
svkMriImageData * GetFitSuccessImage | ( | ) |
bool GetFitSuccessStatus | ( | ) |
|
static |
void OnlyFitSpectraInVolumeLocalization | ( | ) |
Default is to fit all voxels.
void RemoveH20On | ( | ) |
Remove H20 from proton spectra (all frequencies downfield of 4.2PPM, i.e. higher PPM).
References svkHSVD::AddPPMFrequencyFilterRule(), svkSpecPoint::ConvertPosUnits(), svkImageData::GetDcmHeader(), svkThreadedImageAlgorithm::GetImageDataInput(), svkSpecPoint::New(), svkSpecPoint::PPM, svkSpecPoint::PTS, and svkSpecPoint::SetDcmHeader().
void RemoveLipidOn | ( | ) |
Remove lipid from proton spectra (all frequencies upfield of 1.8 PPM, i.e. lower PPM).
References svkHSVD::AddPPMFrequencyFilterRule(), svkSpecPoint::ConvertPosUnits(), svkImageData::GetDcmHeader(), svkThreadedImageAlgorithm::GetImageDataInput(), svkDcmHeader::GetIntValue(), svkSpecPoint::New(), svkSpecPoint::PPM, svkSpecPoint::PTS, and svkSpecPoint::SetDcmHeader().
|
protectedvirtual |
vtk algorithm method
References svkImageData::DeepCopy(), svkImageData::GetDcmHeader(), svkDcmHeader::GetDimensionIndexVector(), svkDcmHeader::GetFloatValue(), svkThreadedImageAlgorithm::GetImageDataInput(), svkDcmHeader::GetIntValue(), svkDcmHeader::GetNumberOfCells(), svkMrsImageData::GetSelectionBoxMask(), svk4DImageData::GetZeroImage(), svkMrsImageData::New(), svkMriImageData::New(), svkHSVD::progress, and svkDcmHeader::SetValue().
|
protectedvirtual |
void SetErrorHandlingBehavior | ( | HSVDBehaviorOnError | errBehavior | ) |
Set the error handling behvior type
void SetErrorHandlingFilterToZeroOn | ( | ) |
Sets the error handling behavior such that if a fitting error is detected, the filter for that voxel is set to zero and the output spectrum is set to the original input data. In other words if an error is detected, then no filter is applied to that voxel.
References svkHSVD::SET_FILTER_TO_ZERO.
void SetErrorHandlingIgnoreError | ( | ) |
Sets the error handling behavior such that if a fitting error is detected, the filter is still subtracted even though the quality may be poor. This may be useuful to study the quality of the filter.
References svkHSVD::IGNORE_ERROR.
void SetErrorHandlingSignalToZeroOn | ( | ) |
Sets the error handling behavior such that if a fitting error is detected, the output spectrum for that voxel is set to zero. This is the default error handling behavior.
References svkHSVD::SET_SIGNAL_TO_ZERO.
void SetModelOrder | ( | int | modelOrder | ) |
Number of basis functions in HSVD model (default = 25).
void SetSingleThreaded | ( | ) |
Switch to single threading (relevant for grid submissions)
void SetThresholdModelDifference | ( | float | percentDifferenceUp, |
float | percentDifferenceDown | ||
) |
|
protectedvirtual |
This method is passed a input and output Datas, and executes the filter algorithm to fill the output from the inputs. It just executes a switch statement to call the correct function for the Datas data types.
vtkTypeMacro | ( | svkHSVD | , |
svkThreadedImageAlgorithm | |||
) |
|
staticprotected |
Referenced by svkHSVD::RequestData(), and svkHSVD::svkHSVD().