OTB  5.0.0
Orfeo Toolbox
otbDisparityMapEstimationMethod.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ORFEO Toolbox
4  Language: C++
5  Date: $Date$
6  Version: $Revision$
7 
8 
9  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
10  See OTBCopyright.txt for details.
11 
12 
13  This software is distributed WITHOUT ANY WARRANTY; without even
14  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  PURPOSE. See the above copyright notices for more information.
16 
17 =========================================================================*/
18 #ifndef __otbDisparityMapEstimationMethod_h
19 #define __otbDisparityMapEstimationMethod_h
20 
21 #include "itkImageToImageMetric.h"
23 #include "itkDataObjectDecorator.h"
24 #include "itkPointSet.h"
25 #include "otbPointSetSource.h"
26 
27 namespace otb
28 {
52 template <class TFixedImage, class TMovingImage, class TPointSet>
54  : public PointSetSource<TPointSet>
55 {
56 public:
62 
64  itkNewMacro(Self);
65 
67  itkTypeMacro(DisparityMapEstimationMethod, ProcessObject);
68 
70  typedef TFixedImage FixedImageType;
71  typedef typename FixedImageType::Pointer FixedImagePointerType;
72  typedef typename FixedImageType::PixelType FixedPixelType;
73  typedef typename FixedImageType::SizeType SizeType;
74 
76  typedef TMovingImage MovingImageType;
77  typedef typename MovingImageType::Pointer MovingImagePointerType;
78  typedef typename MovingImageType::PixelType MovingPixelType;
79 
81  typedef TPointSet PointSetType;
82  typedef typename PointSetType::Pointer PointSetPointerType;
83 
88 
92 
97 
101 
105 
109 
112 
114  itkSetObjectMacro(Optimizer, OptimizerType);
115  itkGetObjectMacro(Optimizer, OptimizerType);
117 
119  itkSetObjectMacro(Metric, MetricType);
120  itkGetObjectMacro(Metric, MetricType);
122 
124  itkSetObjectMacro(Transform, TransformType);
125  itkGetObjectMacro(Transform, TransformType);
127 
129  itkSetObjectMacro(Interpolator, InterpolatorType);
130  itkGetObjectMacro(Interpolator, InterpolatorType);
132 
134  itkSetMacro(WinSize, SizeType);
135  itkGetMacro(WinSize, SizeType);
137 
139  itkSetMacro(ExploSize, SizeType);
140  itkGetMacro(ExploSize, SizeType);
142 
144  itkSetMacro(InitialTransformParameters, ParametersType);
145  itkGetConstReferenceMacro(InitialTransformParameters, ParametersType);
147 
152  void SetPointSet(const TPointSet * pointset);
153 
158  const TPointSet * GetPointSet(void);
159 
164  void SetFixedImage(const TFixedImage * image);
165 
170  const TFixedImage * GetFixedImage(void);
171 
176  void SetMovingImage(const TMovingImage * image);
177 
182  const TMovingImage * GetMovingImage(void);
183 
184 protected:
189 
193  virtual ~DisparityMapEstimationMethod();
194 
198  void PrintSelf(std::ostream& os, itk::Indent indent) const;
199 
203  void GenerateData();
204 
205 private:
206  DisparityMapEstimationMethod(const Self &); //purposely not implemented
207  void operator =(const Self&); //purposely not implemented
212 
217 
222 
227 
232 
237 
242 };
243 } // end namespace otb
244 #ifndef OTB_MANUAL_INSTANTIATION
246 #endif
247 
248 #endif
itk::ImageToImageMetric< FixedImageType, MovingImageType > MetricType
TransformOutputType::ConstPointer TransformOutputConstPointerType
Base class for all process objects that output point set data.
This class performs an estimation of the local displacement modelled by a given transform between the...
itk::SmartPointer< const Self > ConstPointer
TransformOutputType::Pointer TransformOutputPointerType
itk::DataObjectDecorator< TransformType > TransformOutputType
itk::SingleValuedNonLinearOptimizer OptimizerType
MetricType::FixedImageRegionType FixedImageRegionType
TransformType::ParametersType TransformParametersType
FixedImageType::RegionType FixedImageRegionType
MetricType::TransformParametersType ParametersType
Class to overload method passed to virtual pure in ITK V4.
Definition: otbTransform.h:37