#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 <vtkImageChangeInformation.h>
class KernelManagerContour{
** 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<vtkImageData*> images,std::string datadir);
+ KernelManagerContour(std::vector<vtkImageData*> images,std::string datadir,std::string tmpdir);
~KernelManagerContour();
std::vector<vtkImageData*> getVectImages();
*/
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<int> instantVector);
+ std::string createOutline(manualBaseModel * manModelContour,std::vector<int> instantVector);
/////////////////////////////////
std::string intToString(int num);
std::vector<std::string> GetLstNameThingsStatic();
- void SaveThingName(FILE* pFile, std::string name );
+ void SaveThingName(FILE* pFile, FILE *pFileData, std::string name );
std::vector<std::string> GetLstNameThings();
void setInstant(Instant* theInstant);
void setInstant(std::vector<int> vectInstant);
std::string createCopyContourOf ( std::string anExistingKName, std::vector<int> &instantNoTouchData);
-
+
Instant * getCurrentInstant();
- manualContourModel* getOutlineByKeyName(std::string cloneName);
+ manualBaseModel* getOutlineByKeyName(std::string cloneName);
bool onRedo(std::string& filename);
void getMaxMinZ(double *minZ,double *maxZ);
- manualContourModel* GetPoints(int z,int type, std::vector<double>* vecCtrlPointX,std::vector<double>* vecCtrlPointY,std::vector<double>* vecCtrlPointZ, std::string& theName,int typeofcontour, std::vector<int> tempVector);
-
- manualContourModel* factoryManualContourModel(int typeContour);
+ manualBaseModel* GetPoints(int z,int type, std::vector<double>* vecCtrlPointX,std::vector<double>* vecCtrlPointY,std::vector<double>* vecCtrlPointZ, std::string& theName,int typeofcontour, std::vector<int> 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();
std::vector<ContourThing**> getOutlinesAtInstant(Instant* instant );
- std::vector<manualContourModel*> ExploseEachModel( std::vector<manualContourModel*> lstManConMod );
+ std::vector<manualBaseModel*> ExploseEachModel( std::vector<manualBaseModel*> lstManConMod );
+
-
void getConceptsInformation(std::vector<std::string>& conceptNameVect, std::vector<int>& conceptSizeVect);
vtkImageData* getImageAtInstant(std::vector<int> inst);
-
+
//------------------------------------------------------------------------------------------------------------
// Constants
//------------------------------------------------------------------------------------------------------------
void setCurrentFileName(std::string filenam);
std::string getCurrentFileName();
-private:
+
+ std::string parseOsirixFile(std::string filename);
+private:
//------------------------------------------------------------------------------------------------------------
// Attributes
//------------------------------------------------------------------------------------------------------------
int inundo;
int _currentIndex;
std::string stundoredo;
+ std::string _datadir;
ContourPropagation* _contourPropagation;
- bool isInitContourPropagation();
-
OutlineModelManager* getOutlineModelManager();
};
#endif