]> Creatis software - creaContours.git/blobdiff - lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx
no message
[creaContours.git] / lib / kernel_ManagerContour_NDimensions / KernelManagerContour.cxx
index 93e21d5d355cc8489aa48fbafdbd75d595c1e139..9d3f861c36c4e01e4ab0f245637e629d87b91f11 100644 (file)
@@ -13,7 +13,13 @@ KernelManagerContour::KernelManagerContour(){
 **/
        inredo = 0;
        inundo = 0;     
-       stundoredo = "data/temp";
+
+       time_t seconds;
+       seconds = time (NULL);
+       int time = seconds;
+
+
+       stundoredo = "data/temp"+intToString(time);
        _currentIndex = 0;
 
        _contourPropagation = NULL;
@@ -28,7 +34,8 @@ KernelManagerContour::KernelManagerContour(){
 **/
 
 }
-KernelManagerContour::KernelManagerContour(std::vector<vtkImageData*> images){
+KernelManagerContour::KernelManagerContour(std::vector<vtkImageData*> images,std::string datadir,std::string tmpdir)
+{
 
 
 /**THIS ALL SHOULD BE IN AN OTHER LIB CALLED PERSISTANCE
@@ -36,38 +43,46 @@ KernelManagerContour::KernelManagerContour(std::vector<vtkImageData*> images){
 **/
        inredo = 0;
        inundo = 0;     
-       stundoredo = "data/temp";
-       _currentIndex = 0;
 
+       time_t seconds;
+       seconds = time (NULL);
+       int time = seconds;
+
+
+       stundoredo = tmpdir+"/temp"+intToString(time);
+       _currentIndex = 0;
+       
        _contourPropagation = NULL;
 #if(WIN32)
-               mkdir(stundoredo.c_str());
+       mkdir(tmpdir.c_str());
+       mkdir(stundoredo.c_str());
 #else
-               mkdir(stundoredo.c_str(),755);
+       mkdir(tmpdir.c_str(),755);
+       mkdir(stundoredo.c_str(),755);
 #endif
        stundoredo += "/cont";
 /**
 **  FINISH PERSISTANCE
 **/
        setVectImages(images);
-       initializeEnvironment();
+       initializeEnvironment(datadir);
 
 }
 KernelManagerContour::~KernelManagerContour(){
-}
+}      
 
 std::vector<vtkImageData*> KernelManagerContour::getVectImages(){
        return vectimages;
 }
 void KernelManagerContour::setVectImages(std::vector<vtkImageData*> vectimg){
 
-       for(int i = 0; i < vectimg.size(); i++){
+       for(int i = 0; i < (int)(vectimg.size()); i++){
                vtkImageData* img = vectimg[i];
                vtkImageChangeInformation* change = vtkImageChangeInformation::New();
                change->SetInformationInput(img);
                change->SetInputConnection(img->GetProducerPort());
 
-               change->SetOutputSpacing(0.6,0.6,0.6);
+               change->SetOutputSpacing(1,1,1);
                
                change->Update();
 
@@ -77,9 +92,9 @@ void KernelManagerContour::setVectImages(std::vector<vtkImageData*> vectimg){
        vectimages = vectimg;
 }
 
-void KernelManagerContour::initializeEnvironment(){
-       std::string conceptsFN                  =  "data/holaConceptsFile.cf";
-       std::string imageSourcesFN              = "data/holaImagesInstantsFile.of";
+void KernelManagerContour::initializeEnvironment(std::string datadir){
+       std::string conceptsFN                  =  datadir+"holaConceptsFile.cf";
+       std::string imageSourcesFN              =  datadir+"holaImagesInstantsFile.of";
        std::string imageSectionsFN             = "";
        std::string axeThingsFN                 = "";
 
@@ -88,7 +103,7 @@ void KernelManagerContour::initializeEnvironment(){
        std::map<std::string, AxeThing *>* axesMap                                      = new std::map<std::string, AxeThing *>();
        std::map<std::string, ContourThing *>* outlinesMap                      = new std::map<std::string, ContourThing *>();  
 
-       for(int i = 0; i < vectimages.size(); i++){
+       for(int i = 0; i < (int)(vectimages.size()); i++){
                vtkImageData* selectedimage = vectimages[i];
                ImageSourceThing * thing                                                                        = new ImageSourceThing(selectedimage);
                std::string imgstring = "Source Image "+intToString(i+1);
@@ -96,7 +111,7 @@ void KernelManagerContour::initializeEnvironment(){
        }
        
 
-       OutlineModelBuilder * _builder                                                          = new OutlineModelBuilder( conceptsFN );
+       OutlineModelBuilder * _builder                                                          = new OutlineModelBuilder( conceptsFN ,datadir);
        _builder->buildImageSource_Envornment( imageSourcesFN, sourcesMap );
        _builder->buildImageSection_Envornment( imageSectionsFN, sectionsMap );         
        _builder->buildAxe_Envornment(axeThingsFN, axesMap );
@@ -188,7 +203,8 @@ void KernelManagerContour::setInstant(std::vector<int> vectInstant){
        modelManager->setInstant(act);
 }
 
-std::string KernelManagerContour::createCopyContourOf ( std::string anExistingKName, std::vector<int> &instantNoTouchData){
+std::string KernelManagerContour::createCopyContourOf ( std::string anExistingKName, std::vector<int> &instantNoTouchData)
+{
        return modelManager->createCopyContourOf(anExistingKName, instantNoTouchData);
 }
 manualContourModel* KernelManagerContour::getOutlineByKeyName(std::string cloneName){
@@ -327,7 +343,7 @@ manualContourModel* KernelManagerContour::GetPoints(int z,int type, std::vector<
                for (int j=0 ; j<sizeCtrPt ; j++)
                {
 //JSTG_16-07-08_----------------------------------------------------------------
-                       manModelContour->AddPoint( (*vecCtrlPointX)[j] , (*vecCtrlPointY)[j] , -900  );
+                       manModelContour->AddPoint( (*vecCtrlPointX)[j] , (*vecCtrlPointY)[j] , 900  );
 //--------------------------------------------------------------------
                } // for j
 
@@ -340,7 +356,6 @@ manualContourModel* KernelManagerContour::GetPoints(int z,int type, std::vector<
                
        }// ifSliceKeyContourExist
        return manModelContour;
-
 }
 
 manualContourModel * KernelManagerContour::factoryManualContourModel(int typeContour)
@@ -371,6 +386,12 @@ manualContourModel * KernelManagerContour::factoryManualContourModel(int typeCon
                manModelContour = new manualContourModelCircle();
        }
 
+       // line
+       if (typeContour==6)
+       {
+               manModelContour = new manualContourModelLine();
+       }
+
        return manModelContour;
 }
 
@@ -378,7 +399,7 @@ std::vector<std::string> KernelManagerContour::getOutlinesNameAtInstant(std::vec
        Instant instant(&tempvector);
        std::vector<ContourThing**> vectcont = modelManager->getOutlinesAtInstant( &instant );
        std::vector<std::string> vectname;
-       for(int i = 0; i < vectcont.size(); i++){
+       for(int i = 0; i < (int)(vectcont.size()); i++){
                ContourThing **contourthing = vectcont[i];
                vectname.push_back((*contourthing)->getName());
        }
@@ -414,7 +435,7 @@ void KernelManagerContour::getConceptsInformation(std::vector<std::string>& conc
 vtkImageData* KernelManagerContour::getImageAtInstant(std::vector<int> inst){
        int index = inst[5]-1;
 
-       if(index < vectimages.size()&&index!=_currentIndex){
+       if(index < (int)(vectimages.size())&&index!=_currentIndex){
                _currentIndex=index;
                return vectimages[index];
        }
@@ -427,4 +448,6 @@ std::string KernelManagerContour::getCurrentFileName(){
 
 void KernelManagerContour::setCurrentFileName(std::string filenam){
        this->filename = filenam;
-}
\ No newline at end of file
+}
+
+