X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreaImageIOImageReader.cpp;h=cdb6cb568c15a3cce4174f2b5522fa94f936d1b7;hb=refs%2Fheads%2Fvtk7itk4;hp=4b67e04c005f2c37ae91a1dc7fefdc588ef82741;hpb=3a22e19184c369b130d4caa992a8e98e50c7a0ee;p=creaImageIO.git diff --git a/src/creaImageIOImageReader.cpp b/src/creaImageIOImageReader.cpp index 4b67e04..cdb6cb5 100644 --- a/src/creaImageIOImageReader.cpp +++ b/src/creaImageIOImageReader.cpp @@ -1,3 +1,31 @@ +/* +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Santé) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ +*/ + + #include #include #include @@ -18,15 +46,10 @@ #include //#include - #include "boost/filesystem/path.hpp" namespace creaImageIO { - - - - //===================================================================== ImageReader::ImageReader() @@ -36,11 +59,12 @@ namespace creaImageIO { // 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(vtkPNGReader::New() , "PNG", ".png"))); + 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())); @@ -54,8 +78,15 @@ 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); @@ -64,9 +95,6 @@ namespace creaImageIO mUnreadableImage->SetScalarComponentFromFloat(i,i,0,0,255); mUnreadableImage->SetScalarComponentFromFloat(dim[0]-1-i,i,0,0,255); } - - - } //===================================================================== @@ -120,10 +148,8 @@ namespace creaImageIO } } return ok; - } - //===================================================================== // Returns true iff the file is readable bool ImageReader::CanRead( const std::string& filename ) @@ -149,7 +175,6 @@ namespace creaImageIO } } return ok; - } //===================================================================== @@ -175,8 +200,19 @@ namespace creaImageIO return i; } //===================================================================== - - + // Another function to read attributes for a file + void ImageReader::getAttributes(const std::string filename, + std::map &infos, std::vector i_attr) + { + if (mLastFilename!=filename) + { + if (!CanRead(filename)) + { + return; + } + } + mLastReader->getAttributes(filename, infos, i_attr); + } //===================================================================== void ImageReader::ReadAttributes(const std::string& filename, std::map& attr)