+ 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:
+ static TS *New() {return new TS();}
+
+ virtual void Print(std::ostream &os = std::cout,
+ std::string const &indent = "" );
+
+ 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);
+
+protected:
+ TS();
+ ~TS();
+
+private:
+ TSHT TsMap;