Set Degress of Freedom fo Registration in Config. 6 DOF auto and manual is working
This commit is contained in:
@ -24,6 +24,13 @@ typedef enum eImageOrientationType{
|
||||
FFS = 2
|
||||
} tPatOrientation;
|
||||
|
||||
|
||||
typedef enum eHandlingRotImpTransform {
|
||||
ALWAYS_USE = 0,
|
||||
NEVER_USE,
|
||||
STATION_DEPENDENT
|
||||
} tHandlingRotImpTransform;
|
||||
|
||||
typedef enum eDegreeOfFreedomType {
|
||||
UNKNOWN = 0,
|
||||
THREE_DOF,
|
||||
@ -424,6 +431,11 @@ public:
|
||||
itkSetMacro(UseRotationsForHiddenTransform, bool);
|
||||
itkGetMacro(UseRotationsForHiddenTransform, bool);
|
||||
|
||||
itkSetEnumMacro(DegreeOfFreedom, tDegreeOfFreedomEnum);
|
||||
itkGetEnumMacro(DegreeOfFreedom, tDegreeOfFreedomEnum);
|
||||
|
||||
itkSetEnumMacro(HandleRotationImpOffset, tHandlingRotImpTransform);
|
||||
itkGetEnumMacro(HandleRotationImpOffset, tHandlingRotImpTransform);
|
||||
|
||||
protected:
|
||||
|
||||
@ -458,7 +470,7 @@ protected:
|
||||
|
||||
PointType
|
||||
/* center of projection in an IEC reference at
|
||||
* Patient Origin of fixed images. Positioning scanner */
|
||||
* Patient Origin of fixed images. Positionin scanner */
|
||||
m_ProjectionCenter,
|
||||
m_ProjectionCenterOffset1,
|
||||
m_ProjectionCenterOffset2;
|
||||
@ -467,6 +479,12 @@ protected:
|
||||
bool
|
||||
m_UseRotationsForHiddenTransform;
|
||||
|
||||
tDegreeOfFreedomEnum
|
||||
m_DegreeOfFreedom;
|
||||
|
||||
tHandlingRotImpTransform
|
||||
m_HandleRotationImpOffset;
|
||||
|
||||
/** Default Constructor **/
|
||||
DRTProjectionGeometryImageMetaInformation ();
|
||||
/** Default Destructor **/
|
||||
|
@ -148,6 +148,8 @@ itkImageProcessor::itkImageProcessor()
|
||||
m_DRTGeometryMetaInfo->SetProjectionCenterOffset1(Point3D);
|
||||
m_DRTGeometryMetaInfo->SetProjectionCenterOffset2(Point3D);
|
||||
|
||||
m_DRTGeometryMetaInfo->SetDegreeOfFreedom(eDegreeOfFreedomType::THREE_DOF);
|
||||
m_DRTGeometryMetaInfo->SetHandleRotationImpOffset(eHandlingRotImpTransform::ALWAYS_USE);
|
||||
|
||||
optimizerObserver = CommandIterationUpdate::New();
|
||||
ExhaustiveOptimizerObserver = ExhaustiveCommandIterationUpdate::New();
|
||||
@ -1126,18 +1128,20 @@ itkImageProcessor::GetFinalR23Parameters(){
|
||||
break;
|
||||
|
||||
case SIX_DOF:
|
||||
pPars[0] = currentPosition[0]
|
||||
- m_TransformMetaInfo->GetHiddenRotations()[0];
|
||||
pPars[1] = currentPosition[1]
|
||||
- m_TransformMetaInfo->GetHiddenRotations()[1];
|
||||
pPars[2] = currentPosition[2]
|
||||
- m_TransformMetaInfo->GetHiddenRotations()[2];
|
||||
pPars[3] = currentPosition[3]
|
||||
pPars[3] = currentPosition[0]
|
||||
- m_TransformMetaInfo->GetHiddenTranslations()[0];
|
||||
pPars[4] = currentPosition[4]
|
||||
pPars[4] = currentPosition[1]
|
||||
- m_TransformMetaInfo->GetHiddenTranslations()[1];
|
||||
pPars[5] = currentPosition[5]
|
||||
pPars[5] = currentPosition[2]
|
||||
- m_TransformMetaInfo->GetHiddenTranslations()[2];
|
||||
|
||||
pPars[0] = currentPosition[3]
|
||||
- m_TransformMetaInfo->GetHiddenRotations()[0];
|
||||
pPars[1] = currentPosition[4]
|
||||
- m_TransformMetaInfo->GetHiddenRotations()[1];
|
||||
pPars[2] = currentPosition[5]
|
||||
- m_TransformMetaInfo->GetHiddenRotations()[2];
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -1204,7 +1208,15 @@ void itkImageProcessor::SetMetric(std::string metric)
|
||||
|
||||
void itkImageProcessor::SetDegreeOfFreedom(tDegreeOfFreedomEnum dof){
|
||||
|
||||
m_DRTGeometryMetaInfo->SetDegreeOfFreedom(dof);
|
||||
m_r23MetaInfo->SetDegreeOfFreedom(dof);
|
||||
|
||||
}
|
||||
|
||||
void itkImageProcessor::SetHandleRotationImportOffset(eHandlingRotImpTransform hrio){
|
||||
|
||||
m_DRTGeometryMetaInfo->SetHandleRotationImpOffset(hrio);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -104,6 +104,9 @@ public:
|
||||
/** Set DOF */
|
||||
void SetDegreeOfFreedom(tDegreeOfFreedomEnum);
|
||||
|
||||
/** Set Handle Of Rotation Import Offset */
|
||||
void SetHandleRotationImportOffset(tHandlingRotImpTransform);
|
||||
|
||||
/** Set PowellOptimizer */
|
||||
void SetPowellOptimParameters(double,double,double,int,int);
|
||||
|
||||
|
Reference in New Issue
Block a user