X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Fkernel_ManagerContour_NDimensions%2FKernelManagerContour.h;h=28238838b422f2537525e48e242f57763d20710c;hb=4fdb591d3acc9947caa5e26e17ea14e8d78cf061;hp=296fbca1abe004b4778faa32ed2463bf81e990cb;hpb=b935f54c82b090852001860eb12f5433779c22c4;p=creaContours.git diff --git a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h index 296fbca..2823883 100644 --- a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h +++ b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h @@ -6,15 +6,24 @@ //------------------------------------------------------------------------------------------------------------ // 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 "manualContourModel.h" +#include "manualContourModelCircle.h" +#include "manualContourModelLine.h" +#include "manualContourModelRoi.h" +#include "manualContourModelPolygon.h" + #include class KernelManagerContour{ @@ -32,34 +41,37 @@ 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(); 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(); + + 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(); @@ -80,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); @@ -101,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(); @@ -111,38 +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 //------------------------------------------------------------------------------------------------------------ -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