|  | zxhproj v 2.2 zxhproj | 
This class is used for multi-rigid transformations, the first, index 0, is for MR the rest (n-1) are for echo images, respectively. To access the rigid transformation, use GetMRRigidTransform(void), GetEchoRigidTransform(index_of_echo) to get the transformation matrix from Echo to MR use GetMatrixFromEcho2MR(index_of_echo) CAN NOT be used as A transformation type for transforming AN image, ad hoc class To use as storage for transformation, SetDimension,SetNoOfRigidTransform first. More...
#include <zxhTransformMultiRigid.h>
 
  
 | Public Member Functions | |
| virtual std::string | GetTransformType () | 
| virtual zxhTransformBase * | Clone (zxhTransformBase *&pRet) | 
| if pRet==0, new one object in method of clone | |
| virtual bool | SetDimension (int i) | 
| 专门为把Transform当作导数类型用在梯度下降算法中 | |
| virtual std::string | GetPrintString (void) | 
| and read by SetTransformFromFile | |
| virtual bool | SetTransformFromStream (std::ifstream &ifs) | 
| read transformation from stream, donot care the comments | |
| virtual void | TransformWorldToWorld (const float fVectorFromWorld[ImageDimensionMax], float fVectorToWorld[ImageDimensionMax]) | 
| virtual bool | SetTransformIdentity () | 
| set transformation as a identity transform | |
| virtual int | GetNoParameters () | 
| virtual float | GetParameters (int index) | 
| virtual bool | SetParameterValue (int index, float f) | 
| virtual bool | SetNoOfRigidTransform (int n) | 
| n = 1_for_MR+ (n-1)_for_echos | |
| virtual int | GetNoOfRigidTransform (void) | 
| virtual int | GetNoOfEchoRigidTransform (void) | 
| virtual int | GetNoOfMRRigidTransform (void) | 
| virtual zxhTransformAffine * | GetRigidTransform (int index) | 
| virtual zxhTransformAffine * | GetEchoTransform (int index) | 
| virtual zxhTransformAffine * | GetMRTransform (int index=0) | 
| virtual bool | GetMatrixFromEcho2MR (int index, zxhTransformMatrix *pMatrix) | 
| virtual float | GetMaxLocalMagnitudeAndNormalisation (bool bNormalisationByLocalMagnitude) | 
| Protected Attributes | |
| zxhTransformAffine | m_aMREchoRigidTransform [ZXH_MAXMULTIRIGID] | 
| int | m_nNoOfRigidTransform | 
| number of rigid transformations used | |
This class is used for multi-rigid transformations, the first, index 0, is for MR the rest (n-1) are for echo images, respectively. To access the rigid transformation, use GetMRRigidTransform(void), GetEchoRigidTransform(index_of_echo) to get the transformation matrix from Echo to MR use GetMatrixFromEcho2MR(index_of_echo) CAN NOT be used as A transformation type for transforming AN image, ad hoc class To use as storage for transformation, SetDimension,SetNoOfRigidTransform first.
| bool zxhTransformMultiRigid::GetMatrixFromEcho2MR | ( | int | index, | 
| zxhTransformMatrix * | pMatrix | ||
| ) |  [virtual] | 
return the matrix for echo images, index=1...m_nNoOfRigidTransform-1 which is T(echo,index)*INV(T(MR)) if index==0, error
| float zxhTransformMultiRigid::GetMaxLocalMagnitudeAndNormalisation | ( | bool | bNormalisationByLocalMagnitude | ) |  [virtual] | 
------ transformation ----------- ///// for optimisation step length normalisation
Reimplemented from zxhTransformBase.
| virtual int zxhTransformMultiRigid::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]
Implements zxhTransformBase.
| virtual std::string zxhTransformMultiRigid::GetTransformType | ( | ) |  [inline, virtual] | 
zxhTransformBase needed return image type string in upper case, currently have
Reimplemented from zxhTransformBase.
| bool zxhTransformMultiRigid::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
Implements zxhTransformBase.
| zxhTransformAffine zxhTransformMultiRigid::m_aMREchoRigidTransform[ZXH_MAXMULTIRIGID]  [protected] | 
rigid transformations, m_aMREchoRigidTransform[0...ZXH_NUMBERMRTRANSFORM-1] is for transformation from echo to common space, m_aMREchoRigidTransform[ZXH_NUMBERMRTRANSFORM,...,m_nNoOfRigidTransform-1] are for echo images to common space