]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOWxSimpleDlg.cpp
#3320 ReadImages box
[creaImageIO.git] / src / creaImageIOWxSimpleDlg.cpp
index 226f55fafddaca2251545fc7dea6fdce75b7b1cf..5ee7649e489a5758ada7efb056ca598e55318b11 100644 (file)
@@ -214,104 +214,8 @@ namespace creaImageIO
 //-----------------------------------------------------------------------------   
        vtkImageData*  WxSimpleDlg::getVolumeSelected()
        {
-               vtkImageData *result;
-
-//        creaImageIO::WxSimpleDlg dlg(0,crea::std2wx(bbGetInputTitle()),"localdatabase_Descriptor.dscp","Local Database"); 
-//             dlg.SetAttrDicomTags( bbGetInputDicomTags() );
-//             dlg.ShowModal(); 
-//             bbSetOutputDicomInfo( dlg.getDicomInfoImagesSelected() );
-
-               if (getImagesSelected().size()!=0){ 
-//               bbSetOutputFileName( std::string( dlg.getInfoImage().mb_str() ) );
-                 if(getImagesSelected().size() ==1)
-                 {
-                       result = getImagesSelected()[0] ;  
-                 } else {
-                               // FCY: it will be a big problem if we have several kind of data in the same folder.
-                               // creation of a huge vtkImageData!!!!
-                               vtkImageData* first = getImagesSelected()[0];
-                               int dim[3];
-                               first->GetDimensions(dim);
-                               if (dim[2]==1)
-                               {
-                                       vtkImageData *out = vtkImageData::New();
-                                       int ext[6];
-//EED 2017-01-01 Migration VTK7
-#if VTK_MAJOR_VERSION <= 5
-                                       first->GetWholeExtent(ext); 
-#else
-                                       first->GetExtent(ext); 
-#endif
-                                       if(ext[5] == 0)
-                                       {
-                                          ext[5] = getImagesSelected().size()-1;
-                                        } else {
-                                               ext[5] = ext[5] * getImagesSelected().size()-1; // to deal with multiframes 
-                                       } // ext
-                                       out->SetExtent(ext);
-                                       double spac[3];
-                                       first->GetDimensions(dim);
-                                       first->GetSpacing(spac);
-                                       if (spac[0]==spac[1])
-                                       {
-                                               spac[2]=spac[0];  
-                               }
-                                       out->SetSpacing(spac);
-                                       out->SetDimensions(dim[0], dim[1], getImagesSelected().size() );
-//EED 2017-01-01 Migration VTK7
-#if VTK_MAJOR_VERSION <= 5
-
-                                       out->SetScalarType(first->GetScalarType());
-                                       out->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
-                                       out->AllocateScalars();
-                                       out->Update();
-#else
-                                       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...
-                                       // differents components 1..3  ex. jpg ->RGB 3
-                                       imsize = imsize * first->GetScalarSize() * first->GetNumberOfScalarComponents();
-                               int slice,sizeImageVector=getImagesSelected().size();
-                                       for (slice=0 ; slice<sizeImageVector ; slice++)
-                                       {
-                                               vtkImageData *img = getImagesSelected()[slice];
-                                               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<vtkImageData*>::iterator it;
-//                             for (it=dlg.getImagesSelected().begin(); it!=dlg.getImagesSelected().end(); ++it) 
-//                                     {
-//                                               memcpy(out->GetScalarPointer(0,0,slice), (*it)->GetScalarPointer(0,0,0), imsize);
-//                                               slice++;
-//                                     }       
-//                             //for (it=dlg.getImagesSelected().begin(); it!=dlg.getImagesSelected().end(); ++it) 
-//                                     //{
-//                                     //              (*it)->Delete();
-//                                     //}
-
-                                       result =out;
-
-                               } else {
-                                       result = first;
-                               } // dim
-                       } // if getImagesSelected size
-               } else { 
-               result = NULL;  
-               } // getImagesSelected().size()!=0
-
-                       result->Modified();
-               return result;
-
-               }
-
-
+               return m_view.getVolumeSelected( getImagesSelected() );
+       }
 
 } // namespace creaImageIO