Program: gdcm
Module: $RCSfile: gdcmTS.h,v $
Language: C++
- Date: $Date: 2005/01/06 20:03:28 $
- Version: $Revision: 1.13 $
+ 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
=========================================================================*/
-#ifndef GDCMTS_H
-#define GDCMTS_H
+#ifndef _GDCMTS_H_
+#define _GDCMTS_H_
-#include "gdcmCommon.h"
+#include "gdcmRefCounter.h"
#include <map>
#include <string>
#include <iostream>
-namespace gdcm
+namespace GDCM_NAME_SPACE
{
//-----------------------------------------------------------------------------
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 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,
+
+// The following are *not* Transfer Syntaxes, but SOP uid
+ UltrasoundImageStorage_Retired,
+
+ UnknownTS
+ };
- void Print(std::ostream &os = std::cout);
+public:
+/// \brief Constructs a gdcmTS with a RefCounter
+ static TS *New() {return new TS();}
+
+ virtual void Print(std::ostream &os = std::cout,
+ std::string const & = "" );
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);
+
+ // The following are *not* Transfer Syntaxes.
+ bool IsUltrasoundImageStorage_Retired(TSKey const &key);
+
+protected:
+ TS();
+ ~TS();
private:
TSHT TsMap;