X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOImageReader.h;h=f7366428c63e3a340b01456a919b5109964c73c1;hb=37692ca5ea7fb8414cb70bcae0ce16e51da57568;hp=36fafd4a452f75143734799c6f84657c5703ba99;hpb=f08880c40f6304be640c7f8702bbbe96f8d50b40;p=creaImageIO.git diff --git a/src2/creaImageIOImageReader.h b/src2/creaImageIOImageReader.h index 36fafd4..f736642 100644 --- a/src2/creaImageIOImageReader.h +++ b/src2/creaImageIOImageReader.h @@ -1,41 +1,31 @@ #ifndef __creaImageIOImageReader_h_INCLUDED__ #define __creaImageIOImageReader_h_INCLUDED__ - -#include -#include -#include -#include -#include +#include +#include namespace creaImageIO { - - /** - * \ingroup Model - */ - //===================================================================== - /// Image reader of a specific image format - class SpecificImageReader; - //===================================================================== - - //===================================================================== - /// Generic image reader which stores a vector of SpecificImageReader - class ImageReader + + /** + * \ingroup IO + * \brief Generic image reader which uses all the specific concrete image reader of the lib (tif, jpg, dicom, ...) + */ + class CREAIMAGEIO_EXPORT ImageReader : virtual public AbstractImageReader { public: ImageReader(); ~ImageReader(); - + /// Pushes back all kwown extensions (without dot) in the vector given + void PushBackExtensions(std::vector&); + /// Returns true iff the file is readable - bool CanRead( const std::string& filename, - const std::string& exclude = ""); + bool CanRead( const std::string& filename); /// Reads and returns the image data. /// Returns an "Unreadable image" picture if fails - vtkImageData* ReadImage( const std::string& filename, - const std::string& exclude = ""); + vtkImageData* ReadImage( const std::string& filename); /// Reads the attributes of the image. /// Requested attributes names are provided as keys @@ -45,20 +35,20 @@ namespace creaImageIO void ReadAttributes(const std::string& filename, tree::AttributeMapType& attr); - /// Returns the known extensions - const std::vector& GetKnownExtensions() - { return mKnownExtensions; } + /// Exclude specific readers + /// TO DO... + protected: - void Register(SpecificImageReader*); + /// Register a reader + void Register( boost::shared_ptr ); - std::vector mReader; - std::vector mKnownExtensions; + std::vector > mReader; vtkImageData* mUnreadableImage; std::string mLastFilename; - SpecificImageReader* mLastReader; + boost::shared_ptr mLastReader; private: