Medical Imaging Interaction Toolkit
2023.04.00
Medical Imaging Interaction Toolkit
|
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 () |
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.
mitk::PlaneProposer::PlaneProposer | ( | ) |
mitk::PlaneProposer::~PlaneProposer | ( | ) |
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()
std::array<std::array<double, 3>, 3> mitk::PlaneProposer::GetCentroids | ( | ) |
PlaneInfo mitk::PlaneProposer::GetProposedPlaneInfo | ( | ) |
void mitk::PlaneProposer::SetNumberOfClustersToUse | ( | unsigned int | ) |
Sets the number of the clusters to be used for plane creation (default=3)
void mitk::PlaneProposer::SetSliceNavigationController | ( | itk::SmartPointer< mitk::SliceNavigationController > & | snc | ) |
void mitk::PlaneProposer::SetUnstructuredGrids | ( | std::vector< itk::SmartPointer< mitk::UnstructuredGrid >> & | grids | ) |
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.
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