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;
212 #ifndef OTB_MANUAL_INSTANTIATION
Project an input disparity map into a regular DEM.
DEMImageType::RegionType RegionType
DisparityMapToDEMFilter(const Self &)=delete
TInputImage SensorImageType
itk::ImageToImageFilter< TDisparityImage, TOutputDEMImage > Superclass
std::vector< typename DEMImageType::Pointer > m_TempDEMRegions
TDisparityImage DisparityMapType
RSTransformType::InputPointType TDPointType
SplitterType::Pointer m_InputSplitter
DEMImageType::PixelType DEMPixelType
RSTransformType::Pointer m_LeftToGroundTransform
void VerifyInputInformation() const override
TOutputDEMImage DEMImageType
unsigned int m_UsedInputSplits
TEpipolarGridImage GridImageType
DisparityMapToDEMFilter Self
otb::GenericRSTransform< double, 3, 3 > RSTransformType
itk::SmartPointer< const Self > ConstPointer
itk::ImageRegionSplitter< 2 > SplitterType
RSTransformType::Pointer m_RightToGroundTransform
void operator=(const Self &)=delete
itk::SmartPointer< Self > Pointer
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.