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 mitkContourUtilshIncludett
00019 #define mitkContourUtilshIncludett
00020
00021 #include "mitkImage.h"
00022 #include "MitkExtExports.h"
00023 #include "mitkContour.h"
00024
00025 #include <itkImage.h>
00026
00027 namespace mitk
00028 {
00029
00035 class MitkExt_EXPORT ContourUtils : public itk::Object
00036 {
00037 public:
00038
00039 mitkClassMacro(ContourUtils, itk::Object);
00040 itkNewMacro(ContourUtils);
00041
00047 Contour::Pointer ProjectContourTo2DSlice(Image* slice, Contour* contourIn3D, bool correctionForIpSegmentation, bool constrainToInside);
00048
00054 Contour::Pointer BackProjectContourFrom2DSlice(Image* slice, Contour* contourIn2D, bool correctionForIpSegmentation = false);
00055
00059 void FillContourInSlice( Contour* projectedContour, Image* sliceImage, int paintingPixelValue = 1 );
00060
00061 protected:
00062
00063 ContourUtils();
00064 virtual ~ContourUtils();
00065
00071 template<typename TPixel, unsigned int VImageDimension>
00072 void ItkCopyFilledContourToSlice( itk::Image<TPixel,VImageDimension>* originalSlice, const Image* filledContourSlice, int overwritevalue = 1 );
00073 };
00074
00075 }
00076
00077 #endif
00078