6 #include <itkCommand.h> 7 #include <itkAffineTransform.h> 14 template <
unsigned int ImageDimension = 3>
23 typedef typename InputImageType::PointType
PointType;
103 void Update() ITK_OVERRIDE;
237 static void ManageProgress( itk::Object* caller,
const itk::EventObject& event,
void* clientData );
242 AffineTransformPointer m_InitialTransform;
243 AffineTransformPointer m_DirectionTransform;
244 BaseTransformPointer m_OutputTransform;
245 InputImagePointer m_OutputImage;
247 MaskImagePointer m_BlockGenerationMask;
249 InputImagePointer m_ReferenceImage, m_FloatingImage;
250 PyramidPointer m_ReferencePyramid, m_FloatingPyramid;
251 MaskPyramidPointer m_BlockGenerationPyramid;
253 std::string m_outputTransformFile;
254 std::string m_resultFile;
257 itk::Point<double, ImageDimension> m_EstimationBarycenter;
258 std::string m_outputNearestRigidTransformFile;
259 std::string m_outputNearestSimilarityTransformFile;
261 unsigned int m_BlockSize;
262 unsigned int m_BlockSpacing;
263 double m_StDevThreshold;
267 unsigned int m_AffineDirection;
271 double m_ReferenceMinimalValue, m_FloatingMinimalValue;
272 unsigned int m_MaximumIterations;
273 double m_MinimalTransformError;
274 unsigned int m_OptimizerMaximumIterations;
275 double m_SearchRadius;
276 double m_SearchAngleRadius;
277 double m_SearchScaleRadius;
278 double m_FinalRadius;
280 double m_TranslateUpperBound;
281 double m_AngleUpperBound;
282 double m_ScaleUpperBound;
285 double m_AgregThreshold;
286 double m_SeStoppingThreshold;
287 unsigned int m_NumberOfPyramidLevels;
288 unsigned int m_LastPyramidLevel;
289 double m_PercentageKept;
295 itk::ProgressReporter *m_progressReporter;
296 itk::CStyleCommand::Pointer m_progressCallback;
297 itk::CStyleCommand::Pointer m_callback;
299 BaseBlockMatchRegistrationPointer m_bmreg;
void SetAngleUpperBound(double AngleUpperBound)
void SetDirectionTransform(AffineTransformPointer directionTransform)
void SetLastPyramidLevel(unsigned int LastPyramidLevel)
void SetTranslateUpperBound(double TranslateUpperBound)
void SetOutputTransform(BaseTransformPointer outputTransform)
anima::PyramidImageFilter< MaskImageType, MaskImageType > MaskPyramidType
anima::BaseBMRegistrationMethod< InputImageType > BaseBlockMatchRegistrationType
std::string GetResultFile()
MaskPyramidType::Pointer MaskPyramidPointer
BaseTransformPointer GetOutputTransform()
unsigned int GetAffineDirection()
void SetResultFile(std::string resultFile)
void SetStDevThreshold(double StDevThreshold)
InputImageType::PointType PointType
void SetOutputNearestRigidTransformFile(std::string outputNRTransformFile)
void SetFinalRadius(double FinalRadius)
void SetMetric(Metric metric)
SymmetryType GetSymmetryType()
void SetStepSize(double StepSize)
Computes a pyramid of images using the provided resampler to perform resampling.
unsigned int GetNumberOfPyramidLevels()
anima::BaseTransformAgregator< ImageDimension > AgregatorType
virtual ~PyramidalBlockMatchingBridge()
void SetOutputTransformType(OutputTransform outputTransform)
void SetAffineDirection(unsigned int val)
BaseTransformType::Pointer BaseTransformPointer
void Update() ITK_OVERRIDE
itk::ProcessObject Superclass
unsigned int GetBlockSize()
unsigned int GetOptimizerMaximumIterations()
void SetSearchAngleRadius(double SearchAngleRadius)
itk::SmartPointer< const Self > ConstPointer
static void ManageProgress(itk::Object *caller, const itk::EventObject &event, void *clientData)
PyramidType::Pointer PyramidPointer
void SetSeStoppingThreshold(double SeStoppingThreshold)
void SetSearchScaleRadius(double SearchScaleRadius)
void SetAgregThreshold(double AgregThreshold)
double GetPercentageKept()
AgregatorType::BaseOutputTransformType BaseTransformType
PyramidalBlockMatchingBridge()
unsigned int GetLastPyramidLevel()
MaskImageType::Pointer MaskImagePointer
std::string GetOutputNearestSimilarityTransformFile()
void SetPercentageKept(double PercentageKept)
void EmitProgress(int prog)
itk::SmartPointer< Self > Pointer
InputImageType::IOPixelType InputPixelType
double GetTranslateUpperBound()
itk::AffineTransform< typename AgregatorType::ScalarType, ImageDimension > AffineTransformType
double GetSearchAngleRadius()
void SetReferenceImage(InputImagePointer referenceImage)
void SetFloatingImage(InputImagePointer FloatingImage)
std::string GetOutputTransformFile()
void SetMinimalTransformError(double MinimalTransformError)
InputImageType::ConstPointer InputImageConstPointer
double GetSeStoppingThreshold()
itk::SmartPointer< Self > Pointer
void SetSearchRadius(double SearchRadius)
PyramidalBlockMatchingBridge Self
unsigned int GetMaximumIterations()
void SetOptimizerMaximumIterations(unsigned int OptimizerMaximumIterations)
void SetVerbose(bool value)
void SetBlockSize(int blockSize)
BaseBlockMatchRegistrationType::Pointer BaseBlockMatchRegistrationPointer
void SetNumberOfPyramidLevels(unsigned int NumberOfPyramidLevels)
void SetOutputTransformFile(std::string outputTransformFile)
void SetMaximumIterations(unsigned int MaximumIterations)
AffineTransformType::Pointer AffineTransformPointer
InputImagePointer GetOutputImage()
void SetTransformInitializationType(InitializationType transformInitializationType)
double GetScaleUpperBound()
void SetSymmetryType(SymmetryType sym)
OutputTransform GetOutputTransformType()
unsigned int GetBlockSpacing()
double GetAgregThreshold()
InitializationType GetTransformInitializationType()
double GetMinimalTransformError()
double GetSearchScaleRadius()
void SetBlockGenerationMask(MaskImageType *mask)
void SetProgressCallback(itk::CStyleCommand::Pointer callback)
void SetOptimizer(Optimizer optimizer)
InputImageType::Pointer InputImagePointer
itk::Image< unsigned char, ImageDimension > MaskImageType
void SetBlockSpacing(unsigned int blockSpacing)
void SetAgregator(Agregator agregator)
double GetAngleUpperBound()
itk::SmartPointer< Self > Pointer
itk::Image< double, ImageDimension > InputImageType
void SetScaleUpperBound(double ScaleUpperBound)
anima::PyramidImageFilter< InputImageType, InputImageType > PyramidType
double GetStDevThreshold()
void SetInitialTransform(AffineTransformPointer initialTransform)
void SetOutputNearestSimilarityTransformFile(std::string outputNearestSimilarityTransformFile)
void SetTransform(Transform transform)
std::string GetOutputNearestRigidTransformFile()