From 4db786d4d317e70772a4a84e5567dcb6cde4ab4a Mon Sep 17 00:00:00 2001 From: "eduardo.davila@creatis.insa-lyon.fr" Date: Tue, 26 May 2026 17:23:44 +0200 Subject: [PATCH] #3338 gdcm1 to gdcm2 v3.3.0 --- src/creaImageIOGimmickView.cpp | 22 ++++++++++------------ src/creaImageIOSimpleView.cpp | 10 +++++++--- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/creaImageIOGimmickView.cpp b/src/creaImageIOGimmickView.cpp index 095f961..662ea6e 100644 --- a/src/creaImageIOGimmickView.cpp +++ b/src/creaImageIOGimmickView.cpp @@ -375,9 +375,7 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect out->ShallowCopy(mReader.GetImage(*it)); s.push_back(out); } - } - else - { + } else { // n*2D to 3D vtkImageData* out = vtkImageData::New(); // out->CopyStructure(first); @@ -389,13 +387,10 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect #else first->GetExtent(ext); // renvoie egalement 0,0 en Z // JPR #endif - if(ext[5] == 0) { ext[5] = (int)im.size()-1; - } - else - { + } else { ext[5] = ext[5] * (int)im.size()-1; // to deal with multiframes - JPR } out->SetExtent(ext); @@ -435,7 +430,6 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect // Try orderFilesWithZSpacing from OutputModel FCY // spc[2]=OrderTheFileNameVector(im); spc[2] =1; - out->SetSpacing(spc); int slice = 0; @@ -444,6 +438,7 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect for (it=im.begin(); it!=im.end(); ++it) { vtkImageData* cur = mReader.GetImage( (*it) ); + printf("EED GimmickView::ReadImagesNotThreaded T.T.T.T.T.T.T.T.T.T.T.T.T.T.T.T.T\n"); memcpy(out->GetScalarPointer(0,0,slice), cur->GetScalarPointer(0,0,0), imsize); slice++; } @@ -556,8 +551,10 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect out.img->SetSpacing(spac); out.img->SetDimensions(dim[0], dim[1], (int)im.size() ); - - +//EED 2026-05-26 + double orgX,orgY,orgZ; + first->GetOrigin(orgX,orgY,orgZ); + out.img->SetOrigin(orgX,orgY,orgZ); //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 @@ -582,6 +579,7 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect for (it=im.begin(); it!=im.end(); ++it) { vtkImageData* cur = mReader.GetImage( (*it) ); + printf("EED GimmickView::ReadImage3 XXXXXT.T.T.T.T.T.T.T.T.T.T.T.T.T.T.T.T\n"); memcpy(out.img->GetScalarPointer(0,0,slice), cur->GetScalarPointer(0,0,0), imsize); slice++; } // for it @@ -640,8 +638,7 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect #else out.img->AllocateScalars(first->GetScalarType(),first->GetNumberOfScalarComponents()); #endif - - + printf("EED GimmickView::ReadImage2 XXXXXT.T.T.T.T.T.T.T.T.T.T.T.T.T.T.T.T\n"); memcpy(out.img->GetScalarPointer(0,0,0), cur->GetScalarPointer(0,0,slice), imsize); o_output.push_back(out); } @@ -705,6 +702,7 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect for (it=im.begin(); it!=im.end(); ++it, index ++) { vtkImageData* cur = mReader.GetImage( (*it) ); + printf("EED GimmickView::ReadImage4 XXXXXT.T.T.T.T.T.T.T.T.T.T.T.T.T.T.T.T\n"); memcpy(out.img->GetScalarPointer(0,0,index), cur->GetScalarPointer(0,0,slice), imsize); o_output.push_back(out); } diff --git a/src/creaImageIOSimpleView.cpp b/src/creaImageIOSimpleView.cpp index 41341ed..db57a4a 100644 --- a/src/creaImageIOSimpleView.cpp +++ b/src/creaImageIOSimpleView.cpp @@ -53,7 +53,6 @@ namespace creaImageIO std::vector::iterator it = i_filenames.begin(); for (; it != i_filenames.end(); it++) { - printf("EED SimpleView::readFile .H.H.H %s \n" , (*it).c_str() ); bresult = mReader->CanRead( (*it).c_str() ); if(bresult) { @@ -191,9 +190,13 @@ namespace creaImageIO } out->SetSpacing(spac); out->SetDimensions(dim[0], dim[1], lstImages.size() ); +//EED2026-05-26 + double orgX,orgY,orgZ; + first->GetOrigin(orgX,orgY,orgZ); + out->SetOrigin(orgX,orgY,orgZ); + //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 - out->SetScalarType(first->GetScalarType()); out->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents()); out->AllocateScalars(); @@ -202,7 +205,6 @@ namespace creaImageIO out->AllocateScalars(first->GetScalarType(),first->GetNumberOfScalarComponents()); #endif - unsigned long imsize = dim[0] * dim[1]; imsize = imsize * dim[2]; // deal with multiframes here // differents formats char , short, etc... @@ -215,7 +217,9 @@ namespace creaImageIO memcpy(out->GetScalarPointer(0,0,slice), img->GetScalarPointer(0,0,0), imsize); //img->Delete(); } // for slice + out->Modified(); + //EED This is NOT working. The iteration over the pointer vtkImageData // int slice=0; // std::vector::iterator it; -- 2.54.0