X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreaImageIOImageReader.cpp;h=4220fb1f85c7371f809f015b087c49b1e2b7f005;hb=refs%2Fheads%2Fmaster;hp=4b67e04c005f2c37ae91a1dc7fefdc588ef82741;hpb=3a22e19184c369b130d4caa992a8e98e50c7a0ee;p=creaImageIO.git diff --git a/src/creaImageIOImageReader.cpp b/src/creaImageIOImageReader.cpp index 4b67e04..4220fb1 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())); @@ -64,9 +88,6 @@ namespace creaImageIO mUnreadableImage->SetScalarComponentFromFloat(i,i,0,0,255); mUnreadableImage->SetScalarComponentFromFloat(dim[0]-1-i,i,0,0,255); } - - - } //===================================================================== @@ -120,10 +141,8 @@ namespace creaImageIO } } return ok; - } - //===================================================================== // Returns true iff the file is readable bool ImageReader::CanRead( const std::string& filename ) @@ -149,7 +168,6 @@ namespace creaImageIO } } return ok; - } //===================================================================== @@ -175,8 +193,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)