Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef mitkFeedbackContourTool_h_Included
00019 #define mitkFeedbackContourTool_h_Included
00020
00021 #include "mitkCommon.h"
00022 #include "MitkExtExports.h"
00023 #include "mitkSegTool2D.h"
00024 #include "mitkContour.h"
00025 #include "mitkContourUtils.h"
00026 #include "mitkImage.h"
00027
00028 #include "mitkDataNode.h"
00029
00030 #include "mitkImageCast.h"
00031
00032 namespace mitk
00033 {
00034
00054 class MitkExt_EXPORT FeedbackContourTool : public SegTool2D
00055 {
00056 public:
00057
00058 mitkClassMacro(FeedbackContourTool, SegTool2D);
00059
00060 protected:
00061
00062 FeedbackContourTool();
00063 FeedbackContourTool(const char*);
00064 virtual ~FeedbackContourTool();
00065
00066 Contour* GetFeedbackContour();
00067 void SetFeedbackContour(Contour&);
00068 void SetFeedbackContourVisible(bool);
00069
00071 void SetFeedbackContourColor( float r, float g, float b );
00072 void SetFeedbackContourColorDefault();
00073
00079 Contour::Pointer ProjectContourTo2DSlice(Image* slice, Contour* contourIn3D, bool correctionForIpSegmentation = false, bool constrainToInside = true);
00080
00086 Contour::Pointer BackProjectContourFrom2DSlice(Image* slice, Contour* contourIn2D, bool correctionForIpSegmentation = false);
00087
00091 void FillContourInSlice( Contour* projectedContour, Image* sliceImage, int paintingPixelValue = 1 );
00092
00093 private:
00094
00095 Contour::Pointer m_FeedbackContour;
00096 DataNode::Pointer m_FeedbackContourNode;
00097 bool m_FeedbackContourVisible;
00098
00099 ContourUtils::Pointer m_ContourUtils;
00100 };
00101
00102 }
00103
00104 #endif
00105