]> Creatis software - creaContours.git/blobdiff - lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx
#3383 NDimension changeImage
[creaContours.git] / lib / kernel_ManagerContour_NDimensions / KernelManagerContour.cxx
index 5671ae0e6a204767b5a24c7e99d77f8819614f23..4a96eae2505cb2f510c1575b14bb4a5e088d9a76 100644 (file)
@@ -91,6 +91,23 @@ std::vector<vtkImageData*> KernelManagerContour::getVectImages()
        return vectimages;
 }
 
+void KernelManagerContour::changeImage(int id, vtkImageData *img)
+{
+    if ( id<vectimages.size() )
+    {
+        vectimages[id]=img;
+    }
+    double spc[3];
+    std::vector<double> vectspc;
+    img->GetSpacing(spc);
+    vectspc.push_back(spc[0]);
+    vectspc.push_back(spc[1]);
+    vectspc.push_back(spc[2]);
+    vectimagesSpacing[id]=vectspc;
+    std::string         imgstring           = "Source Image "+intToString(id+1);
+    ImageSourceThing    *imagesourcething   = modelManager->getImageSourceThingByKeyName( imgstring );
+    imagesourcething->setSourceImage( img );
+}
 
 void KernelManagerContour::setVectImages(std::vector<vtkImageData*> vectimg)
 {
@@ -489,14 +506,12 @@ void KernelManagerContour::getConceptsInformation(std::vector<std::string>& conc
        modelManager-> getConceptsInformation(conceptNameVect, conceptSizeVect);
 }
 
-
 vtkImageData* KernelManagerContour::getImageAtInstant(std::vector<int> inst)
 {
        int index = inst[5]-1;
-
        if(index < (int)(vectimages.size())&&index!=_currentIndex)
     {
-               _currentIndex=index;
+               _currentIndex = index;
                return vectimages[index];
        }
        return NULL;
@@ -514,29 +529,20 @@ void KernelManagerContour::setCurrentFileName(std::string filenam)
 
 std::string KernelManagerContour::parseOsirixFile(std::string filename)
 {
-
-
 #ifdef ParserOsirix_BUILD
        vtkImageData* sourceimage;
        std::string xsdfile;
-
        xsdfile = _datadir;
-
        xsdfile.append("\\XML\\osirixschema.xsd");
-
        sourceimage = getSourceImage();
        OsirixParser p(xsdfile.c_str(), sourceimage->GetSpacing(), sourceimage->GetExtent());
-
-       if(p.ParseFile(filename.c_str())!= 0){
-
+       if(p.ParseFile(filename.c_str())!= 0)
+    {
        }
-
        return p.getContoursFileName();
 #else
        return "";
 #endif
-
-
 }