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

#include <svkSpecUtils.h>

Inheritance diagram for svkSpecUtils:

Public Member Functions

 vtkTypeMacro (svkSpecUtils, vtkObject)
 

Static Public Member Functions

static float GetMagnigutude (vtkFloatArray *spectrum, int point)
 
static void PhaseSpectrum (vtkFloatArray *spectrum, float phase, int point, float phasedPoint[2])
 
static float GetChemicalShiftReference ()
 
static float GetPPMRef (float transmitFreq, float freqOffset=0, float temp=svkSpecUtils::BODY_TEMPERATURE)
 
static void CreateLinearPhaseShiftArray (int N, vtkImageComplex *phaseArray, double shift)
 
static void CreateLinearPhaseShiftArray (int N, vtkImageComplex *phaseArray, double shift, int origin)
 
static string GetNucleus (float transmitFreq, float fieldStrength)
 
static float GetFieldStrength (string nucleus, float transmitFreq)
 

Static Public Attributes

static const float ZERO_KELVIN = 273.0
 
static const float H2O_Y_INTERCEPT = 7.83
 
static const float H2O_SLOPE = 96.9
 
static const float BODY_TEMPERATURE = 36.6
 
static const float GAMMA_1H = 42.576
 
static const float GAMMA_13C = 10.705
 
static const float GAMMA_31P = 17.235
 
static const float GAMMA_19F = 40.053
 
static const float GAMMA_15N = -4.316
 

Detailed Description

Static utility methods for swapping bytes.

Member Function Documentation

void CreateLinearPhaseShiftArray ( int  N,
vtkImageComplex *  phaseArray,
double  shift 
)
static
void CreateLinearPhaseShiftArray ( int  N,
vtkImageComplex *  phaseArray,
double  shift,
int  origin 
)
static

This method takes an array of N, vtkImageComplex values, where vtkImageComplex is a struct with a double real and double imaginary component representing a single complex value. The function applies a linear phase correction to the values with pivot given by the origin (middle index of array) and linear factor that increments by 2*pi/N. An additional phase shift may be applied (e.g. for voxel shifting origin. On output the vtkImageComplex variable phaseArray contains the phase factors to be applied to each point.

static float GetChemicalShiftReference ( )
static
float GetFieldStrength ( string  nucleus,
float  transmitFreq 
)
static

GetFieldStrength parameters: transmitter frequency (MHz) nucleus

References svkSpecUtils::GAMMA_13C, svkSpecUtils::GAMMA_15N, svkSpecUtils::GAMMA_19F, svkSpecUtils::GAMMA_1H, and svkSpecUtils::GAMMA_31P.

Referenced by svkPhilipsSMapper::InitMRSpectroscopyModule().

float GetMagnigutude ( vtkFloatArray *  spectrum,
int  point 
)
static

Returns the magnitude of the complex spectrum at the specified point.

Referenced by svkMultiCoilPhase::PhaseBySymmetry().

string GetNucleus ( float  transmitFreq,
float  fieldStrength 
)
static

Determines the nucleus based on the computed value of gamma determined from the input parameters: transmitter frequency (MHz) field strength (Gauss)

R C Weast, M J Astle, ed. (1982). Handbook of Chemistry and Physics. Boca Raton: CRC Press. p. E66. ISBN 0-8493-0463-6.

References svkSpecUtils::GAMMA_13C, svkSpecUtils::GAMMA_15N, svkSpecUtils::GAMMA_19F, svkSpecUtils::GAMMA_1H, and svkSpecUtils::GAMMA_31P.

float GetPPMRef ( float  transmitFreq,
float  freqOffset = 0,
float  temp = svkSpecUtils::BODY_TEMPERATURE 
)
static

Returns the proton chemical shift of the center of the spectrum at given frequency and temperature (default is body temperature). Based on the linear relationship between the chemical shift of water and temperature. freqOffset is the number of Hz that the center is offset from water transmitFreq is in Hz. temp is in degrees Celcius.

References svkSpecUtils::BODY_TEMPERATURE, svkSpecUtils::H2O_SLOPE, svkSpecUtils::H2O_Y_INTERCEPT, and svkSpecUtils::ZERO_KELVIN.

Referenced by svkGEPFileMapper::GetPPMRef().

void PhaseSpectrum ( vtkFloatArray *  spectrum,
float  phase,
int  point,
float  phasedPoint[2] 
)
static

Applies the specified phase (in degrees) to the complex spectrum at the specified point.

Referenced by svkMultiCoilPhase::PhaseBySymmetry().

vtkTypeMacro ( svkSpecUtils  ,
vtkObject   
)

Member Data Documentation

const float BODY_TEMPERATURE = 36.6
static

Referenced by svkSpecUtils::GetPPMRef().

const float GAMMA_13C = 10.705
static
const float GAMMA_15N = -4.316
static
const float GAMMA_19F = 40.053
static
const float GAMMA_1H = 42.576
static
const float GAMMA_31P = 17.235
static
const float H2O_SLOPE = 96.9
static

Referenced by svkSpecUtils::GetPPMRef().

const float H2O_Y_INTERCEPT = 7.83
static

Referenced by svkSpecUtils::GetPPMRef().

const float ZERO_KELVIN = 273.0
static

Referenced by svkSpecUtils::GetPPMRef().


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