18 #ifndef itkLabelMapContourOverlayImageFilter_h
19 #define itkLabelMapContourOverlayImageFilter_h
57 template <
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));
134 return itkDynamicCastInDebugMode<FeatureImageType *>(const_cast<DataObject *>(this->
ProcessObject::GetInput(1)));
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);
172 itkSetMacro(DilationRadius,
SizeType);
173 itkGetConstReferenceMacro(DilationRadius,
SizeType);
178 itkSetMacro(ContourThickness,
SizeType);
179 itkGetConstReferenceMacro(ContourThickness,
SizeType);
184 itkSetMacro(SliceDimension,
int);
185 itkGetConstReferenceMacro(SliceDimension,
int);
194 if (m_Functor != functor)
220 GenerateInputRequestedRegion()
override;
224 EnlargeOutputRequestedRegion(
DataObject * itkNotUsed(output))
override;
227 BeforeThreadedGenerateData()
override;
230 DynamicThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread)
override;
236 Superclass::DynamicThreadedGenerateData(outputRegion);
240 GenerateData()
override;
243 ThreadedProcessLabelObject(LabelObjectType * labelObject)
override;
246 GenerateOutputInformation()
override;
249 PrintSelf(std::ostream & os,
Indent indent)
const override;
263 int m_SliceDimension{};
272 #ifndef ITK_MANUAL_INSTANTIATION
273 # include "itkLabelMapContourOverlayImageFilter.hxx"