SIVIC API
0.9.26
|
#include <svkMultiCoilPhase.h>
Public Member Functions | |
vtkTypeMacro (svkMultiCoilPhase, svkImageInPlaceFilter) | |
float | PhaseBySymmetry (vtkFloatArray *spectrum, int peakMaxPtIn, int peakStartPtIn, int peakStopPtIn) |
float | CalculateCenterPhase (int timePt, int coilNum) |
Public Member Functions inherited from svkImageInPlaceFilter | |
vtkTypeMacro (svkImageInPlaceFilter, vtkImageInPlaceFilter) | |
svkImageData * | GetOutput () |
svkImageData * | GetOutput (int port) |
svkImageData * | GetImageDataInput (int port) |
Static Public Member Functions | |
static svkMultiCoilPhase * | New () |
Protected Member Functions | |
svkMultiCoilPhase () | |
~svkMultiCoilPhase () | |
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) |
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 a per channel phase factor to spectra prior to combining multi-coil data to achieve constructive addition of data from individual coils. References and Acknowledgments: Sarah J. Nelson, ISMRM abstract (Wei et al) k.Hammond.
|
protected |
References svkPhaseSpec::New().
|
protected |
float CalculateCenterPhase | ( | int | timePt, |
int | coilNum | ||
) |
Finds the average phase of the center 8 voxels (or 1 voxel for single voxel data).
References svkImageData::GetDcmHeader(), svkImageInPlaceFilter::GetImageDataInput(), svkMrsImageData::GetNumberOfChannels(), svkDcmHeader::GetNumberOfTimePoints(), svk4DImageData::GetNumberOfVoxels(), and svkMultiCoilPhase::PhaseBySymmetry().
Referenced by svkMultiCoilPhase::RequestData().
|
protectedvirtual |
|
static |
float PhaseBySymmetry | ( | vtkFloatArray * | spectrum, |
int | peakMaxPtIn, | ||
int | peakStartPtIn, | ||
int | peakStopPtIn | ||
) |
Returns the phase of the peak at the specified position determined by maximizing the real component symmetry: left and right side should have equivalent positive integrals.
References svkImageInPlaceFilter::GetImageDataInput(), svkSpecUtils::GetMagnigutude(), and svkSpecUtils::PhaseSpectrum().
Referenced by svkMultiCoilPhase::CalculateCenterPhase(), and svkMultiCoilPhase::RequestData().
|
protectedvirtual |
Algorithm needs to
for each of central voxels: Find peak from mag spec and calc its phase: use smoothed magnitude spectrum to find maximum point (sub est_peakmagmax) get phase angle at max pos: a0 = 180.0 * atan2(aimag(r(imax)),real(r(imax)))/3.14159 now estimate the peak sym: call est_peaksym(ncol,r,rback,s1pos,s2pos,imax,a1,nsmooth) -> see csi_subs_v6.f
References svkMultiCoilPhase::CalculateCenterPhase(), svkImageData::GetDcmHeader(), svkImageInPlaceFilter::GetImageDataInput(), svkDcmHeader::GetNumberOfCoils(), svkDcmHeader::GetNumberOfTimePoints(), svkImageData::GetNumberOfVoxels(), svkImageInPlaceFilter::GetOutput(), svkPhaseSpec::New(), svkMultiCoilPhase::PhaseBySymmetry(), svkPhaseSpec::SetChannel(), svkPhaseSpec::SetPhase0(), and svkPhaseSpec::SetUpdateExtent().
|
protectedvirtual |
vtkTypeMacro | ( | svkMultiCoilPhase | , |
svkImageInPlaceFilter | |||
) |