18#ifndef itkLabelMapContourOverlayImageFilter_h
19#define itkLabelMapContourOverlayImageFilter_h
57template <
typename TLabelMap,
58 typename TFeatureImage,
59 typename TOutputImage = Image<RGBPixel<typename TFeatureImage::PixelType>, TFeatureImage::ImageDimension>>
78 using LabelType =
typename LabelObjectType::LabelType;
99 static constexpr unsigned int LabelMapDimension = TLabelMap::ImageDimension;
100 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
101 static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension;
112 HIGH_LABEL_ON_TOP = 0,
127 this->SetNthInput(1,
const_cast<TFeatureImage *
>(input));
141 this->SetInput(input);
148 this->SetFeatureImage(input);
154 itkSetMacro(Opacity,
double);
155 itkGetConstReferenceMacro(Opacity,
double);
160 itkSetMacro(Type,
int);
161 itkGetConstReferenceMacro(Type,
int);
166 itkSetMacro(Priority,
int);
167 itkGetConstReferenceMacro(Priority,
int);
173 itkGetConstReferenceMacro(DilationRadius,
SizeType);
179 itkGetConstReferenceMacro(ContourThickness,
SizeType);
184 itkSetMacro(SliceDimension,
int);
185 itkGetConstReferenceMacro(SliceDimension,
int);
194 if (m_Functor != functor)
236 Superclass::DynamicThreadedGenerateData(outputRegion);
263 int m_SliceDimension{};
272#ifndef ITK_MANUAL_INSTANTIATION
273# include "itkLabelMapContourOverlayImageFilter.hxx"
Base class for all data objects in ITK.
Control indentation during Print() invocation.
Apply a colormap to the contours (outlines) of each object in a label map and superimpose it on top o...
typename OutputImageType::RegionType OutputImageRegionType
LabelMapType * GetLabelMap() override
typename FeatureImageType::ConstPointer FeatureImageConstPointer
typename LabelMapType::Pointer LabelMapPointer
typename LabelMapType::LabelObjectType LabelObjectType
typename OutputImageType::ConstPointer OutputImageConstPointer
void GenerateData() override
typename OutputImageType::IndexType IndexType
typename LabelMapType::PixelType LabelMapPixelType
typename LabelMapType::ConstPointer LabelMapConstPointer
void ThreadedProcessLabelObject(LabelObjectType *labelObject) override
void SuperclassDynamicTGD(const OutputImageRegionType &outputRegion)
void PrintSelf(std::ostream &os, Indent indent) const override
TOutputImage OutputImageType
void GenerateOutputInformation() override
~LabelMapContourOverlayImageFilter() override=default
void SetFeatureImage(TFeatureImage *input)
typename OutputImageType::SizeType SizeType
typename LabelObjectType::LabelType LabelType
void SetInput1(TLabelMap *input)
LabelMapContourOverlayImageFilter()
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
void GenerateInputRequestedRegion() override
FunctorType & GetFunctor()
FeatureImageType * GetFeatureImage()
void BeforeThreadedGenerateData() override
typename FeatureImageType::RegionType FeatureImageRegionType
typename LabelMapType::RegionType LabelMapRegionType
virtual void SetFunctor(const FunctorType &functor)
typename Functor::LabelOverlayFunctor< FeatureImagePixelType, LabelMapPixelType, OutputImagePixelType > FunctorType
typename FeatureImageType::Pointer FeatureImagePointer
TFeatureImage FeatureImageType
typename OutputImageType::Pointer OutputImagePointer
typename OutputImageType::RegionType RegionType
const FunctorType & GetFunctor() const
void EnlargeOutputRequestedRegion(DataObject *) override
typename FeatureImageType::PixelType FeatureImagePixelType
typename OutputImageType::PixelType OutputImagePixelType
void SetInput2(TFeatureImage *input)
Base class for filters that take an image as input and overwrite that image as the output.
Light weight base class for most itk classes.
DataObject * GetInput(const DataObjectIdentifierType &key)
Return an input.
Functor::Add2< typename TInputImage1::PixelType, typename TInputImage2::PixelType, typename TOutputImage::PixelType > FunctorType
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....