![]() |
zxhproj v 2.2
zxhproj
|
zxhMetricNV.h: interface for the zxhMetricNV class. metric=1/|v| * sum(cos2) 使用该类需要: setImage 初始化参数: pInterpolator,m_pTransform only for rigid transformation **** TODO NOT implemented in v2.1 zxhtod More...
#include <zxhMetricNV.h>
Public Member Functions | |
| zxhMetricNV () | |
| constructor | |
| virtual | ~zxhMetricNV () |
| destructor | |
| virtual std::string | GetMetricType () |
| GetMetricType()=0. | |
| virtual zxhMetricBase * | Clone (zxhMetricBase *&pRet) |
| virtual std::string | GetPrintString () |
| virtual bool | SetMetricFromStream (std::ifstream &ifs) |
| virtual int | GetValue (zxhlfloat &fValue) |
| virtual bool | SetImage (zxhImageData *pImageTest, zxhImageData *pImageRef) |
| virtual int | GetValueByFFDGrid (zxhlfloat &fValue, int aiCtrPnt[ImageDimensionMax]) |
| virtual int | GetValueFromRegion (zxhlfloat &fValue, float xfWorldFrom, float xfWorldTo, float yfWorldFrom, float yfWorldTo, float zfWorldFrom, float zfWorldTo, float tfWorldFrom, float tfWorldTo) |
| virtual int | ComputeConstanceForFFDGradient () |
| virtual int | GetDiffByFFDGrid (float *afPD, zxhTransformFFDBase *pFFDGrid, int *aiCtrPnt, zxhTransformFFDBase *pDifferential) |
| virtual int | GetDiffByFFDGridOnFFDPhysicalVector (float *afPD, zxhTransformFFDBase *pFFDGrid, int *aiCtrPnt, zxhTransformFFDBase *pDifferential, float *vector) |
| currently using finite difference(no AddFiniteDiffPenaltyByFFDGrid yet) | |
| virtual void | SetSingleModality (bool b) |
| virtual bool | GetSingleModality () |
| zxhImageDataT< float > * | testGetLEMvoxelForceImage () |
| void | testSetNoiseLevel (float f) |
Protected Member Functions | |
| virtual void | SetFFDMetricBase () |
| this function is to remind of setting m_pMetricBase in non-abstract derived class | |
| virtual void | InverseTransformIntensityGradientVector (float fVectorRef[ImageDimensionMax], float fInverseVectorTest[ImageDimensionMax], float *fWorldTest) |
| virtual void | TransformIntensityGradientVectorTo (float fVectorFrom[ImageDimensionMax], float fVectorTo[ImageDimensionMax], float *fWorldFrom) |
| virtual bool | ComputeSigmaFromImageIntensity () |
| virtual float | ComputeConsineThetaAndConfidenceFunction (float gv1[], float gv2[]) |
Protected Attributes | |
| zxhImageDataT< float > | m_imgVoxelForces [ImageDimensionMax] |
| float | m_fSquareSigma [2] |
| float | m_fStaticNoiseLevel |
| bool | m_bSingleModalityRegistration |
| yes a=1, no a=2 in [F(x)*cos]^a, | |
zxhMetricNV.h: interface for the zxhMetricNV class. metric=1/|v| * sum(cos2) 使用该类需要: setImage 初始化参数: pInterpolator,m_pTransform only for rigid transformation **** TODO NOT implemented in v2.1 zxhtod
| zxhMetricBase * zxhMetricNV::Clone | ( | zxhMetricBase *& | pRet | ) | [virtual] |
Reimplemented from zxhMetricBase.
| virtual int zxhMetricNV::ComputeConstanceForFFDGradient | ( | ) | [inline, virtual] |
Consider checking: Mask images, within Ref image volume, and ROI, outside all zeros will compute values of m_imgVoxelForces
Implements zxhMetricFFDBase.
| virtual int zxhMetricNV::GetDiffByFFDGrid | ( | float * | afPD, |
| zxhTransformFFDBase * | pFFDGrid, | ||
| int * | aiCtrPnt, | ||
| zxhTransformFFDBase * | pDifferential | ||
| ) | [inline, virtual] |
Consider checking when weighted sum-up: None, because outliers all zeros
Reimplemented from zxhMetricFFDBase.
| virtual int zxhMetricNV::GetDiffByFFDGridOnFFDPhysicalVector | ( | float * | afPD, |
| zxhTransformFFDBase * | pFFDGrid, | ||
| int * | aiCtrPnt, | ||
| zxhTransformFFDBase * | pDifferential, | ||
| float * | vector | ||
| ) | [inline, virtual] |
currently using finite difference(no AddFiniteDiffPenaltyByFFDGrid yet)
1 compute the current trans on current local volume : FreqCurr, PDFCurr = tatal - currentvolume
2 forward
3 backward
4 return to current position
compute the value
Reimplemented from zxhMetricFFDBase.
| virtual std::string zxhMetricNV::GetPrintString | ( | ) | [inline, virtual] |
Reimplemented from zxhMetricBase.
| virtual int zxhMetricNV::GetValue | ( | zxhlfloat & | fValue | ) | [inline, virtual] |
Implements zxhMetricBase.
| virtual int zxhMetricNV::GetValueByFFDGrid | ( | zxhlfloat & | fValue, |
| int | aiCtrPnt[ImageDimensionMax] | ||
| ) | [inline, virtual] |
for GetDiffByFFDGrid and GetDiffByFFDGridOnFFDPhysicalVector SHOULD be implemented in derived class when using zxhMetricFFDBase::GetDiffByFFDGrid and GetDiffByFFDGridOnFFDPhysicalVector To compute local similarity
Implements zxhMetricFFDBase.
| virtual int zxhMetricNV::GetValueFromRegion | ( | zxhlfloat & | fValue, |
| float | xfWorldFrom, | ||
| float | xfWorldTo, | ||
| float | yfWorldFrom, | ||
| float | yfWorldTo, | ||
| float | zfWorldFrom, | ||
| float | zfWorldTo, | ||
| float | tfWorldFrom, | ||
| float | tfWorldTo | ||
| ) | [inline, virtual] |
Consider checking: Mask images, within Ref image volume; NOT checking: ROI used in GetValueByFFDGrid and GetValue
| virtual bool zxhMetricNV::SetImage | ( | zxhImageData * | pImageTest, |
| zxhImageData * | pImageRef | ||
| ) | [inline, virtual] |
| virtual bool zxhMetricNV::SetMetricFromStream | ( | std::ifstream & | ifs | ) | [inline, virtual] |
Reimplemented from zxhMetricBase.