22 #ifndef otbLabelImageToLabelMapWithAdjacencyFilter_h
23 #define otbLabelImageToLabelMapWithAdjacencyFilter_h
25 #include "itkImageToImageFilter.h"
27 #include "itkLabelObject.h"
38 template <
class TInputImage,
class TOutputImage = otb::LabelMapWithAdjacency<itk::LabelObject<
typename TInputImage::PixelType, TInputImage::ImageDimension>>>
44 typedef itk::ImageToImageFilter<TInputImage, TOutputImage>
Superclass;
55 typedef typename InputImageType::IndexType
IndexType;
64 typedef typename OutputImageType::LabelType
LabelType;
70 itkStaticConstMacro(InputImageDimension,
unsigned int, TInputImage::ImageDimension);
71 itkStaticConstMacro(OutputImageDimension,
unsigned int, TOutputImage::ImageDimension);
96 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
124 void GenerateInputRequestedRegion()
override;
127 void EnlargeOutputRequestedRegion(itk::DataObject* itkNotUsed(output))
override;
129 void BeforeThreadedGenerateData()
override;
131 void ThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId)
override;
133 void AfterThreadedGenerateData()
override;
139 void ParseLine(
const RLEVectorType& line, itk::ThreadIdType threadId);
158 #ifndef OTB_MANUAL_INSTANTIATION
RLE(const IndexType &w, long unsigned int l, unsigned long int la)
convert a labeled image to a label map with adjacency information.
OutputImageType::ConstPointer OutputImageConstPointer
InputImageType::PixelType InputImagePixelType
void operator=(const Self &)=delete
std::vector< OutputImagePointer > m_TemporaryImages
~LabelImageToLabelMapWithAdjacencyFilter() override
itk::SmartPointer< Self > Pointer
OutputImageType::LabelObjectType LabelObjectType
LabelObjectType::ConstLineIterator ConstLineIteratorType
OutputImageType::LabelType LabelType
InputImageType::IndexType IndexType
OutputImageType::RegionType OutputImageRegionType
LabelImageToLabelMapWithAdjacencyFilter(const Self &)=delete
LabelImageToLabelMapWithAdjacencyFilter Self
OutputImageType::PixelType OutputImagePixelType
std::vector< AdjacencyMapType > m_TemporaryAdjacencyMaps
InputImageType::RegionType InputImageRegionType
TInputImage InputImageType
OutputImagePixelType m_BackgroundValue
OutputImageType::Pointer OutputImagePointer
itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
OutputImageType::AdjacentLabelsContainerType AdjacentLabelsContainerType
OutputImageType::AdjacencyMapType AdjacencyMapType
std::vector< RLE > RLEVectorType
itk::SmartPointer< const Self > ConstPointer
TOutputImage OutputImageType
InputImageType::ConstPointer InputImageConstPointer
InputImageType::Pointer InputImagePointer
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.