21 #ifndef otbDisparityMapTo3DFilter_h
22 #define otbDisparityMapTo3DFilter_h
24 #include "itkImageToImageFilter.h"
51 template <
class TDisparityImage,
class TOutputImage = otb::VectorImage<
float, 2>,
class TEpipolarGr
idImage = otb::VectorImage<
float, 2>,
52 class TMaskImage = otb::Image<
unsigned char>>
58 typedef itk::ImageToImageFilter<TDisparityImage, TOutputImage>
Superclass;
91 void SetHorizontalDisparityMapInput(
const TDisparityImage* hmap);
94 void SetVerticalDisparityMapInput(
const TDisparityImage* vmap);
97 void SetLeftEpipolarGridInput(
const TEpipolarGridImage* grid);
100 void SetRightEpipolarGridInput(
const TEpipolarGridImage* grid);
103 void SetDisparityMaskInput(
const TMaskImage* mask);
106 const TDisparityImage* GetHorizontalDisparityMapInput()
const;
107 const TDisparityImage* GetVerticalDisparityMapInput()
const;
108 const TEpipolarGridImage* GetLeftEpipolarGridInput()
const;
109 const TEpipolarGridImage* GetRightEpipolarGridInput()
const;
110 const TMaskImage* GetDisparityMaskInput()
const;
116 this->m_LeftImageMetadata = imd;
124 return this->m_LeftImageMetadata;
130 this->m_RightImageMetadata = imd;
138 return this->m_RightImageMetadata;
149 void GenerateOutputInformation()
override;
152 void GenerateInputRequestedRegion()
override;
155 void BeforeThreadedGenerateData()
override;
158 void DynamicThreadedGenerateData(
const RegionType& outputRegionForThread)
override;
188 #ifndef OTB_MANUAL_INSTANTIATION
Project an input disparity map into a 3D points.
RSTransformType::InputPointType TDPointType
void VerifyInputInformation() const override
PointSetType::PointDataContainer LabelContainer
void operator=(const Self &)=delete
OutputImageType::RegionType RegionType
OptimizerType::PointSetType PointSetType
otb::GenericRSTransform< PrecisionType, 3, 3 > RSTransformType
~DisparityMapTo3DFilter() override=default
TDisparityImage DisparityMapType
RSTransformType::Pointer m_RightToGroundTransform
TEpipolarGridImage GridImageType
void SetLeftImageMetadata(const ImageMetadata *imd)
PointSetType::PointsContainer PointsContainer
otb::LineOfSightOptimizer< PrecisionType > OptimizerType
itk::SmartPointer< const Self > ConstPointer
const ImageMetadata * GetRightImageMetadata() const
DisparityMapTo3DFilter(const Self &)=delete
RSTransformType::Pointer m_LeftToGroundTransform
itk::ImageToImageFilter< TDisparityImage, TOutputImage > Superclass
void SetRightImageMetadata(const ImageMetadata *imd)
const ImageMetadata * GetLeftImageMetadata() const
TOutputImage OutputImageType
itk::SmartPointer< Self > Pointer
OutputImageType::PixelType DEMPixelType
DisparityMapTo3DFilter Self
Compute the position of a 3D point from a set of N lines of sight.
itk::PointSet< TLabel, 3, MeshType > PointSetType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.