28 #ifndef itkConnectedRegionsMeshFilter_h
29 #define itkConnectedRegionsMeshFilter_h
49 template<
typename TInputMesh,
typename TOutputMesh >
83 itkStaticConstMacro(PointDimension,
unsigned int,
84 TInputMesh::PointDimension);
108 enum { PointSeededRegions = 0,
109 CellSeededRegions = 1,
110 SpecifiedRegions = 2,
113 ClosestPointRegion = 5 };
121 itkSetMacro(ExtractionMode,
int);
122 itkGetConstMacro(ExtractionMode,
int);
127 this->SetExtractionMode(Self::PointSeededRegions);
132 this->SetExtractionMode(Self::CellSeededRegions);
137 this->SetExtractionMode(Self::SpecifiedRegions);
142 this->SetExtractionMode(Self::LargestRegion);
147 this->SetExtractionMode(Self::AllRegions);
152 this->SetExtractionMode(Self::ClosestPointRegion);
171 m_SeedList.push_back(
id);
186 m_RegionList.clear();
196 m_RegionList.push_back(
id);
211 if ( m_ClosestPoint != p )
221 return m_ClosestPoint;
229 return m_RegionList.size();
237 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
239 virtual void GenerateData() ITK_OVERRIDE;
241 void PropagateConnectedWave();
247 int m_ExtractionMode;
261 #ifndef ITK_MANUAL_INSTANTIATION
262 #include "itkConnectedRegionsMeshFilter.hxx"
void InitializeSeedList(void)
InputMeshType::CellsContainer::ConstIterator CellsContainerConstIterator
TInputMesh::CellLinksContainerConstPointer InputMeshCellLinksContainerConstPointer
TInputMesh::PointIdentifier InputMeshPointIdentifier
Light weight base class for most itk classes.
TInputMesh::PointType InputMeshPointType
void SetExtractionModeToLargestRegion(void)
void SetExtractionModeToAllRegions(void)
MeshToMeshFilter< TInputMesh, TOutputMesh > Superclass
signed long OffsetValueType
TInputMesh::PointsContainerConstPointer InputMeshPointsContainerConstPointer
ConnectedRegionsMeshFilter Self
InputMeshType::PointsContainer::ConstIterator PointsContainerConstIterator
InputMeshPointType & GetClosestPoint(InputMeshPointType &)
TInputMesh::CellIdentifier InputMeshCellIdentifier
void SetExtractionModeToClosestPointRegion(void)
SmartPointer< const Self > ConstPointer
MeshToMeshFilter is the base class for all process objects that output mesh data, and require mesh da...
TInputMesh::CellTraits::PointIdConstIterator InputMeshPointIdConstIterator
unsigned long SizeValueType
void AddSeed(IdentifierType id)
TInputMesh::CellsContainerPointer InputMeshCellsContainerPointer
SizeValueType IdentifierType
SmartPointer< Self > Pointer
TOutputMesh OutputMeshType
ImageBaseType::PointType PointType
TInputMesh::CellDataContainer InputMeshCellDataContainer
void SetClosestPoint(InputMeshPointType &p)
void SetExtractionModeToSpecifiedRegions(void)
TInputMesh::CellsContainer InputMeshCellsContainer
TInputMesh::ConstPointer InputMeshConstPointer
TInputMesh::PointCellLinksContainer InputMeshCellLinksContainer
TInputMesh::CellDataContainerPointer InputMeshCellDataContainerPointer
void AddSpecifiedRegion(IdentifierType id)
TInputMesh::CellAutoPointer InputMeshCellPointer
void SetExtractionModeToPointSeededRegions(void)
virtual ~ConnectedRegionsMeshFilter() override
void InitializeSpecifiedRegionList(void)
Control indentation during Print() invocation.
TOutputMesh::Pointer OutputMeshPointer
SizeValueType GetNumberOfExtractedRegions()
TInputMesh::CellDataContainerConstPointer InputMeshCellDataContainerConstPointer
InputMeshType::CellDataContainer::ConstIterator CellDataContainerConstIterator
void SetExtractionModeToCellSeededRegions(void)
TInputMesh::CellsContainerConstPointer InputMeshCellsContainerConstPointer
Extract portions of a mesh that are connected at vertices.