X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOImageReader.h;h=d80da229d10a142b1d7156940cd054417264cd4e;hb=b029354f54449e058d14c671e7155e65b4086de6;hp=2f3e7d0141fad6fc5ea30b50e7ff4dc7bdbd4a9f;hpb=74deda5137bba320405e3c4f50cc2a3f40a9dfc7;p=creaImageIO.git diff --git a/src2/creaImageIOImageReader.h b/src2/creaImageIOImageReader.h index 2f3e7d0..d80da22 100644 --- a/src2/creaImageIOImageReader.h +++ b/src2/creaImageIOImageReader.h @@ -1,42 +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 @@ -44,22 +33,21 @@ namespace creaImageIO /// On return, the values of the map are the values /// of the attributes (empty string if not available). void ReadAttributes(const std::string& filename, - std::map& attr); + tree::AttributeMapType& attr); - /// Returns the known extensions - const std::vector& GetKnownExtensions() - { return mKnownExtensions; } + /// Exclude specific readers + /// TO DO... + protected: - void Register(SpecificImageReader*); + void Register(AbstractImageReader*); - std::vector mReader; - std::vector mKnownExtensions; + std::vector mReader; vtkImageData* mUnreadableImage; std::string mLastFilename; - SpecificImageReader* mLastReader; + AbstractImageReader* mLastReader; private: