-// 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 <map>
#include <string>
#include <iostream>
+namespace gdcm
+{
//-----------------------------------------------------------------------------
typedef std::string TSKey;
typedef std::string TSAtr;
-typedef std::map<TSKey, TSAtr> TSHT; // Transfert Syntax Hash Table
+typedef std::map<TSKey, TSAtr> 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 {
+class GDCM_EXPORT TS
+{
public:
- gdcmTS(void);
- ~gdcmTS();
+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:
+ TS();
+ ~TS();
void Print(std::ostream &os = std::cout);
- int Count(TSKey key);
- std::string GetValue(TSKey key);
+ 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 ts;
+ TSHT TsMap;
};
+} // end namespace gdcm
//-----------------------------------------------------------------------------
#endif