13 #ifndef mitkPlaneProposer_h
14 #define mitkPlaneProposer_h
21 #include <itkSmartPointer.h>
30 class SliceNavigationController;
31 class UnstructuredGrid;
109 PlaneInfo CreatePlaneByCentroids(
const std::vector<std::pair<int, int>> &sizeIDs,
110 const std::vector<std::pair<double, int>> &avgDistances);
115 PlaneInfo CreatePlaneByLeastSquares(
const std::vector<std::pair<int, int>> &sizeIDs,
116 const std::vector<std::pair<double, int>> &avgDistances);
118 std::vector<itk::SmartPointer<mitk::UnstructuredGrid>> m_Grids;
120 bool m_UseLeastSquares;
121 unsigned int m_NumberOfClustersToUse;
122 std::array<std::array<double, 3>, 3> m_Centroids;
#define MITKSURFACEINTERPOLATION_EXPORT
The PlaneProposer creates a new plane based on an input point cloud.
void SetNumberOfClustersToUse(unsigned int)
Sets the number of the clusters to be used for plane creation (default=3)
std::array< std::array< double, 3 >, 3 > GetCentroids()
void SetUseDistances(bool)
If true, the three clusters with the biggest mean distances are used for plane proposal Required the ...
void SetSliceNavigationController(itk::SmartPointer< mitk::SliceNavigationController > &snc)
PlaneInfo GetProposedPlaneInfo()
void SetUnstructuredGrids(std::vector< itk::SmartPointer< mitk::UnstructuredGrid >> &grids)
void CreatePlaneInfo()
Creates the actual plane proposal.
void SetUseLeastSquares(bool)
Tells the proposer to use least squares method for plane creating.
Find image slices visible on a given plane.
Encapsulates the geometrical information needed to describe a PlaneInfo.
mitk::Point3D pointOnPlane