X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreaImageIOImageReader.cpp;h=402ca6317b5a4de40412b9cfdaa9563aa9f34075;hb=refs%2Fheads%2Fvtk8itk4wx3-mingw64;hp=2d73f1160c0a698575f8b260ba314894a5eae342;hpb=c7482ec7d04a5e5987841932a6856ebd471cebdb;p=creaImageIO.git diff --git a/src/creaImageIOImageReader.cpp b/src/creaImageIOImageReader.cpp index 2d73f11..402ca63 100644 --- a/src/creaImageIOImageReader.cpp +++ b/src/creaImageIOImageReader.cpp @@ -54,17 +54,17 @@ namespace creaImageIO //===================================================================== ImageReader::ImageReader() : - mUnreadableImage(0), + mUnreadableImage(NULL), mLastFilename("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") { // std::cout << "#### ImageReader::ImageReader()"<(new VtkImageReader(vtkPNGReader::New() , "PNG", ".png"))); - Register(boost::shared_ptr(new VtkImageReader(vtkTIFFReader::New(), "JPEG", ".jpeg"))); - Register(boost::shared_ptr(new VtkImageReader(vtkJPEGReader::New()))); - Register(boost::shared_ptr(new VtkImageReader(vtkBMPReader::New()))); + Register(boost::shared_ptr(new VtkImageReader(vtkTIFFReader::New(), "TIFF", ".tiff"))); + Register(boost::shared_ptr(new VtkImageReader(vtkJPEGReader::New(), "JPEG", ".jpeg"))); + Register(boost::shared_ptr(new VtkImageReader(vtkBMPReader::New(), "BMP", ".bmp"))); Register(boost::shared_ptr(new VtkImageReader(vtkSLCReader::New()))); Register(boost::shared_ptr(new VtkImageReader(vtkMetaImageReader::New(),"MHD",".mhd"))); // Register(new VtkImageReader(vtkGESignalReader::New())); @@ -78,16 +78,28 @@ namespace creaImageIO dim[0] = dim[1] = 128; dim[2] = 1; mUnreadableImage->SetDimensions ( dim ); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 mUnreadableImage->SetScalarTypeToUnsignedChar(); - mUnreadableImage->AllocateScalars(); + mUnreadableImage->AllocateScalars(); +#else + mUnreadableImage->AllocateScalars(VTK_UNSIGNED_CHAR,1); +#endif + for (int i=0;iSetScalarComponentFromFloat(i,j,0,0,0); + { + for (int j=0;jSetScalarComponentFromFloat(i,j,0,0,0); + } // for j + } // for i + for (int i=0;iSetScalarComponentFromFloat(i,i,0,0,255); - mUnreadableImage->SetScalarComponentFromFloat(dim[0]-1-i,i,0,0,255); - } + { + mUnreadableImage->SetScalarComponentFromFloat(i,i,0,0,255); + mUnreadableImage->SetScalarComponentFromFloat(dim[0]-1-i,i,0,0,255); + } // for i } //===================================================================== @@ -100,11 +112,11 @@ namespace creaImageIO //delete (*i); // } // mReader.clear(); - if (mUnreadableImage!=0) - { - mUnreadableImage->Delete(); - mUnreadableImage = 0; - } + if (mUnreadableImage!=NULL) + { + mUnreadableImage->Delete(); + mUnreadableImage = NULL; + } } //===================================================================== @@ -112,7 +124,6 @@ namespace creaImageIO void ImageReader::Register(boost::shared_ptr r) { mReader.push_back(r); - } void ImageReader::UnRegister(const std::string i_val) @@ -132,7 +143,6 @@ namespace creaImageIO std::vector::iterator i ; for (i=mUnReader.begin(); i!=mUnReader.end(); i++) { - if ( (*i).c_str() == filename) { ok = false; @@ -147,6 +157,7 @@ namespace creaImageIO // Returns true iff the file is readable bool ImageReader::CanRead( const std::string& filename ) { + bool ok = false; if( !ShallNotRead(filename)) @@ -175,22 +186,23 @@ namespace creaImageIO // Reads the file (CanRead must be called before : no test here) vtkImageData* ImageReader::ReadImage( const std::string& filename) { - if (mLastFilename!=filename) - { - if (!CanRead(filename)) - { - vtkImageData* im = vtkImageData::New(); - im->ShallowCopy(mUnreadableImage); - return im; - } - } - vtkImageData* i = mLastReader->ReadImage(mLastFilename); - if (i==0) - { - i = vtkImageData::New(); - i->ShallowCopy(mUnreadableImage); - } - return i; + if (mLastFilename!=filename) + { + if (!CanRead(filename)) + { + vtkImageData* im = vtkImageData::New(); + im->ShallowCopy(mUnreadableImage); + return im; + } // CanRead + } // for mLastFilename + vtkImageData* i = mLastReader->ReadImage(mLastFilename); + if (i==NULL) + { + i = vtkImageData::New(); + i->ShallowCopy(mUnreadableImage); + } // i + + return i; } //===================================================================== // Another function to read attributes for a file