00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GDCMTS_H
00020 #define GDCMTS_H
00021
00022 #include "gdcmCommon.h"
00023
00024 #include <map>
00025 #include <string>
00026 #include <iostream>
00027
00028 namespace gdcm
00029 {
00030
00031 typedef std::string TSKey;
00032 typedef std::string TSAtr;
00033 typedef std::map<TSKey, TSAtr> TSHT;
00034
00035
00036
00041 class GDCM_EXPORT TS
00042 {
00043 public:
00044 enum SpecialType {
00045 ImplicitVRLittleEndian = 0,
00046 ImplicitVRLittleEndianDLXGE,
00047 ExplicitVRLittleEndian,
00048 DeflatedExplicitVRLittleEndian,
00049 ExplicitVRBigEndian,
00050 JPEGBaselineProcess1,
00051 JPEGExtendedProcess2_4,
00052 JPEGExtendedProcess3_5,
00053 JPEGSpectralSelectionProcess6_8,
00054 JPEGFullProgressionProcess10_12,
00055 JPEGLosslessProcess14,
00056 JPEGLosslessProcess14_1,
00057 JPEGLSLossless,
00058 JPEGLSNearLossless,
00059 JPEG2000Lossless,
00060 JPEG2000,
00061 RLELossless,
00062 UnknownTS
00063 };
00064
00065 public:
00066 TS();
00067 ~TS();
00068
00069 void Print(std::ostream &os = std::cout);
00070
00071 int Count(TSKey const &key);
00072 TSAtr const &GetValue(TSKey const &key);
00073 bool IsTransferSyntax(TSKey const &key);
00074 bool IsRLELossless(TSKey const &key);
00075 bool IsJPEGLossless(TSKey const&key);
00076 bool IsJPEGLossy(TSKey const&key);
00077 bool IsJPEG2000(TSKey const &key);
00078 bool IsJPEG(TSKey const &key);
00079 bool IsJPEGLS(TSKey const &key);
00080
00081
00082 SpecialType GetSpecialTransferSyntax(TSKey const &key);
00083 const char* GetSpecialTransferSyntax(SpecialType t);
00084
00085 private:
00086 TSHT TsMap;
00087 };
00088 }
00089
00090
00091 #endif