new R23MetaInfo so that R23 does not need TransformMeta anymore
This commit is contained in:
@ -518,7 +518,27 @@ RTGeometryMetaInformation
|
||||
}
|
||||
|
||||
|
||||
R23MetaInformation::
|
||||
R23MetaInformation (){
|
||||
|
||||
m_DegreeOfFreedom = tDegreeOfFreedomEnum::UNKNOWN;
|
||||
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
R23MetaInformation
|
||||
::PrintSelf(std::ostream& os, itk::Indent indent) const
|
||||
{
|
||||
Superclass::PrintSelf(os, indent);
|
||||
}
|
||||
|
||||
|
||||
R23MetaInformation
|
||||
::~R23MetaInformation ()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
TransformMetaInformation ::
|
||||
TransformMetaInformation (){
|
||||
@ -531,11 +551,11 @@ TransformMetaInformation (){
|
||||
|
||||
m_UserTranslations.Fill(0.);
|
||||
|
||||
m_ReferenceTransform.Fill(0.);
|
||||
//m_ReferenceTransform.Fill(0.);
|
||||
|
||||
m_CurrentTransform.Fill(0.);
|
||||
//m_CurrentTransform.Fill(0.);
|
||||
|
||||
m_DegreeOfFreedom = tDegreeOfFreedomEnum::UNKNOWN;
|
||||
// m_DegreeOfFreedom = tDegreeOfFreedomEnum::UNKNOWN;
|
||||
|
||||
}
|
||||
|
||||
|
@ -514,6 +514,48 @@ private:
|
||||
};
|
||||
|
||||
|
||||
class R23MetaInformation :
|
||||
public itk::Object{
|
||||
|
||||
public:
|
||||
/** standard typedefs **/
|
||||
typedef R23MetaInformation Self;
|
||||
typedef itk::Object Superclass;
|
||||
typedef itk::SmartPointer<Self> Pointer;
|
||||
|
||||
|
||||
/** Method for creation through the object factory. */
|
||||
itkNewMacro(Self);
|
||||
|
||||
/** Run-time type information (and related methods). */
|
||||
itkTypeMacro(R23MetaInformation, itk::Object);
|
||||
|
||||
/** object information streaming **/
|
||||
void PrintSelf(std::ostream& os, itk::Indent indent) const;
|
||||
|
||||
itkSetEnumMacro(DegreeOfFreedom, tDegreeOfFreedomEnum);
|
||||
itkGetEnumMacro(DegreeOfFreedom, tDegreeOfFreedomEnum);
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
tDegreeOfFreedomEnum
|
||||
m_DegreeOfFreedom;
|
||||
|
||||
/** Default Constructor **/
|
||||
R23MetaInformation ();
|
||||
/** Default Destructor **/
|
||||
virtual ~R23MetaInformation ();
|
||||
|
||||
private:
|
||||
/** purposely not implemented **/
|
||||
R23MetaInformation (const Self&);
|
||||
|
||||
/** purposely not implemented **/
|
||||
void operator=(const Self&);
|
||||
|
||||
};
|
||||
|
||||
class TransformMetaInformation :
|
||||
public itk::Object{
|
||||
|
||||
@ -547,14 +589,14 @@ public:
|
||||
itkSetMacro(UserRotations,PointType);
|
||||
itkGetMacro(UserRotations,PointType);
|
||||
|
||||
itkSetMacro(ReferenceTransform,TransformMatrixType);
|
||||
itkGetMacro(ReferenceTransform,TransformMatrixType);
|
||||
// itkSetMacro(ReferenceTransform,TransformMatrixType);
|
||||
// itkGetMacro(ReferenceTransform,TransformMatrixType);
|
||||
|
||||
itkSetMacro(CurrentTransform,TransformMatrixType);
|
||||
itkGetMacro(CurrentTransform,TransformMatrixType);
|
||||
// itkSetMacro(CurrentTransform,TransformMatrixType);
|
||||
// itkGetMacro(CurrentTransform,TransformMatrixType);
|
||||
|
||||
itkSetEnumMacro(DegreeOfFreedom, tDegreeOfFreedomEnum);
|
||||
itkGetEnumMacro(DegreeOfFreedom, tDegreeOfFreedomEnum);
|
||||
// itkSetEnumMacro(DegreeOfFreedom, tDegreeOfFreedomEnum);
|
||||
// itkGetEnumMacro(DegreeOfFreedom, tDegreeOfFreedomEnum);
|
||||
|
||||
protected:
|
||||
|
||||
@ -564,12 +606,12 @@ protected:
|
||||
m_UserTranslations,
|
||||
m_UserRotations;
|
||||
|
||||
TransformMatrixType
|
||||
m_ReferenceTransform,
|
||||
m_CurrentTransform;
|
||||
// TransformMatrixType
|
||||
// m_ReferenceTransform,
|
||||
// m_CurrentTransform;
|
||||
|
||||
tDegreeOfFreedomEnum
|
||||
m_DegreeOfFreedom;
|
||||
// tDegreeOfFreedomEnum
|
||||
// m_DegreeOfFreedom;
|
||||
|
||||
/** Default Constructor **/
|
||||
TransformMetaInformation ();
|
||||
|
@ -170,8 +170,8 @@ public:
|
||||
itkGetConstObjectMacro(Interpolator2, InterpolatorType);
|
||||
|
||||
/** Set/Get the Meta informations. */
|
||||
itkSetObjectMacro(TransformMetaInfo, TransformMetaInformation);
|
||||
itkGetConstObjectMacro(TransformMetaInfo, TransformMetaInformation);
|
||||
itkSetObjectMacro(TransformMetaInfo, R23MetaInformation);
|
||||
itkGetConstObjectMacro(TransformMetaInfo, R23MetaInformation);
|
||||
|
||||
/** Set/Get the output filters. */
|
||||
itkSetObjectMacro(Filter1, ChangeInformationFilterType);
|
||||
@ -253,7 +253,10 @@ private:
|
||||
InterpolatorPointer m_Interpolator1;
|
||||
InterpolatorPointer m_Interpolator2;
|
||||
|
||||
TransformMetaInformation::Pointer
|
||||
//TransformMetaInformation::Pointer
|
||||
// m_TransformMetaInfo;
|
||||
|
||||
R23MetaInformation::Pointer
|
||||
m_TransformMetaInfo;
|
||||
|
||||
ChangeInformationFilterPointer
|
||||
|
@ -185,10 +185,10 @@ public:
|
||||
itkGetConstReferenceMacro(NumberOfPixelsCounted, unsigned long);
|
||||
|
||||
/** Connect the DRTGeometryMetaInfo. */
|
||||
itkSetObjectMacro(TransformMetaInfo, TransformMetaInformation);
|
||||
itkSetObjectMacro(TransformMetaInfo, R23MetaInformation);
|
||||
|
||||
/** Get a pointer to the DRTGeometryMetaInfo. */
|
||||
itkGetConstObjectMacro(TransformMetaInfo, TransformMetaInformation);
|
||||
itkGetConstObjectMacro(TransformMetaInfo, R23MetaInformation);
|
||||
|
||||
/** Set the region over which the metric will be computed */
|
||||
itkSetMacro(FixedImageRegion1, FixedImageRegionType);
|
||||
@ -274,7 +274,7 @@ protected:
|
||||
mutable FixedImageMaskPointer m_FixedImageMask2;
|
||||
mutable MovingImageMaskPointer m_MovingImageMask;
|
||||
|
||||
TransformMetaInformation::Pointer
|
||||
R23MetaInformation::Pointer
|
||||
m_TransformMetaInfo;
|
||||
|
||||
ChangeInformationFilterPointer
|
||||
|
@ -113,7 +113,9 @@ bool gTwoImageToOneImageMetric<TFixedImage, TMovingImage>::SetTransformParameter
|
||||
transformParameters[4] = TranslationAlongY;
|
||||
transformParameters[5] = TranslationAlongZ;
|
||||
|
||||
bool transformValid = (std::abs(TranslationAlongX) < m_MaxTranslation) && (std::abs(TranslationAlongY) < m_MaxTranslation) && (std::abs(TranslationAlongZ) < m_MaxTranslation);
|
||||
bool transformValid = (std::abs(TranslationAlongX) < m_MaxTranslation) &&
|
||||
(std::abs(TranslationAlongY) < m_MaxTranslation) &&
|
||||
(std::abs(TranslationAlongZ) < m_MaxTranslation);
|
||||
|
||||
if (transformValid) {
|
||||
m_Transform1->SetParameters(transformParameters);
|
||||
|
@ -118,6 +118,9 @@ itkImageProcessor::itkImageProcessor()
|
||||
m_TransformMetaInfo = NULL;
|
||||
m_TransformMetaInfo = TransformMetaInformation::New();
|
||||
|
||||
m_r23MetaInfo = NULL;
|
||||
m_r23MetaInfo = R23MetaInformation::New();
|
||||
|
||||
/* Initialise the projection geoemtry with defaults */
|
||||
m_DRTGeometryMetaInfo = NULL;
|
||||
m_DRTGeometryMetaInfo
|
||||
@ -284,13 +287,16 @@ double itkImageProcessor::GetPanelOffset2(){
|
||||
|
||||
void itkImageProcessor::SetDegreeOfFreedom(tDegreeOfFreedomEnum dof)
|
||||
{
|
||||
m_TransformMetaInfo->SetDegreeOfFreedom(dof);
|
||||
// m_TransformMetaInfo->SetDegreeOfFreedom(dof);
|
||||
m_r23MetaInfo->SetDegreeOfFreedom(dof);
|
||||
}
|
||||
|
||||
tDegreeOfFreedomEnum
|
||||
itkImageProcessor::GetDegreeOfFreedom()
|
||||
{
|
||||
return m_TransformMetaInfo->GetDegreeOfFreedom();
|
||||
return
|
||||
m_r23MetaInfo->GetDegreeOfFreedom();
|
||||
//m_TransformMetaInfo->GetDegreeOfFreedom();
|
||||
}
|
||||
|
||||
void itkImageProcessor::SetCustom_ImportTransform(double dTx,
|
||||
@ -428,6 +434,7 @@ int itkImageProcessor::unload3DVolumeAndMeta(){
|
||||
m_TransformMetaInfo = NULL;
|
||||
m_TransformMetaInfo = TransformMetaInformation::New();
|
||||
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -1436,7 +1443,8 @@ void itkImageProcessor::InitializeRegistration(
|
||||
metric->SetSubtractMean(true);
|
||||
metric->SetMaxTranslation(maxTranslation);
|
||||
|
||||
m_TransformMetaInfo->SetDegreeOfFreedom(dof);
|
||||
// m_TransformMetaInfo->SetDegreeOfFreedom(dof);
|
||||
m_r23MetaInfo->SetDegreeOfFreedom(dof);
|
||||
|
||||
mimetric->ComputeGradientOff();
|
||||
|
||||
@ -1479,7 +1487,8 @@ void itkImageProcessor::InitializeRegistration(
|
||||
}
|
||||
|
||||
|
||||
registration->SetTransformMetaInfo(m_TransformMetaInfo);
|
||||
// registration->SetTransformMetaInfo(m_TransformMetaInfo);
|
||||
registration->SetTransformMetaInfo(m_r23MetaInfo);
|
||||
|
||||
registration->SetFilter1(filter1);
|
||||
registration->SetFilter2(filter2);
|
||||
|
@ -269,18 +269,6 @@ private:
|
||||
TransformType::Pointer transform,
|
||||
DRTImageMetaInformation::Pointer imageMetaInfo);
|
||||
|
||||
// TransformType::Pointer
|
||||
// CalculateInternalTransform(
|
||||
// ImageType3D::PointType m_TranslationOffset,
|
||||
// ImageType3D::PointType m_RotationOffset,
|
||||
// ImageType3D::PointType m_TranslationUser,
|
||||
// ImageType3D::PointType m_RotationUser,
|
||||
// ImageType3D::PointType m_ProjectionTransformCenter,
|
||||
// ImageType3D::PointType m_UserTransformCenter,
|
||||
// ImageType3D::PointType m_OffsetTransformCenter,
|
||||
// InternalImageType::DirectionType m_IECtoLPSDirections
|
||||
// );
|
||||
|
||||
/* Calculate the transform used in siddon.
|
||||
* The isocentric transform is mapped to the calibrated center of projection */
|
||||
TransformType::Pointer
|
||||
@ -294,8 +282,6 @@ private:
|
||||
InternalImageType::DirectionType m_IECtoLPSDirections
|
||||
);
|
||||
|
||||
|
||||
|
||||
TransformType::Pointer
|
||||
transform1,
|
||||
transform2;
|
||||
@ -360,13 +346,6 @@ private:
|
||||
);
|
||||
|
||||
|
||||
// ImageType3D::PointType
|
||||
// CalcDRTImageOffset(
|
||||
// ImageType3D::PointType m_DRTOffset,
|
||||
// double dAngle,
|
||||
// InternalImageType::DirectionType stdDRT2LPS
|
||||
// );
|
||||
|
||||
TransformType::Pointer
|
||||
MapTransformToNewOrigin(
|
||||
ImageType3D::PointType m_COR,
|
||||
@ -433,6 +412,8 @@ private:
|
||||
TransformMetaInformation::Pointer
|
||||
m_TransformMetaInfo;
|
||||
|
||||
R23MetaInformation::Pointer
|
||||
m_r23MetaInfo;
|
||||
|
||||
double m_OptmizerValue;
|
||||
int m_MaxNumberOfIterations;
|
||||
|
Reference in New Issue
Block a user