Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
mitk::PlaneProposer Class Reference

The PlaneProposer creates a new plane based on an input point cloud. More...

#include <mitkPlaneProposer.h>

Classes

struct  PlaneInfo
 Encapsulates the geometrical information needed to descripe a PlaneInfo. More...
 

Public Member Functions

 PlaneProposer ()
 
 ~PlaneProposer ()
 
void SetUnstructuredGrids (std::vector< itk::SmartPointer< mitk::UnstructuredGrid >> &grids)
 
void SetUseDistances (bool)
 If true, the three clusters with the biggest mean distances are used for plane proposal Required the distance for each point to be set in PointData scalars. More...
 
void SetUseLeastSquares (bool)
 Tells the proposer to use least squares method for plane creating. More...
 
void SetNumberOfClustersToUse (unsigned int)
 Sets the number of the clusters to be used for plane creation (default=3) More...
 
void SetSliceNavigationController (itk::SmartPointer< mitk::SliceNavigationController > &snc)
 
void CreatePlaneInfo ()
 Creates the actual plane proposal. More...
 
PlaneInfo GetProposedPlaneInfo ()
 
std::array< std::array< double, 3 >, 3 > GetCentroids ()
 

Detailed Description

The PlaneProposer creates a new plane based on an input point cloud.

The proposal is either created by using the lease squares in order to fit a plane to the provided point cloud or by using the centroid of three clusters

If less than three clusters are provided, least squares is chosen automatically. If the centroid method is chosed either the three biggest clusters are chosen by default. If the users sets PlaneProposer::SetUseDistances(true) the three clusters with the biggerst mean distance of all points are chosen. The latter requires the distances to be set as PointData scalar to the underlying VTK object.

The user can either take the plane information or he can set a mitk::SliceNavigationController which will be used to automatically rotate to the suggested position.

Definition at line 48 of file mitkPlaneProposer.h.

Constructor & Destructor Documentation

◆ PlaneProposer()

mitk::PlaneProposer::PlaneProposer ( )

◆ ~PlaneProposer()

mitk::PlaneProposer::~PlaneProposer ( )

Member Function Documentation

◆ CreatePlaneInfo()

void mitk::PlaneProposer::CreatePlaneInfo ( )

Creates the actual plane proposal.

Is less than three clusters are provide the least squares method will be chosen automatically The result will either be executed on a mitk::SliceNavigationController if provided or can be retrieved by calling mitk::PlaneProposer::GetProposedPlaneInfo()

◆ GetCentroids()

std::array<std::array<double, 3>, 3> mitk::PlaneProposer::GetCentroids ( )

◆ GetProposedPlaneInfo()

PlaneInfo mitk::PlaneProposer::GetProposedPlaneInfo ( )

◆ SetNumberOfClustersToUse()

void mitk::PlaneProposer::SetNumberOfClustersToUse ( unsigned int  )

Sets the number of the clusters to be used for plane creation (default=3)

◆ SetSliceNavigationController()

void mitk::PlaneProposer::SetSliceNavigationController ( itk::SmartPointer< mitk::SliceNavigationController > &  snc)

◆ SetUnstructuredGrids()

void mitk::PlaneProposer::SetUnstructuredGrids ( std::vector< itk::SmartPointer< mitk::UnstructuredGrid >> &  grids)

◆ SetUseDistances()

void mitk::PlaneProposer::SetUseDistances ( bool  )

If true, the three clusters with the biggest mean distances are used for plane proposal Required the distance for each point to be set in PointData scalars.

◆ SetUseLeastSquares()

void mitk::PlaneProposer::SetUseLeastSquares ( bool  )

Tells the proposer to use least squares method for plane creating.

This will eb chosen automatically if less than three point clusters are provided


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