X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOImageReader.h;h=d80da229d10a142b1d7156940cd054417264cd4e;hb=852af4a5c6e97a6fc349126cf3370e27f89fe067;hp=36fafd4a452f75143734799c6f84657c5703ba99;hpb=f08880c40f6304be640c7f8702bbbe96f8d50b40;p=creaImageIO.git diff --git a/src2/creaImageIOImageReader.h b/src2/creaImageIOImageReader.h index 36fafd4..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 { - - /** - * \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,19 @@ 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*); + void Register(AbstractImageReader*); - std::vector mReader; - std::vector mKnownExtensions; + std::vector mReader; vtkImageData* mUnreadableImage; std::string mLastFilename; - SpecificImageReader* mLastReader; + AbstractImageReader* mLastReader; private: