Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkEuclideanSkeletonGraphCut.h

00001 /*=========================================================================
00002 
00003   Program:   3DMed
00004   Date:      $Date: 2014-02-25 18:30:00 +0800 $
00005   Version:   $Version: 4.6.0 $
00006   Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences
00007 
00008 =========================================================================*/
00009 
00010 #ifndef __mitkEuclideanSkeletonGraphCut_h
00011 #define __mitkEuclideanSkeletonGraphCut_h
00012 
00013 #include "mitkSegmentationIncludes.h"
00014 #include "mitkEuclideanSkeletonFeatureExtraction.h"
00015 #include "mitkVolumeToVolumeFilter.h"
00016 
00023 class MITK_SEGMENTATION_API mitkEuclideanSkeletonGraphCut : public mitkVolumeToVolumeFilter
00024 {
00025 public:
00026     MITK_TYPE(mitkEuclideanSkeletonGraphCut,mitkFilter)
00027     mitkEuclideanSkeletonGraphCut();
00028 
00033     void SetEuclideanSkeletonFeature(mitkEuclideanSkeletonFeature *inData) {m_ESF = inData;}
00038     mitkEuclideanSkeletonFeature * GetEuclideanSkeletonFeature() {return m_ESF;}
00045     void SetUserSelection(unsigned char* userSelection);
00050     void SetIntensityFactor(float intFac) { m_IntensityFactor=intFac;}
00055     void SetRadiusFactor(float radFac) { m_RadiusFactor=radFac;}
00056 
00057     typedef enum
00058     {
00059         OM_NoOutput,
00060         OM_Mask,
00061         OM_A,
00062         OM_B,
00063         OM_CA,
00064         OM_CB,
00065         OM_BIN_A,
00066         OM_BIN_B
00067     }OutputMode;
00072     void SetOutputMode (OutputMode om) { m_OutputMode=om;}
00078     void GetCutResult(unsigned char* cr);
00083     bool GenerateOutput(OutputMode om);
00084 
00085 protected:
00086     virtual ~mitkEuclideanSkeletonGraphCut();
00087     virtual bool Execute();
00088 
00089     mitkRCPtr<mitkEuclideanSkeletonFeature> m_ESF;
00090     unsigned char *m_UserSelection;
00091 
00092     float m_IntensityFactor,m_RadiusFactor;
00093 
00094     OutputMode m_OutputMode;
00095     unsigned char *m_CutResult;
00096 
00097 private:
00098     mitkEuclideanSkeletonGraphCut(const mitkEuclideanSkeletonGraphCut&);
00099     void operator = (const mitkEuclideanSkeletonGraphCut&);
00100 
00101 };
00102 
00103 #endif

Generated on Tue Feb 25 15:00:36 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3