25 #ifndef WSEGMENTATIONALGO_H
26 #define WSEGMENTATIONALGO_H
31 #include <boost/variant.hpp>
33 #include "core/common/WCondition.h"
34 #include "core/common/WPropertyTypes.h"
35 #include "core/dataHandler/WDataSetScalar.h"
A base class for segmentation alorithms.
virtual void properties()=0
Initialize your algorithms properties here.
virtual std::string getName()=0
Return the name of this algorithm.
std::shared_ptr< WDataSetScalar > DataSetPtr
A conveniant typedef.
std::shared_ptr< WCondition > getCondition()
Return a condition that indicates changes to the properties.
virtual ~WSegmentationAlgo()
Destructor.
virtual DataSetPtr applyOperation()=0
A virtual function that calls the correct segmentation operation.
DataSetPtr segment(DataSetPtr dataset)
This is called to trigger the actual segmentation in the segmentation module.
virtual bool propChanged()=0
Checks if any properties were changed.
std::shared_ptr< WCondition > m_propCondition
The condition indicating changed to the properties.
DataSetPtr m_dataSet
A pointer to the currently processed dataset.
virtual std::string getDescription()=0
Return a description of this algorithm.
WSegmentationAlgo()
Standard constructor.
void initProperties(WPropGroup group)
Initialize all properties for this algorithm.
void hideProperties(bool hide)
Tell the property group to hide itself.
WPropGroup m_properties
The property group of this segmentation algorithm.