18 #ifndef itkLabelMapMaskImageFilter_h
19 #define itkLabelMapMaskImageFilter_h
47 template <
typename TInputImage,
typename TOutputImage>
67 using LabelType =
typename LabelObjectType::LabelType;
80 static constexpr
unsigned int InputImageDimension = TInputImage::ImageDimension;
81 static constexpr
unsigned int OutputImageDimension = TOutputImage::ImageDimension;
82 static constexpr
unsigned int ImageDimension = TOutputImage::ImageDimension;
95 this->SetNthInput(1, const_cast<TOutputImage *>(input));
99 const OutputImageType *
109 this->SetInput(input);
116 this->SetFeatureImage(input);
123 itkSetMacro(BackgroundValue, OutputImagePixelType);
124 itkGetConstMacro(BackgroundValue, OutputImagePixelType);
130 itkSetMacro(
Label, InputImagePixelType);
131 itkGetConstMacro(
Label, InputImagePixelType);
137 itkSetMacro(Negated,
bool);
138 itkGetConstReferenceMacro(Negated,
bool);
139 itkBooleanMacro(Negated);
145 itkSetMacro(Crop,
bool);
146 itkGetConstReferenceMacro(Crop,
bool);
147 itkBooleanMacro(Crop);
155 itkGetConstReferenceMacro(CropBorder,
SizeType);
166 GenerateInputRequestedRegion()
override;
170 EnlargeOutputRequestedRegion(
DataObject * itkNotUsed(output))
override;
173 GenerateOutputInformation()
override;
176 GenerateData()
override;
179 DynamicThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread)
override;
185 Superclass::DynamicThreadedGenerateData(outputRegion);
189 ThreadedProcessLabelObject(LabelObjectType * labelObject)
override;
192 PrintSelf(std::ostream & os,
Indent indent)
const override;
197 bool m_Negated{
false };
198 bool m_Crop{
false };
206 #ifndef ITK_MANUAL_INSTANTIATION
207 # include "itkLabelMapMaskImageFilter.hxx"