Medical Imaging Interaction Toolkit  2024.12.99-0da743f6
Medical Imaging Interaction Toolkit
mitk::UnstructuredGridClusteringFilter Class Reference

This filter uses the DBSCAN algorithm for clustering an mitk::UnstructuredGrid. "MinPts" defines the number of neighbours which are required to be a kernel point if a point is in range of a kernel point but hasn't enough neighbours this point is added to the cluster but is a density reachable point and the cluster ends at this point. "eps" is the range in which the neighbours are searched. If "Meshing" is set the clusteres UnstructuredGrid is meshed and visible in 2D renderwindows. More...

#include <mitkUnstructuredGridClusteringFilter.h>

Inheritance diagram for mitk::UnstructuredGridClusteringFilter:
Collaboration diagram for mitk::UnstructuredGridClusteringFilter:

Public Member Functions

 mitkClassMacro (UnstructuredGridClusteringFilter, UnstructuredGridToUnstructuredGridFilter)
 
Pointer Clone () const
 
virtual void Seteps (double _arg)
 
virtual double Geteps ()
 
virtual void SetMinPts (int _arg)
 
virtual int GetMinPts ()
 
virtual void SetMeshing (bool _arg)
 
virtual std::vector< mitk::UnstructuredGrid::PointerGetAllClusters ()
 
virtual int GetNumberOfFoundClusters ()
 
- Public Member Functions inherited from mitk::UnstructuredGridToUnstructuredGridFilter
 mitkClassMacro (UnstructuredGridToUnstructuredGridFilter, UnstructuredGridSource)
 
Pointer Clone () const
 
void GenerateOutputInformation () override
 
const mitk::UnstructuredGridGetInput (void)
 
virtual const mitk::UnstructuredGridGetInput (unsigned int idx)
 
virtual void SetInput (const UnstructuredGrid *grid)
 
virtual void SetInput (unsigned int idx, const UnstructuredGrid *grid)
 
virtual void CreateOutputsForAllInputs (unsigned int idx)
 
- Public Member Functions inherited from mitk::UnstructuredGridSource
 mitkClassMacro (UnstructuredGridSource, BaseDataSource)
 
Pointer Clone () const
 
mitkBaseDataSourceGetOutputDeclarations itk::DataObject::Pointer MakeOutput (DataObjectPointerArraySizeType idx) override
 
itk::DataObject::Pointer MakeOutput (const DataObjectIdentifierType &name) override
 
- Public Member Functions inherited from mitk::BaseDataSource
virtual std::vector< std::string > GetClassHierarchy () const
 
virtual const char * GetClassName () const
 
OutputTypeGetOutput ()
 
const OutputTypeGetOutput () const
 
OutputTypeGetOutput (DataObjectPointerArraySizeType idx)
 
const OutputTypeGetOutput (DataObjectPointerArraySizeType idx) const
 
virtual void GraftOutput (OutputType *output)
 Graft the specified BaseData onto this BaseDataSource's output. More...
 
virtual void GraftOutput (const DataObjectIdentifierType &key, OutputType *output)
 
virtual void GraftNthOutput (unsigned int idx, OutputType *output)
 Graft the specified base data object onto this BaseDataSource's idx'th output. More...
 
bool Updating () const
 Access itk::ProcessObject::m_Updating. More...
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from mitk::UnstructuredGridToUnstructuredGridFilter
static Pointer New ()
 
- Static Public Member Functions inherited from mitk::UnstructuredGridSource
static Pointer New ()
 
- Static Public Member Functions inherited from mitk::BaseDataSource
static const char * GetStaticNameOfClass ()
 

Protected Member Functions

 UnstructuredGridClusteringFilter ()
 
 ~UnstructuredGridClusteringFilter () override
 
void GenerateOutputInformation () override
 
void GenerateData () override
 
- Protected Member Functions inherited from mitk::UnstructuredGridToUnstructuredGridFilter
 UnstructuredGridToUnstructuredGridFilter ()
 
 ~UnstructuredGridToUnstructuredGridFilter () override
 
- Protected Member Functions inherited from mitk::UnstructuredGridSource
 UnstructuredGridSource ()
 
 ~UnstructuredGridSource () override
 
- Protected Member Functions inherited from mitk::BaseDataSource
 BaseDataSource ()
 
 ~BaseDataSource () override
 

Additional Inherited Members

- Public Types inherited from mitk::UnstructuredGridSource
typedef mitk::UnstructuredGrid OutputType
 
- Public Types inherited from mitk::BaseDataSource
typedef BaseDataSource Self
 
typedef itk::ProcessObject Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef BaseData OutputType
 
typedef itk::DataObject::DataObjectIdentifierType DataObjectIdentifierType
 
- Static Protected Member Functions inherited from mitk::BaseDataSource
static Pointer New ()
 

Detailed Description

This filter uses the DBSCAN algorithm for clustering an mitk::UnstructuredGrid. "MinPts" defines the number of neighbours which are required to be a kernel point if a point is in range of a kernel point but hasn't enough neighbours this point is added to the cluster but is a density reachable point and the cluster ends at this point. "eps" is the range in which the neighbours are searched. If "Meshing" is set the clusteres UnstructuredGrid is meshed and visible in 2D renderwindows.

DBSCAN algorithm:

DBSCAN(D, eps, MinPts)
C = 0
for each unvisited point P in dataset D
  mark P as visited
  N = D.regionQuery(P, eps)
  if sizeof(N) < MinPts
    mark P as NOISE
  else
    C = next cluster
    expandCluster(P, N, C, eps, MinPts)

expandCluster(P, N, C, eps, MinPts)
  add P to cluster C
  for each point P' in N
    if P' is not visited
      mark P' as visited
      N' = D.regionQuery(P', eps)
      if sizeof(N') >= MinPts
        N = N joined with N'
    if P' is not yet member of any cluster
      add P' to cluster C

Definition at line 62 of file mitkUnstructuredGridClusteringFilter.h.

Constructor & Destructor Documentation

◆ UnstructuredGridClusteringFilter()

mitk::UnstructuredGridClusteringFilter::UnstructuredGridClusteringFilter ( )
protected

Constructor

◆ ~UnstructuredGridClusteringFilter()

mitk::UnstructuredGridClusteringFilter::~UnstructuredGridClusteringFilter ( )
overrideprotected

Destructor

Member Function Documentation

◆ Clone()

Pointer mitk::UnstructuredGridClusteringFilter::Clone ( ) const

◆ GenerateData()

void mitk::UnstructuredGridClusteringFilter::GenerateData ( )
overrideprotected

Is called by the Update() method

◆ GenerateOutputInformation()

void mitk::UnstructuredGridClusteringFilter::GenerateOutputInformation ( )
overrideprotected

Defines the output of the filter

◆ GetAllClusters()

virtual std::vector<mitk::UnstructuredGrid::Pointer> mitk::UnstructuredGridClusteringFilter::GetAllClusters ( )
virtual

Returns all clusters as UnstructuredGrids which were found

◆ Geteps()

virtual double mitk::UnstructuredGridClusteringFilter::Geteps ( )
virtual

◆ GetMinPts()

virtual int mitk::UnstructuredGridClusteringFilter::GetMinPts ( )
virtual

◆ GetNumberOfFoundClusters()

virtual int mitk::UnstructuredGridClusteringFilter::GetNumberOfFoundClusters ( )
virtual

Returns the number of the clusters which were found

◆ mitkClassMacro()

mitk::UnstructuredGridClusteringFilter::mitkClassMacro ( UnstructuredGridClusteringFilter  ,
UnstructuredGridToUnstructuredGridFilter   
)

◆ New()

static Pointer mitk::UnstructuredGridClusteringFilter::New ( )
static

◆ Seteps()

virtual void mitk::UnstructuredGridClusteringFilter::Seteps ( double  _arg)
virtual

Sets the distance for the neighbour search

◆ SetMeshing()

virtual void mitk::UnstructuredGridClusteringFilter::SetMeshing ( bool  _arg)
virtual

If activated the clusteres UnstructuredGrid is meshed

◆ SetMinPts()

virtual void mitk::UnstructuredGridClusteringFilter::SetMinPts ( int  _arg)
virtual

Sets the number of required neighbours


The documentation for this class was generated from the following file: