X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOImageReader.cpp;h=1ef6ce428a84d1c61fd7f9d6fb5b166e9995c6ab;hb=da80530068246081505e9649523d10e8da8e6acd;hp=b1f9279e47a7412c525c21ba847a8abc6698ba3e;hpb=96ca5a0d7b7ccd6b4291160c19afd48e3207db2a;p=creaImageIO.git diff --git a/src2/creaImageIOImageReader.cpp b/src2/creaImageIOImageReader.cpp index b1f9279..1ef6ce4 100644 --- a/src2/creaImageIOImageReader.cpp +++ b/src2/creaImageIOImageReader.cpp @@ -15,7 +15,6 @@ //#include - #include "boost/filesystem/path.hpp" namespace creaImageIO @@ -29,22 +28,20 @@ namespace creaImageIO ImageReader::ImageReader() : mUnreadableImage(0), - mLastFilename("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"), - mLastReader(0) - + 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(vtkSLCReader::New()))); + Register(boost::shared_ptr(new VtkImageReader(vtkMetaImageReader::New(),"MHD",".mhd"))); // Register(new VtkImageReader(vtkGESignalReader::New())); - Register(new DicomImageReader); - Register(new UltrasonixImageReader); + Register(boost::shared_ptr(new DicomImageReader)); + Register(boost::shared_ptr(new UltrasonixImageReader)); mUnreadableImage = vtkImageData::New(); @@ -71,12 +68,12 @@ namespace creaImageIO //===================================================================== ImageReader::~ImageReader() { - std::vector::iterator i; - for (i=mReader.begin(); i!=mReader.end(); i++) - { - delete (*i); - } - mReader.clear(); + + // for (i=mReader.begin(); i!=mReader.end(); i++) + // { + //delete (*i); + // } +// mReader.clear(); if (mUnreadableImage!=0) { mUnreadableImage->Delete(); @@ -86,7 +83,7 @@ namespace creaImageIO //===================================================================== //===================================================================== - void ImageReader::Register(AbstractImageReader* r) + void ImageReader::Register(boost::shared_ptr r) { mReader.push_back(r); @@ -98,18 +95,22 @@ namespace creaImageIO bool ImageReader::CanRead( const std::string& filename ) { bool ok = false; - std::vector::iterator i; - for (i=mReader.begin(); i!=mReader.end(); i++) - { - ok = (*i)->CanRead(filename); - if (ok) - { - mLastFilename = filename; - mLastReader = *i; - break; - } - } - return ok; + if(filename != "") + { + std::vector >::iterator i; + for (i=mReader.begin(); i!=mReader.end(); i++) + { + ok = (*i)->CanRead(filename); + if (ok) + { + mLastFilename = filename; + mLastReader = *i; + break; + } + } + } + return ok; + } //===================================================================== @@ -157,7 +158,7 @@ namespace creaImageIO /// Pushes back all kwown extensions (without dot) in the vector given void ImageReader::PushBackExtensions(std::vector& v) { - std::vector::iterator i; + std::vector >::iterator i; for (i=mReader.begin(); i!=mReader.end(); i++) { (*i)->PushBackExtensions(v);