]> Creatis software - creaImageIO.git/commitdiff
Merge remote-tracking branch 'origin/changeWx28to30' into vtk7itk4wx3 vtk7itk4wx3
authorEduardo DAVILA <davila@localhost.localdomain>
Wed, 4 Oct 2017 09:46:09 +0000 (11:46 +0200)
committerEduardo DAVILA <davila@localhost.localdomain>
Wed, 4 Oct 2017 09:46:09 +0000 (11:46 +0200)
1  2 
src/creaImageIOWxAnySimpleDlg.cpp
src/creaImageIOWxSimpleDlg.cpp
src/creaImageIOWxViewer.cpp

index a8db5f73ed26584d538de30ea503e6ed0f2b050f,5a713352cac2f32494cb0499d842a421e32a44f6..4a31cbe9de72e7d4cae819d5c03abaf8f7dc0afb
  #include "creaImageIOWxAnySimpleDlg.h"
  
  #include "creaImageIOWxGimmickReaderDialog.h"
 -#include <itkAnalyzeImageIO.h>
 +
 +#if ITK_VERSION_MAJOR < 4 //  : WARNING: deprecated in ITK 4.0
 +#  include <itkAnalyzeImageIO.h>
 +#  include <itkDICOMSeriesFileNames.h>
 +#else // ITK_VERSION_MAJOR < 4
 +#  include <itkGDCMSeriesFileNames.h>
 +#endif // ITK_VERSION_MAJOR < 4
 +
  #include <itkImageFileReader.h>
  #include <itkImageSeriesReader.h>
  #include <itkImage.h>
  #include <itkImageSeriesWriter.h>
  #include <itkGDCMImageIO.h>
 -#include <itkDICOMSeriesFileNames.h>
  #include <itkNumericSeriesFileNames.h>
  #include <itkVectorImage.h>
  #include <itkMetaImageIO.h>
@@@ -94,7 -88,12 +94,12 @@@ namespace creaImageI
       void WxAnySimpleDlg::OnReadFile(wxCommandEvent& event)
        {
            int resultShowModal;
+ //EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+ #if wxMAJOR_VERSION <= 2
            wxFileDialog* fileDlg = new wxFileDialog( 0,  _T("Select file"), _T(""), _T(""), crea::std2wx("*"), wxOPEN |wxFD_MULTIPLE, wxDefaultPosition);
+ #else
+           wxFileDialog* fileDlg = new wxFileDialog( 0,  _T("Select file"), _T(""), _T(""), crea::std2wx("*"), wxFD_OPEN |wxFD_MULTIPLE, wxDefaultPosition);
+ #endif
      
            resultShowModal = fileDlg->ShowModal();
            if ( resultShowModal==wxID_OK )
                          std::string name = crea::wx2std(wxArray[i]);
                          // FOR THE MOMENT ONLY short 3D et short 4D
                          readImg(name);
 -                    }
 -                } 
 -                else {
 +                    } // for
 +                } else {
                      // TO DO WARNING MESSAGES
 -                }
 -          }
 +                } // if
 +          } // if
            SetReturnCode( resultShowModal );
  //         Close();
            EndModal( resultShowModal );
        }
          
 +
 +/////////////////////////////////////////////////////////////////////
 +//                                                                  //
 +//////////////////////////////////////////////////////////////////////
       void WxAnySimpleDlg::setExts(std::vector<std::string> i_exts)
       {
           m_exts = i_exts;
       }
 - /////////////////////////////////////////////////////////////////////
 +
 +/////////////////////////////////////////////////////////////////////
  //                                                                  //
  //////////////////////////////////////////////////////////////////////
 -
        void WxAnySimpleDlg::OnReadDirectory(wxCommandEvent &event)
        {
           int resultShowModal;
           if ( resultShowModal==wxID_OK )
           {  
              std::string path = crea::wx2std(dirDlg->GetPath());
 +
 +/*
              typedef boost::filesystem::directory_iterator dir_it;
              dir_it itr(path);
              dir_it end_itr;
 -            /*if (boost::filesystem::exists(path))
 -            {*/
 +//            if (boost::filesystem::exists(path))
 +//            {
                  for(;itr != end_itr; ++itr)
                  {
 -                       bvalid = m_exts.size() == 0? true : false;
 -                       std::vector<std::string>::iterator it = m_exts.begin();
 -                                         std::string ext = itr->path().filename().string().substr(itr->path().filename().string().find_last_of("."));
 -                       for(; it != m_exts.end(); it++)
 -                       {
 -                           if(ext == (*it) )
 -                           {
 -                               bvalid = true;
 -                               break;
 -                           }
 -                       }
 +//EED 
 +// All files have the same extention
 +//                      bvalid = m_exts.size() == 0? true : false;
 +//                      std::vector<std::string>::iterator it = m_exts.begin();
 +//                                       std::string ext = itr->path().filename().string().substr(itr->path().filename().string().find_last_of("."));
 +//                       for(; it != m_exts.end(); it++)
 +//                       {
 +//                           if(ext == (*it) )
 +//                           {
 +//                               bvalid = true;
 +//                               break;
 +//                           }
 +//                       } // for 
 +bvalid=true;
                         if (!boost::filesystem::is_directory(itr->status()) && bvalid)
                         {
 -                           readImg(itr->path().string().c_str());
 -                       }
 -                }
 -         }
 +printf("EED WxAnySimpleDlg::OnReadDirectory  Each file %s \n", itr->path().string().c_str() );
 +                           readImg( itr->path().string().c_str() );
 +                       } // if 
 +                } // for itr
 +*/
 +
 +                              typedef vector<boost::filesystem::path> vec;             // store paths
 +                              vec v;                                // so we can sort them later
 +                              copy(boost::filesystem::directory_iterator(path), boost::filesystem::directory_iterator(), back_inserter(v));
 +                              sort(v.begin(), v.end());             // sort, since directory iteration
 +                                                                    // is not ordered on some file systems
 +                              for (vec::const_iterator it (v.begin()); it != v.end(); ++it)
 +                              {
 +                           readImg( it->string().c_str() );
 +                              } // for
 +
 +
 +
 +
 +         } // if OK
           SetReturnCode( resultShowModal );
  //         Close();
           EndModal( resultShowModal );
 +
        }
  
  //////////////////////////////////////////////////////////////////////
              return imageIO->GetNumberOfDimensions();
       }
  
 +
       void WxAnySimpleDlg::readImg(const std::string &i_name)
       {
            size_t dims = getNumberOfDimensions(i_name);
 +
            //const std::type_info  *type= &getType(i_name);
            switch(dims)
            {
                }
                else
                {
 +                              printf("EED WxAnySimpleDlg::readImg Not type found   for DIM 3 \n");
                    //????FCY, so what the type????
                }
                break;
                 }
                 else
                 {
 +                              printf("EED WxAnySimpleDlg::readImg Not type found   for DIM 4 \n");
                    //????FCY, so what the type????
                 }
                 break;
        {
            typedef itk::Image<short,3> TImage;
            typedef itk::GDCMImageIO GDCMType;
 +#if ITK_VERSION_MAJOR < 4
            typedef itk::DICOMSeriesFileNames dicnames;
 +#else // ITK_VERSION_MAJOR < 4
 +          typedef itk::GDCMSeriesFileNames dicnames;
 +#endif // ITK_VERSION_MAJOR < 4
            GDCMType::Pointer gdcmIO = GDCMType::New(); 
            dicnames::Pointer generator = dicnames::New();
  
index 2e9a9c557993b0057c846e250ac8c97cbe82736f,09f7e022d348a298c2e5f276e98f83f8bbba7f28..297ac110ea7a69d75c5cd0174c8e2dfbe0aeff31
@@@ -69,7 -69,12 +69,12 @@@ namespace creaImageI
          void WxSimpleDlg::OnReadFile(wxCommandEvent& event)
          {
                  int resultShowModal;
+ //EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+ #if wxMAJOR_VERSION <= 2
                  wxFileDialog* fileDlg = new wxFileDialog( 0,  _T("Select file"), _T(""), _T(""), crea::std2wx("*"), wxOPEN |wxFD_MULTIPLE, wxDefaultPosition);
+ #else
+                 wxFileDialog* fileDlg = new wxFileDialog( 0,  _T("Select file"), _T(""), _T(""), crea::std2wx("*"), wxFD_OPEN |wxFD_MULTIPLE, wxDefaultPosition);
+ #endif
      
                    resultShowModal = fileDlg->ShowModal();
                        if ( resultShowModal==wxID_OK )
                                first->GetDimensions(dim);
                                if (dim[2]==1)
                                {
 -                                      vtkImageData *out;
 -                                      out  = vtkImageData::New();
 -                                      out->SetScalarType(first->GetScalarType());
 -                                      out->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
 +                                      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;
                                }
                                        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...
index a6e3d98ff7d003ec6adb43e8041286b3ba355bf1,784b1c7c3ff596ac2a694ef5e7dfc856262cff70..ee2258aa2ea73d8b4b921e1e3dba275799a261dd
@@@ -85,7 -85,7 +85,7 @@@ namespace creaImageI
      mLastImageShown = NULL;
        
        // previewer    
-     mInteractor = new crea::creawxVTKRenderWindowInteractor(this,-1);
+     mInteractor = new crea::wxVTKRenderWindowInteractor(this,-1);
      mInteractor->UseCaptureMouseOn(); 
   
      mViewer   = vtkImageViewer2::New();
                        <<std::endl);
      if (im==0) return;
  
 +//EED 2017-01-01 Migration VTK7
 +#if VTK_MAJOR_VERSION <= 5
      mViewer->SetInput(im);
 +#else
 +    mViewer->SetInputData(im);
 +#endif
  
      mViewer->SetSlice( 0 );
  
      int x1,x2,y1,y2,z1,z2;
      double spx,spy,spz;
 +//EED 2017-01-01 Migration VTK7
 +#if VTK_MAJOR_VERSION <= 5
      im->Update();
 +#else
 +      // ...
 +#endif
 +
  
  //std::cout << "in WxViewer::ShowImage PrintSelf() =";
  //im->PrintSelf(std::cout, vtkIndent(2));
  
      im->GetSpacing(spx,spy,spz);
      //im->GetExtent (x1,x2,y1,y2,z1,z2);  // JPR
 +
 +
 +//EED 2017-01-01 Migration VTK7
 +#if VTK_MAJOR_VERSION <= 5
      im->GetWholeExtent (x1,x2,y1,y2,z1,z2); 
 +#else
 +    im->GetExtent (x1,x2,y1,y2,z1,z2); 
 +#endif
 +
 +
  /*       
  std::cout << "in WxViewer::ShowImage GetWholeExtent ext =";
        std::cout << "   [x1]=" << x1;