X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOImageReader.h;h=f7366428c63e3a340b01456a919b5109964c73c1;hb=da80530068246081505e9649523d10e8da8e6acd;hp=f05b6d4f404b964384250beb1835059b0314a2bd;hpb=f4bdead5143dc3d816f1c2f2bd9786a21c843760;p=creaImageIO.git diff --git a/src2/creaImageIOImageReader.h b/src2/creaImageIOImageReader.h index f05b6d4..f736642 100644 --- a/src2/creaImageIOImageReader.h +++ b/src2/creaImageIOImageReader.h @@ -1,39 +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(); - + /// 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 @@ -41,22 +33,22 @@ 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*); + /// 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: