registration similarity measurement the derivative is computed in gradient object 2010-May-14 add: consider weight function for pixel: m_pWeightModelTest(Ref), GetWeightByWorld; No mask: 1, outlier: 0;  
More...
Public Member Functions | 
| 
  | zxhMetricBase () | 
|   | constructor 
  | 
| virtual  | ~zxhMetricBase () | 
| virtual zxhMetricBase *  | Clone (zxhMetricBase *&pRet) | 
| 
virtual std::string  | GetMetricType ()=0 | 
|   | GetMetricType()=0. 
  | 
| 
virtual bool  | IsThisMetricType (std::string s) | 
| 
virtual bool  | IsThisMetricType (zxhMetricBase *pm) | 
| 
virtual bool  | SetImage (zxhImageData *pImageTest, zxhImageData *pImageRef) | 
|   | 1) set image ; 2) set dimension; 3) set sampling to be consistent 
  | 
| virtual bool  | SetMaskImage (zxhImageData *pMaskTest, zxhImageData *pMaskRef) | 
| 
virtual zxhImageData *  | GetMaskImageTest () | 
| 
virtual zxhImageData *  | GetMaskImageRef () | 
| 
virtual bool  | GetMaskByWorld (zxhImageData *pMaskImage, float fx, float fy, float fz, float ft) | 
|   | pixels outside of mask are regarded as background 
  | 
| 
virtual float  | GetWeightByWorld (zxhImageModelingBaseT< float, float > *pWeightModel, float fx, float fy, float fz, float ft) | 
|   | pixels outside of mask are regarded as background 
  | 
| virtual zxhImageData *  | GetTestImage () | 
| virtual zxhImageData *  | GetRefImage () | 
virtual zxhImageModelingBaseT 
< float, float > *  | GetWegihtModelRef () | 
virtual zxhImageModelingBaseT 
< float, float > *  | GetWegihtModelTest () | 
| virtual void  | SetWeightModelRef (zxhImageModelingBaseT< float, float > *p) | 
| 
virtual void  | SetWeightModelTest (zxhImageModelingBaseT< float, float > *p) | 
| virtual bool  | SetImageModelingType (zxhImageModelingBase *pModelingTest, zxhImageModelingBase *pModelingRef) | 
| virtual bool  | SetTransform (zxhTransformBase *pTr) | 
| virtual bool  | SetForwardComposedTransform (zxhTransformBase *p) | 
| 
virtual zxhTransformBase *  | GetForwardComposedTransform () | 
| virtual zxhTransformBase *  | GetTransform () | 
| 
virtual void  | SetDimension (int i) | 
|   | normall dimension is same to image's, but not guaranteed 
  | 
| virtual int  | GetDimension () | 
| virtual void  | SetSamplingPhysical (float x, float y=1.0f, float z=1.0f, float t=1.0f) | 
| virtual const float *  | GetSamplingInterval () | 
| 
virtual const float *  | GetSamplingPhysical () | 
| virtual int  | GetValue (zxhlfloat &fValue)=0 | 
| virtual std::string  | GetPrintString () | 
| virtual bool  | SetMetricFromStream (std::ifstream &ifs) | 
| 
virtual bool  | GetWorldRoiFrom (float f[]) | 
|   | has been set ? 
  | 
| 
virtual bool  | GetWorldRoiTo (float f[]) | 
| 
virtual bool  | SetWorldRoi (float xf, float xt, float yf, float yt, float zf, float zt, float tf, float tt) | 
|   | this function just record the two corner points, DO NOT guarantee from < to 
  | 
| virtual bool  | GetInnerRoiTest (float from[], float to[]) | 
| 
virtual bool  | WithinWorldROI (float wx, float wy, float wz, float wt) | 
| virtual void  | PreComputeTransformField () | 
| 
virtual void  | ResampleTestImagesSpacingPhysIntervel () | 
|   | resample test image, and then update SampleIntervel to 1 ; for the use of pre-transform in FFD and FFD2 
  | 
| 
virtual void  | ResampleImagesSpacingPhysIntervel () | 
Protected Member Functions | 
| virtual bool  | TransformPointTo (float *from, float *to) | 
| 
virtual void  | TransformWorldToWorld (const float *fromWorld, float *toWorld) | 
| virtual bool  | TransformPointToWorldUsingPreComputed (int x, int y, int z, int t, float wto[]) | 
Protected Attributes | 
| int  | m_iDimension | 
| zxhImageData *  | m_pImageTest | 
| zxhImageData *  | m_pImageRef | 
| zxhImageData *  | m_pMaskTest | 
| zxhImageData *  | m_pMaskRef | 
zxhImageModelingBaseT< float,  
float > *  | m_pWeightModelTest | 
zxhImageModelingBaseT< float,  
float > *  | m_pWeightModelRef | 
| 
zxhImageModelingBase *  | m_pModelingTest | 
|   | 2010-12-22: model will new an object when setting model, and delete when the object is deleted 
  | 
| zxhImageModelingBase *  | m_pModelingRef | 
| zxhTransformBase *  | m_pTransform | 
| zxhTransformBase *  | m_pForwardComposedTransform | 
| 
float  | m_afSamplingInterval [ImageDimensionMax] | 
|   | sampling, image grids, when resample test image to m_afSamplingPhysical spacing, sampling interval then equal 1 
  | 
| 
float  | m_afSamplingPhysical [ImageDimensionMax] | 
|   | sampling, image grids 
  | 
| 
float  | m_afRoiWorld [2][ImageDimensionMax] | 
|   | the two vertex of roi in world coordinate, NOT guarantee from<to when use this, please convert to test image grid coordinate 
  | 
| 
bool  | m_bSetRoiWorld | 
|   | if this is true, then use m_afRoiWorld directly 
  | 
| 
zxhImageData  | m_imgRefImageOnXindex | 
|   | pre-compute: I_f with integer coordinate x -- m_pImageTest; I_f(y) with integer coordinate x-- m_imgMMIrefImage 
  | 
| 
zxhImageData  | m_imgMaskTestRefOnXindex | 
|   | include outliers of imageref, masktest, and maskref 
  | 
| 
zxhImageDataT< float >  | m_aimgRefGradientOnXindex [ImageDimensionMax] | 
|   | GradientI_r(y)_1/2/3 with interger coordinate x. 
  | 
| 
zxhImageDataT< float >  | m_aimgPreComputeTransformToWorld [ImageDimensionMax] | 
|   | should be same dim, size, spacing as m_pImageTest; not displacement, but toworld 
  | 
| 
bool  | m_bPreComputeTransformToWorld | 
registration similarity measurement the derivative is computed in gradient object 2010-May-14 add: consider weight function for pixel: m_pWeightModelTest(Ref), GetWeightByWorld; No mask: 1, outlier: 0;