X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Fkernel_ManagerContour_NDimensions%2FKernelManagerContour.h;h=cb3eed540fc3657e7e1099d064044f1256ad55d4;hb=fb42dbcd2fdf92b96397f90ac6b2794026c6d5cc;hp=2876a876a9a80bef15e16929c80c193ca7bc2262;hpb=6e3c929c883c405e0075fa8df10b12a935979367;p=creaContours.git diff --git a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h index 2876a87..cb3eed5 100644 --- a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h +++ b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h @@ -6,15 +6,25 @@ //------------------------------------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------------------------------------ -#include "ImageSourceThing.h" -#include "ImageSectionThing.h" -#include "AxeThing.h" -#include "ContourThing.h" +//#include "ImageSourceThing.h" +//#include "ImageSectionThing.h" +//#include "AxeThing.h" +//#include "ContourThing.h" #include "OutlineModelManager.h" #include "OutlineModelBuilder.h" +#include "time.h" +#ifdef ParserOsirix_BUILD +#include "OsirixParser.h" +#endif +#include "ContourPropagation.h" -#include "Contour/ContourPropagation.h" +#include "manualContourModel.h" +#include "manualContourModelCircle.h" +#include "manualContourModelLine.h" +#include "manualContourModelRoi.h" +#include "manualContourModelPolygon.h" +#include class KernelManagerContour{ @@ -31,7 +41,7 @@ public: ** If images are available before the construction of the kernelManager this method should be used ** it sets the vector images and initializes the environment **/ - KernelManagerContour(std::vector images); + KernelManagerContour(std::vector images,std::string datadir,std::string tmpdir); ~KernelManagerContour(); std::vector getVectImages(); @@ -42,23 +52,23 @@ public: */ vtkImageData* getSourceImage(); - - void initializeEnvironment(); + + 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(); @@ -79,10 +89,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); @@ -100,9 +110,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(); @@ -110,38 +133,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 //------------------------------------------------------------------------------------------------------------ -private: + void setCurrentFileName(std::string filenam); + std::string getCurrentFileName(); + + 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; + 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