21 #ifndef otbStereoSensorModelToElevationMapFilter_h
22 #define otbStereoSensorModelToElevationMapFilter_h
24 #include "itkImageToImageFilter.h"
25 #include "itkInterpolateImageFunction.h"
27 #include "itkNormalizedCorrelationImageToImageMetric.h"
82 template <
class TInputImage,
class TOutputHeight>
89 typedef itk::ImageToImageFilter<TInputImage, TOutputHeight>
Superclass;
115 void SetMasterInput(
const TInputImage* image);
118 void SetSlaveInput(
const TInputImage* image);
121 const TInputImage* GetMasterInput()
const;
124 const TInputImage* GetSlaveInput()
const;
127 TOutputHeight* GetCorrelationOutput();
132 itkSetMacro(LowerElevation,
double);
137 itkSetMacro(HigherElevation,
double);
140 itkSetMacro(ElevationStep,
double);
145 itkSetMacro(CorrelationThreshold,
double);
150 itkGetMacro(CorrelationThreshold,
double);
155 itkSetMacro(VarianceThreshold,
double);
160 itkGetMacro(VarianceThreshold,
double);
166 itkSetMacro(SubtractInitialElevation,
bool);
172 itkGetMacro(SubtractInitialElevation,
bool);
178 itkBooleanMacro(SubtractInitialElevation);
183 m_Radius.Fill(radius);
196 void DynamicThreadedGenerateData(
const OutputRegionType& outputRegionForThread)
override;
199 void GenerateInputRequestedRegion(
void)
override;
202 void BeforeThreadedGenerateData()
override;
218 inline double Correlation(
const std::vector<double>& master,
const std::vector<double>& slave)
const;
252 #ifndef OTB_MANUAL_INSTANTIATION
Using sensor models to perform correlation along epipolars.
GenericRSTransform GenericRSTransformType
void VerifyInputInformation() const override
TOutputHeight OutputImageType
GenericRSTransform3DType::Pointer m_MasterToSlave
void operator=(const Self &)=delete
OutputImageType::RegionType OutputRegionType
itk::InterpolateImageFunction< TInputImage, double > InterpolatorType
itk::NormalizedCorrelationImageToImageMetric< TInputImage, TInputImage > CorrelationMetricType
double m_CorrelationThreshold
itk::ImageToImageFilter< TInputImage, TOutputHeight > Superclass
double m_VarianceThreshold
StereoSensorModelToElevationFilter Self
void SetRadius(unsigned int radius)
InterpolatorType::Pointer InterpolatorPointerType
OutputImageType::PointType OutputPointType
GenericRSTransform< double, 3, 3 > GenericRSTransform3DType
itk::SmartPointer< const Self > ConstPointer
OutputImageType::PixelType HeightType
InputImageType::SizeType RadiusType
InterpolatorPointerType m_Interpolator
TInputImage InputImageType
bool m_SubtractInitialElevation
InputImageType::PixelType InputPixelType
itk::SmartPointer< Self > Pointer
StereoSensorModelToElevationFilter(const Self &)=delete
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.