Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MITKTRANSFORMPARAMETERS_H
00019 #define MITKTRANSFORMPARAMETERS_H
00020
00021 #include <itkObjectFactory.h>
00022 #include "MitkRigidRegistrationExports.h"
00023 #include <itkArray.h>
00024 #include "mitkCommon.h"
00025
00026 namespace mitk {
00027
00028
00045 class MITK_RIGIDREGISTRATION_EXPORT TransformParameters : public itk::Object
00046 {
00047 public:
00048 mitkClassMacro(TransformParameters, ::itk::Object);
00049 itkNewMacro(Self);
00050
00054 enum TransformType {
00055 TRANSLATIONTRANSFORM = 0,
00056 SCALETRANSFORM = 1,
00057 SCALELOGARITHMICTRANSFORM = 2,
00058 AFFINETRANSFORM = 3,
00059 FIXEDCENTEROFROTATIONAFFINETRANSFORM = 4,
00060 RIGID3DTRANSFORM = 5,
00061 EULER3DTRANSFORM = 6,
00062 CENTEREDEULER3DTRANSFORM = 7,
00063 QUATERNIONRIGIDTRANSFORM = 8,
00064 VERSORTRANSFORM = 9,
00065 VERSORRIGID3DTRANSFORM = 10,
00066 SCALESKEWVERSOR3DTRANSFORM = 11,
00067 SIMILARITY3DTRANSFORM = 12,
00068 RIGID2DTRANSFORM = 13,
00069 CENTEREDRIGID2DTRANSFORM = 14,
00070 EULER2DTRANSFORM = 15,
00071 SIMILARITY2DTRANSFORM = 16,
00072 CENTEREDSIMILARITY2DTRANSFORM = 17
00073 };
00074
00078 itkSetMacro( Transform, int );
00082 itkGetMacro( Transform, int );
00083
00089 void SetScales(itk::Array<double> scales);
00095 itk::Array<double> GetScales();
00096
00100 void SetInitialParameters(itk::Array<double> initialParameters);
00104 itk::Array<double> GetInitialParameters();
00105
00111 itkSetMacro( TransformInitializerOn, bool );
00117 itkGetMacro( TransformInitializerOn, bool );
00118
00124 itkSetMacro( MomentsOn, bool );
00130 itkGetMacro( MomentsOn, bool );
00131
00138 itkSetMacro( UseOptimizerScales, bool );
00145 itkGetMacro( UseOptimizerScales, bool );
00146
00150 itkSetMacro( Angle, float );
00154 itkGetMacro( Angle, float );
00155
00159 itkSetMacro( Scale, float );
00163 itkGetMacro( Scale, float );
00164
00168 itkSetMacro( TransformCenterX, double );
00172 itkGetMacro( TransformCenterX, double );
00173
00177 itkSetMacro( TransformCenterY, double );
00181 itkGetMacro( TransformCenterY, double );
00182
00186 itkSetMacro( TransformCenterZ, double );
00190 itkGetMacro( TransformCenterZ, double );
00191
00192 protected:
00193
00194 TransformParameters();
00195 ~TransformParameters() {};
00196
00197 int m_Transform;
00198 float m_Angle;
00199 float m_Scale;
00200 bool m_TransformInitializerOn;
00201 bool m_MomentsOn;
00202 bool m_UseOptimizerScales;
00203 double m_TransformCenterX;
00204 double m_TransformCenterY;
00205 double m_TransformCenterZ;
00206 itk::Array<double> m_Scales;
00207 itk::Array<double> m_InitialParameters;
00208 };
00209
00210 }
00211
00212 #endif // MITKTRANSFORMPARAMETERS_H