X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmTS.h;h=d89e4d5e2508612624996a8d162e92e7fe58d213;hb=bf254f32ff1391a5da3ccc13b0aaba4446ee60a6;hp=fde45c6b33b4c5ff7c7c4a7e7b4c2fb733e8085b;hpb=15d7b1b38f5ddb59d395e0e4e3f9b0250eb90eec;p=gdcm.git diff --git a/src/gdcmTS.h b/src/gdcmTS.h index fde45c6b..d89e4d5e 100644 --- a/src/gdcmTS.h +++ b/src/gdcmTS.h @@ -1,29 +1,93 @@ -// gdcmTS.h +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmTS.h,v $ + Language: C++ + Date: $Date: 2005/10/18 10:43:32 $ + Version: $Revision: 1.21 $ + + Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de + l'Image). All rights reserved. See Doc/License.txt or + http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ #ifndef GDCMTS_H #define GDCMTS_H #include "gdcmCommon.h" + #include #include +#include +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 gdcmTS { -private: - TSHT ts; +class GDCM_EXPORT TS +{ +public: +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 +}; public: - gdcmTS(void); - ~gdcmTS(); - int Count(TSKey key); - std::string GetValue(TSKey key); + TS(); + ~TS(); + + void Print(std::ostream &os = std::cout); + + 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); + +private: + TSHT TsMap; }; +} // end namespace gdcm +//----------------------------------------------------------------------------- #endif