21 #ifndef otbMultiDisparityMapTo3DFilter_h
22 #define otbMultiDisparityMapTo3DFilter_h
24 #include "itkImageToImageFilter.h"
27 #include "itkImageRegionIteratorWithIndex.h"
28 #include "itkImageRegionConstIterator.h"
58 template <
class TDisparityImage,
class TOutputImage = otb::VectorImage<
float, 2>,
class TMaskImage = otb::Image<
unsigned char>,
59 class TRes
idueImage = otb::Image<
float>>
65 typedef itk::ImageToImageFilter<TDisparityImage, TOutputImage>
Superclass;
99 typedef std::map<unsigned int, itk::ImageRegionConstIterator<MaskImageType>>
MaskIteratorList;
102 void SetNumberOfMovingImages(
unsigned int nb);
105 unsigned int GetNumberOfMovingImages();
108 void SetHorizontalDisparityMapInput(
unsigned int index,
const TDisparityImage* hmap);
111 void SetVerticalDisparityMapInput(
unsigned int index,
const TDisparityImage* vmap);
116 void SetDisparityMaskInput(
unsigned int index,
const TMaskImage* mask);
119 const TDisparityImage* GetHorizontalDisparityMapInput(
unsigned int index)
const;
120 const TDisparityImage* GetVerticalDisparityMapInput(
unsigned int index)
const;
121 const TMaskImage* GetDisparityMaskInput(
unsigned int index)
const;
125 const TResidueImage* GetResidueOutput()
const;
126 TResidueImage* GetResidueOutput();
132 this->m_ReferenceImageMetadata = imd;
140 return this->m_ReferenceImageMetadata;
144 void SetMovingImageMetadata(
unsigned int index,
const ImageMetadata* imd);
147 const ImageMetadata* GetMovingImageMetadata(
unsigned int index)
const;
157 void GenerateOutputInformation()
override;
160 void GenerateInputRequestedRegion()
override;
163 void DynamicThreadedGenerateData(
const RegionType& outputRegionForThread)
override;
179 #ifndef OTB_MANUAL_INSTANTIATION
Compute the position of a 3D point from a set of N lines of sight.
itk::PointSet< TLabel, 3, MeshType > PointSetType
Project a group of disparity map into 3D points.
otb::GenericRSTransform< PrecisionType, 3, 3 > RSTransformType
std::vector< const ImageMetadata * > m_MovingImageMetadatas
void operator=(const Self &)=delete
void SetReferenceImageMetadata(const ImageMetadata *imd)
std::map< unsigned int, itk::ImageRegionConstIterator< DisparityMapType > > DispMapIteratorList
OptimizerType::PointSetType PointSetType
OutputImageType::PixelType DEMPixelType
MultiDisparityMapTo3DFilter(const Self &)=delete
itk::SmartPointer< const Self > ConstPointer
TResidueImage ResidueImageType
PointSetType::PointsContainer PointsContainer
otb::LineOfSightOptimizer< PrecisionType > OptimizerType
itk::SmartPointer< Self > Pointer
const ImageMetadata * GetReferenceImageMetadata() const
TDisparityImage DisparityMapType
TOutputImage OutputImageType
OutputImageType::RegionType RegionType
itk::ImageToImageFilter< TDisparityImage, TOutputImage > Superclass
std::map< unsigned int, itk::ImageRegionConstIterator< MaskImageType > > MaskIteratorList
MultiDisparityMapTo3DFilter Self
PointSetType::PointDataContainer LabelContainer
RSTransformType::InputPointType TDPointType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.