zxhproj v 2.2
zxhproj
|
zxhTransformMultipleAffines.h: interface for all transformations using multiple affine transformations. multiple affine = global affine + local affines More...
#include <zxhTransformMultipleAffines.h>
Public Member Functions | |
zxhTransformMultipleAffines () | |
constructor | |
virtual | ~zxhTransformMultipleAffines () |
deconstructor | |
virtual zxhTransformBase * | Clone (zxhTransformBase *&pRet) |
virtual std::string | GetPrintString () |
local affine could a matrix type, so be careful when using SetTransformFromStream | |
virtual std::string | GetTransformType () |
virtual bool | SetLocalMatrixFromFile (const char *pFile) |
from file | |
virtual bool | SetTransformFromStream (std::ifstream &ifs) |
from stream (all affine, no matrix type) | |
virtual bool | SetTransformIdentity () |
set transformation as a identity transform, affine doesn't change centre | |
virtual bool | SetTransformAlignByCentre (int iCentre) |
virtual bool | SetTransformAlignByCentre (std::string sCentre) |
virtual bool | SetImage (zxhImageData *pTest, zxhImageData *pRef) |
set image then set the rotate centre(Worldical coordinate) to the centre of the test image | |
virtual void | SetLocalAffineRotateCentre (int iLocal, float *afwCenter) |
virtual bool | SetTransformPara (float f) |
operator | |
virtual bool | GetAdd (zxhTransformBase *, zxhTransformBase *) |
A+B. | |
virtual bool | Add (zxhTransformBase *) |
+ | |
virtual bool | GetSubtract (zxhTransformBase *, zxhTransformBase *) |
A-B. | |
virtual bool | Subtract (zxhTransformBase *) |
virtual bool | GetMultiply (zxhTransformBase *, float) |
A*f. | |
virtual bool | Multiply (float) |
*f | |
virtual bool | GetMultiplyByPara (zxhTransformBase *, zxhTransformBase *) |
A*B. | |
virtual bool | MultiplyByPara (zxhTransformBase *) |
*B | |
virtual bool | GetCompareByPara (zxhTransformBase *, float f=0) |
threshold to -1 0 and 1 compare with f | |
virtual bool | CompareByPara (float f=0) |
threshold to -1 0 and 1 compare with f | |
virtual float | GetMagnitudeAsVector (void) |
transformation treated as vector | |
virtual float | GetMaxLocalMagnitudeAndNormalisation (bool bNormalisationByLocalMagnitude) |
for optimisation step length normalisation | |
virtual float | GetMaxAbsValueFromParameters (void) |
virtual float | GetPointMutiplyAsVector (zxhTransformBase *) |
get | |
virtual void | UpdateMatrix () |
Update transformation matrix for linear transformation. | |
virtual int | GetDegreeOfFreedom () |
get transforms DOF | |
virtual int | GetDOFWithValue (float f) |
get parameter value >= f , dof | |
virtual bool | SetLocalAffines (zxhTransformAffine **p) |
virtual bool | SetNoOfLocalAffines (int n) |
Set (reset) number of local affines, without setting type, default affine. | |
virtual bool | SetNoOfLocalMatrix (int n) |
Set (reset) number of local matrix. | |
virtual bool | SetNoOfLocalAffines (int n, zxhTransformAffine *type) |
Set (reset) number of local affines, with type. | |
virtual int | GetNoLocalAffines () |
virtual zxhTransformAffine ** | GetLocalAffines () |
virtual bool | AdvanceStep (zxhTransformBase *p, float f=1) |
for registration optimization | |
virtual int | GetNoParameters () |
virtual float | GetParameters (int index) |
0~3translate 4~7rotate 8~11scaling 12~15center 16~21 skew | |
virtual bool | SetParameterValue (int index, float f) |
virtual void | InitialGradientDifferentialStep (zxhTransformAffine *pGrad, float TranslateScale, float RotateScale, float ScalingScale, float factor=1) |
c. f. zxhTransformAffine, the settings are only for local affines, NOT global | |
virtual void | InitialGradientDifferentialStep (zxhTransformAffine *pGrad, float TranslateScale[], float RotateScale[], float ScalingScale[], float SkewScale, float factor=1) |
virtual bool | ComputeMetricGradient (zxhMetricBase *pMetric, zxhTransformBase *pInfluence=0) |
Protected Member Functions | |
virtual bool | ComputeMetricGradientGlobalAffine (zxhMetricBase *pMetric, zxhTransformBase *pInfluence=0) |
Protected Attributes | |
int | m_nNoLocalAffines |
zxhTransformAffine * | m_apLocalAffines [ZXH_LocalAffineMaxNumber] |
local affines/matrix, every time keep own copies by clone (could be affine or matrix type) |
zxhTransformMultipleAffines.h: interface for all transformations using multiple affine transformations. multiple affine = global affine + local affines
zxhTransformMultipleAffines::zxhTransformMultipleAffines | ( | ) |
constructor
roi region
zxhTransformBase * zxhTransformMultipleAffines::Clone | ( | zxhTransformBase *& | pRet | ) | [virtual] |
Reimplemented from zxhTransformAffine.
Reimplemented in zxhTransformLocalAffines, and zxhTransformLocalAffines2.
bool zxhTransformMultipleAffines::ComputeMetricGradient | ( | zxhMetricBase * | pMetric, |
zxhTransformBase * | pInfluence = 0 |
||
) | [virtual] |
computer gradient, influence control status for optimisation if infl==0, then use m_fDifferentialStep
Reimplemented from zxhTransformAffine.
Reimplemented in zxhTransformLocalAffines.
virtual int zxhTransformMultipleAffines::GetNoParameters | ( | ) | [inline, virtual] |
Get partial differential of transformation [Y1 Y2 Y3]=T(x), with respect to the transformation parameter Ti with index return whether success, results (e.g. 3D, [d(Y1)/d(Ti) d(Y2)/d(Ti) d(Y3)/d(Ti)]) returned in g[4]
Reimplemented from zxhTransformAffine.
virtual std::string zxhTransformMultipleAffines::GetTransformType | ( | ) | [inline, virtual] |
bool zxhTransformMultipleAffines::SetParameterValue | ( | int | index, |
float | f | ||
) | [virtual] |
set transformation parameter value, if the transformation model need pre-computation from parameters for efficiency such as affine, then re-implement this function to call the pre-computation method after set the value
Reimplemented from zxhTransformAffine.
bool zxhTransformMultipleAffines::SetTransformAlignByCentre | ( | int | iCentre | ) | [virtual] |
set pretransformation by aligning the image size centre "centre" (2) or gray level centre "gcentre" (3) test and ref images should be set
Reimplemented from zxhTransformAffine.
bool zxhTransformMultipleAffines::SetTransformFromStream | ( | std::ifstream & | ifs | ) | [virtual] |
from stream (all affine, no matrix type)
set pretransformation by aligning the image size centre "centre" (2) or gray level centre "gcentre" (3) test and ref images should be set default: local affines are Affine (not Matrix) type
Reimplemented from zxhTransformAffine.
Reimplemented in zxhTransformLocalAffines, and zxhTransformLocalAffines2.
bool zxhTransformMultipleAffines::SetTransformPara | ( | float | f | ) | [virtual] |