ANIMA  4.0
animaBaseAffineBlockMatcher.h
Go to the documentation of this file.
1 #pragma once
3 
4 namespace anima
5 {
6 
7 template <typename TInputImageType>
8 class BaseAffineBlockMatcher : public anima::BaseBlockMatcher <TInputImageType>
9 {
10 public:
13 
15  {
20  };
21 
24  typedef typename Superclass::PointType PointType;
29 
31  void SetBlockTransformType(TransformDefinition val) {m_BlockTransformType = val;}
32  TransformDefinition &GetBlockTransformType() {return m_BlockTransformType;}
33 
34  void SetSearchAngleRadius(double val) {m_SearchAngleRadius = val;}
35  void SetSearchScaleRadius(double val) {m_SearchScaleRadius = val;}
36 
37  void SetAngleMax(double val) {m_AngleMax = val;}
38  void SetTranslateMax(double val) {m_TranslateMax = val;}
39  void SetScaleMax(double val) {m_ScaleMax = val;}
40 
41  void SetAffineDirection(unsigned int val) {m_AffineDirection = val;}
42 
43 protected:
44  virtual BaseInputTransformPointer GetNewBlockTransform(PointType &blockCenter);
45 
46  virtual void BlockMatchingSetup(MetricPointer &metric, unsigned int block);
47  virtual void TransformDependantOptimizerSetup(OptimizerPointer &optimizer);
48 
49 private:
50  TransformDefinition m_BlockTransformType;
51 
52  unsigned int m_AffineDirection;
53 
54  // Bobyqa radiuses
55  double m_SearchAngleRadius;
56  double m_SearchScaleRadius;
57 
58  //Bobyqa bounds parameters
59  double m_AngleMax;
60  double m_TranslateMax;
61  double m_ScaleMax;
62 };
63 
64 } // end namespace anima
65 
MetricType::Pointer MetricPointer
TransformDefinition & GetBlockTransformType()
Superclass::InputImageType InputImageType
BaseInputTransformType::Pointer BaseInputTransformPointer
AgregatorType::TRANSFORM_TYPE GetAgregatorInputTransformType()
Superclass::BaseInputTransformPointer BaseInputTransformPointer
Superclass::MetricPointer MetricPointer
InputImageType::PointType PointType
Superclass::AgregatorType AgregatorType
OptimizerType::Pointer OptimizerPointer
Superclass::OptimizerPointer OptimizerPointer
BaseBlockMatcher< TInputImageType > Superclass
virtual void BlockMatchingSetup(MetricPointer &metric, unsigned int block)
virtual BaseInputTransformPointer GetNewBlockTransform(PointType &blockCenter)
void SetBlockTransformType(TransformDefinition val)
virtual void TransformDependantOptimizerSetup(OptimizerPointer &optimizer)