X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Fkernel_ManagerContour_NDimensions%2FKernelManagerContour.h;h=28238838b422f2537525e48e242f57763d20710c;hb=ec11a783e7b5477f1d93886a6336255cd7cbecf3;hp=a2661344bb796b2e941c7310bc4fc921b92987a6;hpb=bd4e97f732f7c8154aafbf1bf419c6115e9560c7;p=creaContours.git diff --git a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h index a266134..2823883 100644 --- a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h +++ b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h @@ -13,9 +13,17 @@ #include "OutlineModelManager.h" #include "OutlineModelBuilder.h" #include "time.h" - +#ifdef ParserOsirix_BUILD +#include "OsirixParser.h" +#endif #include "ContourPropagation.h" +#include "manualContourModel.h" +#include "manualContourModelCircle.h" +#include "manualContourModelLine.h" +#include "manualContourModelRoi.h" +#include "manualContourModelPolygon.h" + #include class KernelManagerContour{ @@ -39,28 +47,31 @@ public: std::vector getVectImages(); void setVectImages(std::vector vectimg); + void GetSpacing(double *vecspc, int iImage); + + /** ** This method returns the source of the image data selected by the user. */ vtkImageData* getSourceImage(); - + void initializeEnvironment(std::string datadir); /** ** This methods connect the event in the class interfNewContourMenu with the world of the appli - **/ + **/ - std::string createOutline(manualContourModel * manModelContour,std::vector instantVector); + std::string createOutline(manualBaseModel * manModelContour,std::vector instantVector); ///////////////////////////////// std::string intToString(int num); std::vector GetLstNameThingsStatic(); - void SaveThingName(FILE* pFile, std::string name ); + void SaveThingName(FILE* pFile, FILE *pFileData, std::string name ); std::vector GetLstNameThings(); @@ -81,10 +92,10 @@ public: void setInstant(Instant* theInstant); void setInstant(std::vector vectInstant); std::string createCopyContourOf ( std::string anExistingKName, std::vector &instantNoTouchData); - + Instant * getCurrentInstant(); - manualContourModel* getOutlineByKeyName(std::string cloneName); + manualBaseModel* getOutlineByKeyName(std::string cloneName); bool onRedo(std::string& filename); @@ -102,9 +113,22 @@ public: void getMaxMinZ(double *minZ,double *maxZ); - manualContourModel* GetPoints(int z,int type, std::vector* vecCtrlPointX,std::vector* vecCtrlPointY,std::vector* vecCtrlPointZ, std::string& theName,int typeofcontour, std::vector tempVector); - - manualContourModel* factoryManualContourModel(int typeContour); + manualBaseModel* GetPoints(int z,int type, std::vector* vecCtrlPointX,std::vector* vecCtrlPointY,std::vector* vecCtrlPointZ, std::string& theName,int typeofcontour, std::vector tempVector); + + // + // Method which creates the model associated with the type in parameter. The possible contour types are: + // 0-spline + // 1-spline + // 2-rectangle + // 3-circle + // 4-BullEye + // 5-BullEyeSector + // 6-Line + // 7-Points + // NOTE: The view and the controler are created in the wxVtkBaseView_SceneManager class, configureViewControlTo method + // @param typeContour - int + // @return manualBaseModel - Model created based on the type + manualBaseModel* factoryManualContourModel(int typeContour); void CalculeSplinePropagation(); @@ -112,42 +136,44 @@ public: std::vector getOutlinesAtInstant(Instant* instant ); - std::vector ExploseEachModel( std::vector lstManConMod ); + std::vector ExploseEachModel( std::vector lstManConMod ); + - void getConceptsInformation(std::vector& conceptNameVect, std::vector& conceptSizeVect); vtkImageData* getImageAtInstant(std::vector inst); - + //------------------------------------------------------------------------------------------------------------ // Constants //------------------------------------------------------------------------------------------------------------ void setCurrentFileName(std::string filenam); std::string getCurrentFileName(); -private: + + std::string parseOsirixFile(std::string filename); +private: //------------------------------------------------------------------------------------------------------------ // Attributes //------------------------------------------------------------------------------------------------------------ - std::vector vectimages; + std::vector vectimages; + std::vector > vectimagesSpacing; - ImageSourceThing * imageSource; + ImageSourceThing *imageSource; //Instant * _actualInstant; //Temporary attribute should be removed - OutlineModelManager * modelManager; - - std::string filename; + OutlineModelManager *modelManager; - int inredo; - int inundo; - int _currentIndex; - std::string stundoredo; + std::string filename; - ContourPropagation* _contourPropagation; + int inredo; + int inundo; + int _currentIndex; + std::string stundoredo; + std::string _datadir; - bool isInitContourPropagation(); + ContourPropagation *_contourPropagation; - OutlineModelManager* getOutlineModelManager(); + OutlineModelManager *getOutlineModelManager(); }; #endif