18 #ifndef __itkBinaryImageToLabelMapFilter_h
19 #define __itkBinaryImageToLabelMapFilter_h
58 template<
class TInputImage,
60 LabelMap< LabelObject< SizeValueType, TInputImage::ImageDimension > > >
96 itkStaticConstMacro(ImageDimension,
unsigned int, TOutputImage::ImageDimension);
97 itkStaticConstMacro(OutputImageDimension,
unsigned int, TOutputImage::ImageDimension);
98 itkStaticConstMacro(InputImageDimension,
unsigned int, TInputImage::ImageDimension);
126 itkSetMacro(FullyConnected,
bool);
127 itkGetConstReferenceMacro(FullyConnected,
bool);
128 itkBooleanMacro(FullyConnected);
150 #ifdef ITK_USE_CONCEPT_CHECKING
154 itkGetStaticConstMacro(OutputImageDimension) > ) );
160 void PrintSelf(std::ostream & os,
Indent indent)
const;
165 void BeforeThreadedGenerateData();
167 void AfterThreadedGenerateData();
169 void ThreadedGenerateData(
const RegionType & outputRegionForThread,
ThreadIdType threadId);
174 void GenerateInputRequestedRegion();
180 void EnlargeOutputRequestedRegion(
DataObject *itkNotUsed(output) );
184 void operator=(
const Self &);
195 typename InputImageType::IndexType
where;
216 void InsertSet(
const LabelType label);
218 LabelType LookupSet(
const LabelType label);
220 void LinkLabels(
const LabelType lab1,
const LabelType lab2);
222 LabelType CreateConsecutive();
225 bool CheckNeighbors(
const OutputIndexType & A,
226 const OutputIndexType & B);
228 void CompareLines(lineEncoding & current,
const lineEncoding & Neighbour);
230 void FillOutput(
const LineMapType & LineMap,
233 void SetupLineOffsets(OffsetVectorType & LineOffsets);
238 if ( m_NumberOfLabels.size() > 1 )
256 #if !defined( CABLE_CONFIGURATION )
262 #ifndef ITK_MANUAL_INSTANTIATION
263 #if !defined( CABLE_CONFIGURATION )
264 #include "itkBinaryImageToLabelMapFilter.hxx"