]> Creatis software - gdcm.git/blobdiff - src/gdcmTS.h
Some normalizations :
[gdcm.git] / src / gdcmTS.h
index 65b4a35d728e786fa387a5459feef9867d1da3fe..6375a0a4d01fcba492a3da27edbd2c7f0046cc93 100644 (file)
@@ -1,36 +1,91 @@
-// gdcmTS.h
-//-----------------------------------------------------------------------------
+/*=========================================================================
+                                                                                
+  Program:   gdcm
+  Module:    $RCSfile: gdcmTS.h,v $
+  Language:  C++
+  Date:      $Date: 2005/01/23 10:12:34 $
+  Version:   $Revision: 1.18 $
+                                                                                
+  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,
+  ImplicitVRLittleEndianDLXGE,
+  ExplicitVRLittleEndian,
+  DeflatedExplicitVRLittleEndian,
+  ExplicitVRBigEndian,
+  JPEGBaselineProcess1,
+  JPEGExtendedProcess2_4,
+  JPEGExtendedProcess3_5,
+  JPEGSpectralSelectionProcess6_8,
+  JPEGFullProgressionProcess10_12,
+  JPEGLosslessProcess14,
+  JPEGLosslessProcess14_1,
+  JPEGLSLossless,
+  JPEGLSNearLossless,
+  JPEG2000Lossless,  
+  JPEG2000,
+  RLELossless,
+  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);
+
+   // 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