//#include <vtkGESignalReader.h>
-
#include "boost/filesystem/path.hpp"
namespace creaImageIO
ImageReader::ImageReader()
:
mUnreadableImage(0),
- mLastFilename("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"),
- mLastReader(0)
-
+ mLastFilename("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
{
// std::cout << "#### ImageReader::ImageReader()"<<std::endl;
if (mUnreadableImage!=0) return;
-
-
- Register(new VtkImageReader(vtkPNGReader::New(), "PNG", ".png"));
- Register(new VtkImageReader(vtkTIFFReader::New(), "JPEG", ".jpeg"));
- Register(new VtkImageReader(vtkJPEGReader::New()));
- Register(new VtkImageReader(vtkBMPReader::New()));
- Register(new VtkImageReader(vtkSLCReader::New()));
- Register(new VtkImageReader(vtkMetaImageReader::New(),"MHD",".mhd"));
+
+ Register( boost::shared_ptr<AbstractImageReader>(new VtkImageReader(vtkPNGReader::New(), "PNG", ".png")));
+ Register(boost::shared_ptr<AbstractImageReader>(new VtkImageReader(vtkTIFFReader::New(), "JPEG", ".jpeg")));
+ Register(boost::shared_ptr<AbstractImageReader>(new VtkImageReader(vtkJPEGReader::New())));
+ Register(boost::shared_ptr<AbstractImageReader>(new VtkImageReader(vtkBMPReader::New())));
+ Register(boost::shared_ptr<AbstractImageReader>(new VtkImageReader(vtkSLCReader::New())));
+ Register(boost::shared_ptr<AbstractImageReader>(new VtkImageReader(vtkMetaImageReader::New(),"MHD",".mhd")));
// Register(new VtkImageReader(vtkGESignalReader::New()));
- Register(new DicomImageReader);
- Register(new UltrasonixImageReader);
+ Register(boost::shared_ptr<AbstractImageReader>(new DicomImageReader));
+ Register(boost::shared_ptr<AbstractImageReader>(new UltrasonixImageReader));
mUnreadableImage = vtkImageData::New();
//=====================================================================
ImageReader::~ImageReader()
{
- std::vector<AbstractImageReader*>::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();
//=====================================================================
//=====================================================================
- void ImageReader::Register(AbstractImageReader* r)
+ void ImageReader::Register(boost::shared_ptr<AbstractImageReader> r)
{
mReader.push_back(r);
bool ok = false;
if(filename != "")
{
- std::vector<AbstractImageReader*>::iterator i;
+ std::vector<boost::shared_ptr<AbstractImageReader> >::iterator i;
for (i=mReader.begin(); i!=mReader.end(); i++)
{
ok = (*i)->CanRead(filename);
/// Pushes back all kwown extensions (without dot) in the vector given
void ImageReader::PushBackExtensions(std::vector<std::string>& v)
{
- std::vector<AbstractImageReader*>::iterator i;
+ std::vector<boost::shared_ptr<AbstractImageReader> >::iterator i;
for (i=mReader.begin(); i!=mReader.end(); i++)
{
(*i)->PushBackExtensions(v);