21 #ifndef otbDisparityMapToDEMFilter_h
22 #define otbDisparityMapToDEMFilter_h
24 #include "itkImageToImageFilter.h"
26 #include "itkImageRegionSplitter.h"
62 template <
class TDisparityImage,
class TInputImage,
class TOutputDEMImage = TDisparityImage,
class TEpipolarGr
idImage = otb::VectorImage<
float, 2>,
63 class TMaskImage = otb::Image<
unsigned char>>
69 typedef itk::ImageToImageFilter<TDisparityImage, TOutputDEMImage>
Superclass;
100 void SetHorizontalDisparityMapInput(
const TDisparityImage* hmap);
103 void SetVerticalDisparityMapInput(
const TDisparityImage* vmap);
106 void SetLeftInput(
const TInputImage* image);
109 void SetRightInput(
const TInputImage* image);
112 void SetLeftEpipolarGridInput(
const TEpipolarGridImage* grid);
115 void SetRightEpipolarGridInput(
const TEpipolarGridImage* grid);
118 void SetDisparityMaskInput(
const TMaskImage* mask);
121 const TDisparityImage* GetHorizontalDisparityMapInput()
const;
122 const TDisparityImage* GetVerticalDisparityMapInput()
const;
123 const TInputImage* GetLeftInput()
const;
124 const TInputImage* GetRightInput()
const;
125 const TEpipolarGridImage* GetLeftEpipolarGridInput()
const;
126 const TEpipolarGridImage* GetRightEpipolarGridInput()
const;
127 const TMaskImage* GetDisparityMaskInput()
const;
131 const TOutputDEMImage* GetDEMOutput()
const;
132 TOutputDEMImage* GetDEMOutput();
136 itkSetMacro(ElevationMin,
double);
137 itkGetConstReferenceMacro(ElevationMin,
double);
141 itkSetMacro(ElevationMax,
double);
142 itkGetConstReferenceMacro(ElevationMax,
double);
146 itkSetMacro(DEMGridStep,
double);
147 itkGetConstReferenceMacro(DEMGridStep,
double);
158 void GenerateOutputInformation()
override;
161 void GenerateInputRequestedRegion()
override;
164 void BeforeThreadedGenerateData()
override;
167 void ThreadedGenerateData(
const RegionType& outputRegionForThread, itk::ThreadIdType threadId)
override;
170 void AfterThreadedGenerateData()
override;
184 void operator=(
const Self&) =
delete;
212 #ifndef OTB_MANUAL_INSTANTIATION