00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __mitkTF2DRGBAPSPSplineClassifier_h
00011 #define __mitkTF2DRGBAPSPSplineClassifier_h
00012
00013 #include "mitkTF2DRGBAClassifier.h"
00014
00021 class MITK_VISUALIZATION_API mitkTF2DRGBAPSPSplineClassifier : public mitkTF2DRGBAClassifier
00022 {
00023 public:
00024 MITK_TYPE( mitkTF2DRGBAPSPSplineClassifier, mitkTF2DRGBAClassifier )
00025
00026 mitkTF2DRGBAPSPSplineClassifier();
00027
00033 void SetSmoothnessDegree( int smoothnessdegree );
00034
00040 void SetDelta( float delta );
00041
00046 int GetSmoothnessDegree() const
00047 {
00048 return SmoothnessDegree;
00049 }
00050
00055 float GetDelta() const
00056 {
00057 return Delta;
00058 }
00059
00060 protected:
00061 virtual ~mitkTF2DRGBAPSPSplineClassifier();
00062
00063 virtual void _updateCurve();
00064
00066
00067
00069 double SplineValue( int x, int y );
00070
00072
00073
00074
00076 double LineSeg( int x, int y, double StartPoint[2], double EndPoint[2] );
00077
00079
00080
00082 double Vertex( int x, int y, double Point[2], double alpha, double beta );
00083
00085
00086
00088 double HeavisideFunc( double s, int n );
00089 double HeavisideFuncNum( double s, int n );
00090 double Square_Angle( double x, double y, double beta );
00091 double Corner( double x, double y, double beta );
00092 double Power( double x, int n );
00093
00094
00095 int SmoothnessDegree;
00096
00097
00098 float Delta;
00099
00100 private:
00101 mitkTF2DRGBAPSPSplineClassifier(const mitkTF2DRGBAPSPSplineClassifier&);
00102 void operator = (const mitkTF2DRGBAPSPSplineClassifier&);
00103
00104 };
00105
00106 #endif
00107
00108