zxhproj v 2.2
zxhproj

zxhMetricMIFFDSEMI Class Reference

only SEMI, where {S} = MI, no mixture model for fast computation: pre-compute: compute transformation, resample test image for I_f with integer coordinate x, I_f(y) with integer coordinate x, GradientI_r(y)_1/2/3 with interger coordinate x (gradients are projected onto FFD grid) bHupdated(r,f) records whether H(r,f) has been updated, if not H(r,f)=0 only compute MI as {S} no normal MI/NMI (c.f. FFD2); for SEMI, H_s is computed during computation of H_s More...

#include <zxhMetricMIFFDSEMI.h>

Inheritance diagram for zxhMetricMIFFDSEMI:
zxhMetricMIFFD zxhMetricMIConstraint zxhMetricFFDBase zxhMetricMI zxhMetricBase

List of all members.

Public Member Functions

 zxhMetricMIFFDSEMI (void)
 constructor
 ~zxhMetricMIFFDSEMI (void)
virtual std::string GetMetricType ()
virtual zxhMetricBaseClone (zxhMetricBase *&pRet)
virtual int ComputeConstanceForFFDGradient ()
 pre compute:
virtual int GetValue (zxhlfloat &fvalue)
virtual int GetDiffByFFDGrid (float *afPD, zxhTransformFFDBase *pFFDGrid, int *aiCtrPnt, zxhTransformFFDBase *pDifferential)
 Re-implemented: for semi (GetDiffByFFDGridForMMI); for mi (GetFiniteDiffByFFDGrid)

Protected Member Functions

virtual void GetFFDControlPointSupportVolumeTest (float *afSemiRegionTest, float *afCtrVolumeTest, const int aiCtrPnt[])
 re-implement to include local region size of SEMI weighting function as well as FFD support within roi
virtual void ComputeHistAndDerivativeHist (const zxhTransformFFDBase *pFFDGrid, const int *aiCtrPnt, zxhlfloat *pPartialHx, zxhlfloat *pPartialHy, zxhlfloat *pPartialHz, zxhlfloat *pPartialHt, bool *bJointHistogramUpdated)
virtual void ComputeDerivativeMIFromHistAndDerivativeHist (float *afPD, const bool *bJointHistogramUpdated, const zxhlfloat *pPartialHx, const zxhlfloat *pPartialHy, const zxhlfloat *pPartialHz, const zxhlfloat *pPartialHt)

Detailed Description

only SEMI, where {S} = MI, no mixture model for fast computation: pre-compute: compute transformation, resample test image for I_f with integer coordinate x, I_f(y) with integer coordinate x, GradientI_r(y)_1/2/3 with interger coordinate x (gradients are projected onto FFD grid) bHupdated(r,f) records whether H(r,f) has been updated, if not H(r,f)=0 only compute MI as {S} no normal MI/NMI (c.f. FFD2); for SEMI, H_s is computed during computation of H_s


Constructor & Destructor Documentation

zxhMetricMIFFDSEMI::~zxhMetricMIFFDSEMI ( void  )
Returns:

Member Function Documentation

zxhMetricBase * zxhMetricMIFFDSEMI::Clone ( zxhMetricBase *&  pRet) [virtual]
Returns:

Reimplemented from zxhMetricMIFFD.

int zxhMetricMIFFDSEMI::ComputeConstanceForFFDGradient ( ) [virtual]

pre compute:

resample test image for I_f with integer coordinate x; pre-compute transformation; new image I_f(y) with integer coordinate x, GradientI_r(y)_1/2/3 with interger coordinate x

Reimplemented from zxhMetricMIFFD.

virtual int zxhMetricMIFFDSEMI::GetValue ( zxhlfloat &  fValue) [inline, virtual]
Returns:
similarity and number of computed pixel pair

Reimplemented from zxhMetricMIFFD.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs