18 #ifndef GRM_SEGMENTER_H
19 #define GRM_SEGMENTER_H
26 template<
class TImage,
class TNode,
class TParam>
60 bool prev_merged =
false;
GraphType::NodePointerType NodePointerType
static bool PerfomAllDitheredIterationsWithBF(SegmenterType &seg)
static void InitNodes(ImageType *inputImg, SegmenterType &seg, CONNECTIVITY mask)
static bool PerfomAllIterationsWithLMBFAndConstThreshold(SegmenterType &seg)
LabelImageType::Pointer GetLabelImage(const GraphType &graph, const unsigned int width, const unsigned int height)
ClusteredImageType::Pointer GetClusteredOutput(const GraphType &graph, const unsigned int width, const unsigned int height)
void SetInput(TImage *in)
GRMSetMacro(bool, DoFastSegmentation)
Graph< NodeType > GraphType
GRMSetMacro(ParamType, Param)
virtual void InitFromImage()=0
LabelImageType::Pointer GetLabeledClusteredOutput()
unsigned int m_ImageHeight
GRMSetMacro(unsigned int, ImageWidth)
unsigned int m_ImageWidth
GRMGetMacro(float, Threshold)
GraphType::EdgeType EdgeType
GRMGetMacro(unsigned int, ImageWidth)
unsigned int m_NumberOfComponentsPerPixel
virtual float ComputeMergingCost(NodePointerType n1, NodePointerType n2)=0
GraphOperations< Self > GraphOperatorType
GRMSetMacro(unsigned int, NumberOfIterations)
ClusteredImageType::Pointer GetClusteredImageOutput()
virtual void UpdateSpecificAttributes(NodePointerType n1, NodePointerType n2)=0
Segmenter< TImage, TNode, TParam > Self
GRMSetMacro(unsigned int, NumberOfComponentsPerPixel)
GraphOperatorType::NodePointerType NodePointerType
GraphToOtbImage< GraphType > IOType
GRMGetMacro(unsigned int, NumberOfComponentsPerPixel)
bool m_DoFastSegmentation
GRMGetMacro(unsigned int, ImageHeight)
GRMGetMacro(unsigned int, NumberOfIterations)
IOType::LabelImageType LabelImageType
GRMSetMacro(unsigned int, ImageHeight)
GRMSetMacro(float, Threshold)
IOType::ClusteredImageType ClusteredImageType
unsigned int m_NumberOfIterations
Creation of an "otb" image which contains metadata.
itk::SmartPointer< Self > Pointer
Creation of an "otb" vector image which contains metadata.
itk::SmartPointer< Self > Pointer
NodeType::CRPTNeighborType EdgeType