ContourPropagation.h
Go to the documentation of this file.00001 #ifndef __ContourPropagation_h_INCLUDED__
00002 #define __ContourPropagation_h_INCLUDED__
00003
00004 #include "Propagation.h"
00005 #include "ExtractControlPoints2D.h"
00006 #include "vtkImageData.h"
00007 #include "vectorFunctions.h"
00008 #include "marTypes.h"
00009
00010 class creaMaracasVisu_EXPORT ContourPropagation
00011 {
00012 public:
00013 ContourPropagation();
00014 ~ContourPropagation();
00015 void resetAppend ( );
00016 void appendContour ( std::vector<double>*InX,
00017 std::vector<double>*InY,
00018 std::vector<double>*InZ );
00019 void GetContour ( int id, std::vector<double>*vecX,
00020 std::vector<double>*vecY,
00021 std::vector<double>*vecZ );
00022
00023 void GetInitialControlPoints ( int id, std::vector<double>*vecX,
00024 std::vector<double>*vecY,
00025 std::vector<double>*vecZ);
00026 void GetControlPoints ( int id, std::vector<double>*vecX,
00027 std::vector<double>*vecY,
00028 std::vector<double>*vecZ );
00029
00030
00031 void CalculeSplinePropagation();
00032 void GetControlPoints ( int id, double samp,
00033 std::vector<double>*vecX,
00034 std::vector<double>*vecY,
00035 std::vector<double>*vecZ );
00036
00037 int FindIdWithZ ( double z);
00038
00039
00040 void getMaxMinZ ( double *minz, double *maxz);
00041 void setInterpolationNumber ( int num );
00042
00043
00044
00045 void appendContour ( );
00046 vtkImageData* GetKeyContours ( std::vector<double>*vecX,
00047 std::vector<double>*vecY,
00048 std::vector<double>*vecZ,
00049 std::vector<int>*vecS );
00050
00051 bool ifSliceKeyContourExist(int slice);
00052
00053
00054 private:
00055 bool mustOrderAppend( );
00056 void orderAppend( );
00057 void OrdenarSliceKeyContourVec();
00058
00059
00060 PropContour *_propc;
00061 AutoControlPoints *_autoc;
00062 ExtractControlPoints2D *_ext2D;
00063
00064 std::vector<double> _InX;
00065 std::vector<double> _InY;
00066 std::vector<double> _InZ;
00067 std::vector<int> _InS;
00068 std::vector<int> _sliceKeyContourVec;
00069
00070 std::vector<Vector> _planevector;
00071 };
00072
00073 #endif //__ContourPropagation_h_INCLUDED__
00074
00075