From b04dc6c9928ba99405f454fe51fffd9454554232 Mon Sep 17 00:00:00 2001 From: "eduardo.davila@creatis.insa-lyon.fr" Date: Sat, 17 Oct 2026 15:31:36 +0200 Subject: [PATCH] 3338 gdcm1 to gdcm2 v3.3.0 --- src/creaImageIOGimmickView.cpp | 12 ++---- src/creaImageIOOutputModel.cpp | 55 +++++++++--------------- src/creaImageIOWxGimmickReaderDialog.cpp | 3 +- src/creaImageIOWxGimmickReaderDialog.h | 2 +- src/creaImageIOWxGimmickView.cpp | 32 +++++++------- src/creaImageIOWxSimpleDlg.cpp | 2 +- 6 files changed, 43 insertions(+), 63 deletions(-) diff --git a/src/creaImageIOGimmickView.cpp b/src/creaImageIOGimmickView.cpp index 19ed441..5946f88 100644 --- a/src/creaImageIOGimmickView.cpp +++ b/src/creaImageIOGimmickView.cpp @@ -594,9 +594,9 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect void GimmickView::readImages2(std::vector& o_output, std::vector im, OutputAttr i_attr, double i_zspc) { - vtkImageData* first = mReader.GetImage( im.front()); - int dim[3]; - double spac[3]; + vtkImageData *first = mReader.GetImage( im.front()); + int dim[3]; + double spac[3]; first->GetDimensions(dim); first->GetSpacing(spac); // differents formats char , short, etc... @@ -660,12 +660,10 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect vtkImageData* first = mReader.GetImage( im.front()); int dim[3]; first->GetDimensions(dim); - for (int slice= 0 ; slice & s, std::vect #else first->GetExtent(ext); // send also 0,0 in Z #endif - double spac[6]; ext[5] = 0; out.img->SetExtent(ext); @@ -691,11 +688,9 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect #else out.img->AllocateScalars(first->GetScalarType(), first->GetNumberOfScalarComponents()); #endif - unsigned long imsize = dim[0] * dim[1]; imsize = imsize * first->GetScalarSize() * first->GetNumberOfScalarComponents(); int index = 0; - for (it=im.begin(); it!=im.end(); ++it, index ++) { vtkImageData* cur = mReader.GetImage( (*it) ); @@ -707,7 +702,6 @@ void GimmickView::ReadImagesNotThreaded(std::vector& s, std::vect { getAttributes(im.front(), o_output.front().infos,i_attr); } - } diff --git a/src/creaImageIOOutputModel.cpp b/src/creaImageIOOutputModel.cpp index c17365c..a487c3e 100644 --- a/src/creaImageIOOutputModel.cpp +++ b/src/creaImageIOOutputModel.cpp @@ -102,7 +102,7 @@ namespace creaImageIO }else { std::sort( im.begin(), im.end() ); } - + return spacing; } @@ -115,7 +115,8 @@ namespace creaImageIO //EED 2026-05-26 gdcm::IPPSorter s; s.SetComputeZSpacing( true ); - s.SetZSpacingTolerance( 1e-3 ); + s.SetZSpacingTolerance( 1e-4 ); +// s.SetZSpacingTolerance( 0 ); bool b = s.Sort( im ); if( !b ) { @@ -132,12 +133,14 @@ namespace creaImageIO const std::vector & sorted = s.GetFilenames(); im.clear(); - int iEED,sizeEED = sorted.size(); - for (iEED = 0; iEED //T OutputModel::getTypeTag() //{ @@ -285,13 +287,11 @@ namespace creaImageIO if( scan.GetMapping((*it_file).c_str()).begin() != scan.GetMapping((*it_file).c_str()).end()) { o_val[(*it)] = scan.GetMapping((*it_file).c_str()).begin()->second; - } - else - { + } else { o_val[(*it)] = ""; - } - } - } + } // if + } // for it_file + } } //const gdcm::VR::VRType OutputModel::getType(const std::string i_tag) @@ -323,9 +323,7 @@ namespace creaImageIO if (f->IsReadable()) { fileVector.push_back(f); - } - else - { + } else { lstAux.push_back((*it)); } } @@ -343,9 +341,7 @@ namespace creaImageIO { out.push_back( lstAux[i] ); } - } - else - { + } else { std::sort( im.begin(), im.end() ); } return spacing; @@ -372,9 +368,7 @@ namespace creaImageIO getValues(i_filenames, model[OUTPUTMODEL_TAG(3)], values); #endif - } - else - { + } else { OutputSort osort; for(int i = 0; i < 3; i++) { @@ -387,18 +381,15 @@ namespace creaImageIO if(b_db) { getDBValues(i_filenames,model[OUTPUTMODEL_TAG(3)], values); - } - else - { + } else { for(int i = 0; i (i_filenames,model[OUTPUTMODEL_TAG(3)], values); - } - else - { + } else { getValues(i_filenames, model[OUTPUTMODEL_TAG(3)], values); } - } - else - { + } else { for(int i = 0; i mGimmick; + boost::shared_ptr mGimmick; WxGimmickView *mView; wxButton *mOkButton; diff --git a/src/creaImageIOWxGimmickView.cpp b/src/creaImageIOWxGimmickView.cpp index c1fe02c..1daf730 100644 --- a/src/creaImageIOWxGimmickView.cpp +++ b/src/creaImageIOWxGimmickView.cpp @@ -465,15 +465,18 @@ void WxGimmickView::AddBtnTool(wxPanel *panel, wxBoxSizer *sizerH, int id, wxStr mod.sort(files, sort_files); */} + printf("WxGimmickView::getSelectedFiles Flat 1 zspacing=%f \n", zspacing); if ( sort_files.size() > 1 && ( (bsingle && i_dim_out == 1) || (!bsingle && i_dim_out ==3) ) ) { - OutputModel *mod = new OutputModel(); - zspacing = mod->orderFilesWithZspacing(sort_files); + OutputModel *mod = new OutputModel(); + zspacing = mod->orderFilesWithZspacing(sort_files); + printf("WxGimmickView::getSelectedFiles Flat 2 zspacing=%f \n", zspacing); delete mod; } // Now we read and create the waiting output (vtkImageData * or OutGimmickData *) - readImages(outG, sort_files, Oattr, i_dim_out, zspacing); - outFileNames = sort_files; + printf("WxGimmickView::getSelectedFiles Flat 3 \n"); + readImages(outG, sort_files, Oattr, i_dim_out, zspacing); + outFileNames = sort_files; } //====================================================================== @@ -481,7 +484,7 @@ void WxGimmickView::AddBtnTool(wxPanel *panel, wxBoxSizer *sizerH, int id, wxStr //====================================================================== void WxGimmickView::GetSelectedFiles(std::vector& s) { - GetTreeViewMap()[crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()))]->GetSelectedAsString(s); + GetTreeViewMap()[crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()))]->GetSelectedAsString(s); } //====================================================================== @@ -500,7 +503,6 @@ void WxGimmickView::AddBtnTool(wxPanel *panel, wxBoxSizer *sizerH, int id, wxStr { // Size of the icons; int size = 16; - wxIcon icons[20]; // should correspond to Icon_xxx enum icons[Icon_accept] = wxIcon(accept_xpm); @@ -522,16 +524,14 @@ void WxGimmickView::AddBtnTool(wxPanel *panel, wxBoxSizer *sizerH, int id, wxStr // Make all icons the same size = size of the first one int sizeOrig = icons[0].GetWidth(); for ( size_t i = 0; i < icon_number; i++ ) - { - if ( size == sizeOrig ) - { - mIcon->Add(icons[i]); - } - else - { + { + if ( size == sizeOrig ) + { + mIcon->Add(icons[i]); + } else { mIcon->Add(wxBitmap(wxBitmap(icons[i]).ConvertToImage().Rescale(size, size))); - } - } + } // if size + } // for i } //================================================= @@ -698,7 +698,7 @@ void WxGimmickView::AddBtnTool(wxPanel *panel, wxBoxSizer *sizerH, int id, wxStr if(sel.size()==0) { - valid= ValidateSelected(NULL, + valid = ValidateSelected(NULL, mSelectionMinDimension, mSelectionMaxDimension ); } else if(needProcess) { diff --git a/src/creaImageIOWxSimpleDlg.cpp b/src/creaImageIOWxSimpleDlg.cpp index 798c8e8..28fdf05 100644 --- a/src/creaImageIOWxSimpleDlg.cpp +++ b/src/creaImageIOWxSimpleDlg.cpp @@ -159,7 +159,7 @@ namespace creaImageIO int ii; // if(!bInfo) // { - for (ii=0;ii