X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmTS.h;h=deb30770ae3d7c3b7539b20a82146978a5ecf501;hb=0bcc188c6d5185375f809253e8b9b97c856d2eac;hp=6375a0a4d01fcba492a3da27edbd2c7f0046cc93;hpb=0ad9dae4659b21bfd5c834c1af724eab4dcdf4f6;p=gdcm.git diff --git a/src/gdcmTS.h b/src/gdcmTS.h index 6375a0a4..deb30770 100644 --- a/src/gdcmTS.h +++ b/src/gdcmTS.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmTS.h,v $ Language: C++ - Date: $Date: 2005/01/23 10:12:34 $ - Version: $Revision: 1.18 $ + Date: $Date: 2007/08/22 16:14:05 $ + Version: $Revision: 1.30 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -16,16 +16,16 @@ =========================================================================*/ -#ifndef GDCMTS_H -#define GDCMTS_H +#ifndef _GDCMTS_H_ +#define _GDCMTS_H_ -#include "gdcmCommon.h" +#include "gdcmRefCounter.h" #include #include #include -namespace gdcm +namespace GDCM_NAME_SPACE { //----------------------------------------------------------------------------- typedef std::string TSKey; @@ -38,35 +38,43 @@ typedef std::map TSHT; // Transfer 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: -enum SpecialType { - ImplicitVRLittleEndian = 0, - ImplicitVRLittleEndianDLXGE, - ExplicitVRLittleEndian, - DeflatedExplicitVRLittleEndian, - ExplicitVRBigEndian, - JPEGBaselineProcess1, - JPEGExtendedProcess2_4, - JPEGExtendedProcess3_5, - JPEGSpectralSelectionProcess6_8, - JPEGFullProgressionProcess10_12, - JPEGLosslessProcess14, - JPEGLosslessProcess14_1, - JPEGLSLossless, - JPEGLSNearLossless, - JPEG2000Lossless, - JPEG2000, - RLELossless, - UnknownTS -}; + 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, + +// The following are *not* Transfer Syntaxes, but SOP uid + UltrasoundImageStorage_Retired, + + UnknownTS + }; public: - TS(); - ~TS(); +/// \brief Constructs a gdcmTS with a RefCounter + static TS *New() {return new TS();} - void Print(std::ostream &os = std::cout); + virtual void Print(std::ostream &os = std::cout, + std::string const & = "" ); int Count(TSKey const &key); TSAtr const &GetValue(TSKey const &key); @@ -77,10 +85,18 @@ public: 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); + + // The following are *not* Transfer Syntaxes. + bool IsUltrasoundImageStorage_Retired(TSKey const &key); + +protected: + TS(); + ~TS(); private: TSHT TsMap;