18 #ifndef itkContourExtractor2DImageFilter_h
19 #define itkContourExtractor2DImageFilter_h
23 #include <unordered_map>
107 template <
typename TInputImage>
115 static constexpr
unsigned int InputImageDimension{ TInputImage::ImageDimension };
158 itkSetMacro(ReverseContourOrientation,
bool);
159 itkGetConstReferenceMacro(ReverseContourOrientation,
bool);
160 itkBooleanMacro(ReverseContourOrientation);
166 itkSetMacro(VertexConnectHighPixels,
bool);
167 itkGetConstReferenceMacro(VertexConnectHighPixels,
bool);
168 itkBooleanMacro(VertexConnectHighPixels);
172 itkSetMacro(LabelContours,
bool);
173 itkGetConstReferenceMacro(LabelContours,
bool);
174 itkBooleanMacro(LabelContours);
184 ClearRequestedRegion();
192 #ifdef ITK_USE_CONCEPT_CHECKING
205 PrintSelf(std::ostream & os,
Indent indent)
const override;
208 GenerateData()
override;
214 GenerateInputRequestedRegion()
override;
222 bool m_ReverseContourOrientation{};
223 bool m_VertexConnectHighPixels{};
224 bool m_LabelContours{};
225 bool m_UseCustomRegion{};
275 return std::hash<CoordinateType>{}(v[0]) ^ (std::hash<CoordinateType>{}(v[1]) << 1);
294 GenerateDataForLabels();
314 FillOutputs(
const std::vector<InputPixelType> & allLabels,
315 std::unordered_map<InputPixelType, ContourContainerType> & labelsContoursOutput);
321 #ifndef ITK_MANUAL_INSTANTIATION
322 # include "itkContourExtractor2DImageFilter.hxx"