X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmTS.h;h=1033846f146e70436829bfcb03f8f6e19dba81c4;hb=172de96c736e43ee4cbd8ac6ffc499f9d683fba3;hp=1d9b84b2bb20ceb016a9f2321a9839f89e629952;hpb=79a0d5df2d3f7ed7a295d76c3ae1048358bc019a;p=gdcm.git diff --git a/src/gdcmTS.h b/src/gdcmTS.h index 1d9b84b2..1033846f 100644 --- a/src/gdcmTS.h +++ b/src/gdcmTS.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmTS.h,v $ Language: C++ - Date: $Date: 2004/10/27 01:32:15 $ - Version: $Revision: 1.11 $ + Date: $Date: 2005/10/26 08:04:16 $ + Version: $Revision: 1.23 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -19,7 +19,8 @@ #ifndef GDCMTS_H #define GDCMTS_H -#include "gdcmCommon.h" +#include "gdcmRefCounter.h" + #include #include #include @@ -29,23 +30,65 @@ namespace gdcm //----------------------------------------------------------------------------- typedef std::string TSKey; typedef std::string TSAtr; -typedef std::map TSHT; // Transfert Syntax Hash Table +typedef std::map TSHT; // Transfer Syntax Hash Table + //----------------------------------------------------------------------------- -/* - * Container for dicom Transfert Syntax Hash Table +/** + * \brief Container for dicom 'Transfer Syntax' Hash Table * \note This is a singleton */ -class GDCM_EXPORT TS +class GDCM_EXPORT TS : public RefCounter { + gdcmTypeMacro(TS); + public: - TS(); - ~TS(); + enum SpecialType { + ImplicitVRLittleEndian = 0, + ImplicitVRBigEndianPrivateGE, + ExplicitVRLittleEndian, + DeflatedExplicitVRLittleEndian, + ExplicitVRBigEndian, + JPEGBaselineProcess1, + JPEGExtendedProcess2_4, + JPEGExtendedProcess3_5, + JPEGSpectralSelectionProcess6_8, + JPEGFullProgressionProcess10_12, + JPEGLosslessProcess14, + JPEGLosslessProcess14_1, + JPEGLSLossless, + JPEGLSNearLossless, + JPEG2000Lossless, + JPEG2000, + RLELossless, + MPEG2MainProfile, + UnknownTS + }; - void Print(std::ostream &os = std::cout); +public: + static TS *New() {return new TS();} - int Count(TSKey const & key); - TSAtr const & GetValue(TSKey const & key); + virtual void Print(std::ostream &os = std::cout, + std::string const &indent = "" ); + + int Count(TSKey const &key); + TSAtr const &GetValue(TSKey const &key); + bool IsTransferSyntax(TSKey const &key); + bool IsRLELossless(TSKey const &key); + bool IsJPEGLossless(TSKey const&key); + bool IsJPEGLossy(TSKey const&key); + bool IsJPEG2000(TSKey const &key); + bool IsJPEG(TSKey const &key); + bool IsJPEGLS(TSKey const &key); + bool IsMPEG(TSKey const &key); + + // This should be deprecated very soon + SpecialType GetSpecialTransferSyntax(TSKey const &key); + const char* GetSpecialTransferSyntax(SpecialType t); + +protected: + TS(); + ~TS(); private: TSHT TsMap;