6 #include <itkCommand.h> 7 #include <itkMultiResolutionPyramidImageFilter.h> 9 #include <itkAffineTransform.h> 20 template <
class PixelType =
double,
typename ScalarType =
double>
38 typedef itk::MultiResolutionPyramidImageFilter <InputImageType,OutputImageType>
PyramidType;
54 void Update() ITK_OVERRIDE;
59 typename InputImageType::PointType ¢erReal, ParametersType &imageParams);
91 void SetReferenceImage(InputImagePointer referenceImage) {m_ReferenceImage = referenceImage;}
93 void SetFloatingImage(InputImagePointer FloatingImage) {m_FloatingImage= FloatingImage;}
114 m_ReferenceImage = NULL;
115 m_FloatingImage = NULL;
117 m_ReferencePyramid = NULL;
118 m_FloatingPyramid = NULL;
121 m_OutputTransform->SetIdentity();
123 m_OutputImage = NULL;
127 m_UpperBoundDistance = 6;
128 m_UpperBoundAngle = M_PI;
129 m_optMaxIterations = 100;
130 m_histogramSize = 120;
131 m_numberOfPyramidLevels = 3;
132 this->SetNumberOfWorkUnits(itk::MultiThreaderBase::GetGlobalDefaultNumberOfThreads());
134 m_outputRealignTransformFile =
"";
135 m_outputTransformFile =
"";
146 InputImagePointer m_ReferenceImage, m_FloatingImage;
147 PyramidPointer m_ReferencePyramid, m_FloatingPyramid;
150 TransformPointer m_OutputTransform;
153 BaseTransformPointer m_OutputRealignTransform;
155 OutputImagePointer m_OutputImage;
158 int m_optMaxIterations;
160 int m_numberOfPyramidLevels;
161 double m_UpperBoundDistance, m_UpperBoundAngle;
162 std::string m_fixedfile;
163 std::string m_outputRealignTransformFile;
164 std::string m_outputTransformFile;
165 std::string m_resultFile;
167 itk::CStyleCommand::Pointer m_progressCallback;
int GetNumberOfPyramidLevels()
void SetOutputRealignTransformFile(std::string outputRealignTransformFile)
TransformType::ParametersType ParametersType
void SetFixedfile(std::string fixedfile)
void SetUpperBoundDistance(double val)
std::string GetResultfile()
itk::ProcessObject Superclass
PyramidType::Pointer PyramidPointer
void SetHistogramSize(int histogramSize)
itk::AffineTransform< ScalarType, 3 > BaseTransformType
void SetOutputTransformFile(std::string outputTransformFile)
void ParseParameters(int argc, const char **argv)
void SetResultFile(std::string resultFile)
OutputImagePointer GetOutputImage()
void ComputeRealignTransform(itk::Vector< double, InputImageType::ImageDimension > centralPoint, typename InputImageType::PointType ¢erReal, ParametersType &imageParams)
itk::MultiResolutionPyramidImageFilter< InputImageType, OutputImageType > PyramidType
anima::SymmetryPlaneTransform< ScalarType > TransformType
void SaveResultFile(void)
void SaveTransformFile(void)
int GetOptimizerMaxIterations()
itk::Image< double, 3 > OutputImageType
TransformPointer GetOutputTransform()
void SetNumberOfPyramidLevels(int numberOfPyramidLevels)
TransformType::OffsetType OffsetType
PyramidalSymmetryBridge Self
void SetOptimizerMaxIterations(int optMaxIterations)
itk::SmartPointer< const Self > ConstPointer
PyramidalSymmetryBridge()
void SetFloatingImage(InputImagePointer FloatingImage)
itk::Image< PixelType, 3 > InputImageType
virtual ~PyramidalSymmetryBridge()
std::string GetFixedfile()
double GetUpperBoundDistance()
BaseTransformPointer GetOutputRealignTransform()
std::string GetOutputRealignTransformFile()
void SetProgressCallback(itk::CStyleCommand::Pointer callback)
InputImageType::Pointer InputImagePointer
BaseTransformType::Pointer BaseTransformPointer
void SetReferenceImage(InputImagePointer referenceImage)
void Update() ITK_OVERRIDE
double GetUpperBoundAngle()
TransformType::MatrixType MatrixType
void SetMetric(Metric metric)
void SetUpperBoundAngle(double val)
void SaveRealignTransformFile(void)
TransformType::Pointer TransformPointer
itk::SmartPointer< Self > Pointer
OutputImageType::Pointer OutputImagePointer
std::string GetOutputTransformFile()