11#include "MantidCrystal/DllConfig.h"
13#include <boost/tuple/tuple.hpp>
17#include <unordered_set>
29namespace ConnectedComponentMappingTypes {
35using SetIds = std::unordered_set<size_t>;
36using ClusterMap = std::map<size_t, std::shared_ptr<Mantid::Crystal::ICluster>>;
37using ClusterTuple = boost::tuple<Mantid::API::IMDHistoWorkspace_sptr, ClusterMap>;
52 size_t getStartLabelId()
const;
55 void startLabelingId(
const size_t &
id);
Helper class for reporting progress from algorithms.
BackgroundStrategy : Abstract class used for identifying elements of a IMDWorkspace that are not cons...
ConnectedComponentLabelling : Implements connected component labeling on MDHistoWorkspaces.
virtual ~ConnectedComponentLabeling()
Destructor.
size_t m_startId
Start labeling index.
int m_nThreadsToUse
Run multithreaded.
std::shared_ptr< IMDHistoWorkspace > IMDHistoWorkspace_sptr
shared pointer to Mantid::API::IMDHistoWorkspace
std::map< size_t, std::shared_ptr< Mantid::Crystal::ICluster > > ClusterMap
std::unordered_set< size_t > SetIds
std::map< Mantid::Kernel::V3D, size_t > PositionToLabelIdMap
std::vector< size_t > VecIndexes
boost::tuple< double, double > SignalErrorSQPair
std::vector< DisjointElement > VecElements
boost::tuple< Mantid::API::IMDHistoWorkspace_sptr, ClusterMap > ClusterTuple
std::map< size_t, SignalErrorSQPair > LabelIdIntensityMap
Helper class which provides the Collimation Length for SANS instruments.