X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOImageReader.h;h=d80da229d10a142b1d7156940cd054417264cd4e;hb=286cbf55bbd817ef8c9827d07fb231f945a77a89;hp=e36f2269fc33d34d1d4a9f88fe71f111a34ad2a1;hpb=cbf693fa62cd51f4ca5c881838bbb609edc447b0;p=creaImageIO.git diff --git a/src2/creaImageIOImageReader.h b/src2/creaImageIOImageReader.h index e36f226..d80da22 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 { - - //===================================================================== - /// 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(); - /// Returns the known extensions - const std::vector& GetKnownExtensions() - { return mKnownExtensions; } + /// 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 @@ -43,18 +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); + + /// 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: