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 ThreadedGenerateData(
const RegionType& outputRegionForThread, itk::ThreadIdType threadId)
override;
167 void operator=(
const Self&) =
delete;
179 #ifndef OTB_MANUAL_INSTANTIATION