zxhproj v 2.2
zxhproj
|
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>
Public Member Functions | |
zxhMetricMIFFDSEMI (void) | |
constructor | |
~zxhMetricMIFFDSEMI (void) | |
virtual std::string | GetMetricType () |
virtual zxhMetricBase * | Clone (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) |
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
zxhMetricMIFFDSEMI::~zxhMetricMIFFDSEMI | ( | void | ) |
zxhMetricBase * zxhMetricMIFFDSEMI::Clone | ( | zxhMetricBase *& | pRet | ) | [virtual] |
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] |
Reimplemented from zxhMetricMIFFD.