GDCM: gdcm::TransferSyntax Class Reference

GDCM 3.0.25

Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
gdcm::TransferSyntax Class Reference

Class to manipulate Transfer Syntax. More...

`#include <gdcmTransferSyntax.h>`

## Public Types
enum | NegociatedType { Unknown = 0 , Explicit , Implicit }
enum | TSType { ImplicitVRLittleEndian = 0 , ImplicitVRBigEndianPrivateGE , ExplicitVRLittleEndian , DeflatedExplicitVRLittleEndian , ExplicitVRBigEndian , JPEGBaselineProcess1 , JPEGExtendedProcess2_4 , JPEGExtendedProcess3_5 , JPEGSpectralSelectionProcess6_8 , JPEGFullProgressionProcess10_12 , JPEGLosslessProcess14 , JPEGLosslessProcess14_1 , JPEGLSLossless , JPEGLSNearLossless , JPEG2000Lossless , JPEG2000 , JPEG2000Part2Lossless , JPEG2000Part2 , RLELossless , MPEG2MainProfile , ImplicitVRBigEndianACRNEMA , WeirdPapryus , CT_private_ELE , JPIPReferenced , MPEG2MainProfileHighLevel , MPEG4AVCH264HighProfileLevel4_1 , MPEG4AVCH264BDcompatibleHighProfileLevel4_1 , HTJ2KLossless , HTJ2KRPCLLossless , HTJ2K , TS_END }

## Public Member Functions
| TransferSyntax (TSType type=ImplicitVRLittleEndian)
bool | CanStoreLossy () const
NegociatedType | GetNegociatedType () const
const char * | GetString () const
SwapCode | GetSwapCode () const
bool | IsEncapsulated () const
bool | IsEncoded () const
bool | IsExplicit () const
bool | IsImplicit () const
bool | IsLossless () const
bool | IsLossy () const
bool | IsValid () const
| operator TSType () const

## Static Public Member Functions
static const char * | GetTSString (TSType ts)
static TSType | GetTSType (const char *str)

## Friends
std::ostream & | operator<< (std::ostream &os, const TransferSyntax &ts)

## Detailed Description

Class to manipulate Transfer Syntax.

Note
  TRANSFER SYNTAX (Standard and Private): A set of encoding rules that allow Application Entities to unambiguously negotiate the encoding techniques (e.g., Data Element structure, byte ordering, compression) they are able to support, thereby allowing these Application Entities to communicate.

Todo
  : The implementation is completely retarded -> see gdcm::UIDs for a replacement We need: IsSupported We need preprocess of raw/xml file We need GetFullName()

Need a notion of Private Syntax. As defined in PS 3.5. Section 9.2

See also
  UIDs

Examples
  BasicImageAnonymizer.cs, CompressLossyJPEG.cs, DecompressImageMultiframe.cs, DecompressJPEGFile.cs, FileChangeTS.cs, FileChangeTSLossy.cs, GetJPEGSamplePrecision.cxx, LargeVRDSExplicit.cxx, MakeTemplate.cxx, MpegVideoInfo.cs, and StandardizeFiles.cs.

## Member Enumeration Documentation

## ◆ NegociatedType

enum gdcm::TransferSyntax::NegociatedType

Enumerator
Unknown |
Explicit |
Implicit |

## ◆ TSType

enum gdcm::TransferSyntax::TSType

Enumerator
ImplicitVRLittleEndian |
ImplicitVRBigEndianPrivateGE |
ExplicitVRLittleEndian |
DeflatedExplicitVRLittleEndian |
ExplicitVRBigEndian |
JPEGBaselineProcess1 |
JPEGExtendedProcess2_4 |
JPEGExtendedProcess3_5 |
JPEGSpectralSelectionProcess6_8 |
JPEGFullProgressionProcess10_12 |
JPEGLosslessProcess14 |
JPEGLosslessProcess14_1 |
JPEGLSLossless |
JPEGLSNearLossless |
JPEG2000Lossless |
JPEG2000 |
JPEG2000Part2Lossless |
JPEG2000Part2 |
RLELossless |
MPEG2MainProfile |
ImplicitVRBigEndianACRNEMA |
WeirdPapryus |
CT_private_ELE |
JPIPReferenced |
MPEG2MainProfileHighLevel |
MPEG4AVCH264HighProfileLevel4_1 |
MPEG4AVCH264BDcompatibleHighProfileLevel4_1 |
HTJ2KLossless |
HTJ2KRPCLLossless |
HTJ2K |
TS_END |

Examples
  BasicImageAnonymizer.cs, CompressLossyJPEG.cs, DecompressImageMultiframe.cs, DecompressJPEGFile.cs, FileChangeTS.cs, FileChangeTSLossy.cs, MpegVideoInfo.cs, and StandardizeFiles.cs.

## Constructor & Destructor Documentation

## ◆ TransferSyntax()

gdcm::TransferSyntax::TransferSyntax | ( | TSType | type = ImplicitVRLittleEndian | ) |
| inline

References ImplicitVRLittleEndian.

Referenced by operator<<.

## Member Function Documentation

## ◆ CanStoreLossy()

bool gdcm::TransferSyntax::CanStoreLossy | ( |  | ) | const

return true if TransFer Syntax Allow storing of Lossy Pixel Data

## ◆ GetNegociatedType()

NegociatedType gdcm::TransferSyntax::GetNegociatedType | ( |  | ) | const

## ◆ GetString()

const char * gdcm::TransferSyntax::GetString | ( |  | ) | const
| inline

References GetTSString().

## ◆ GetSwapCode()

SwapCode gdcm::TransferSyntax::GetSwapCode | ( |  | ) | const

Deprecated
  Return the SwapCode associated with the Transfer Syntax. Be careful with the special GE private syntax the DataSet is written in little endian but the Pixel Data is in Big Endian.

## ◆ GetTSString()

static const char * gdcm::TransferSyntax::GetTSString | ( | TSType | ts | ) |
| static

Examples
  LargeVRDSExplicit.cxx.

Referenced by GetString(), and operator<<.

## ◆ GetTSType()

static TSType gdcm::TransferSyntax::GetTSType | ( | const char * | str | ) |
| static

## ◆ IsEncapsulated()

bool gdcm::TransferSyntax::IsEncapsulated | ( |  | ) | const

Examples
  ExtractIconFromFile.cxx.

## ◆ IsEncoded()

bool gdcm::TransferSyntax::IsEncoded | ( |  | ) | const

## ◆ IsExplicit()

bool gdcm::TransferSyntax::IsExplicit | ( |  | ) | const

## ◆ IsImplicit()

bool gdcm::TransferSyntax::IsImplicit | ( |  | ) | const

## ◆ IsLossless()

bool gdcm::TransferSyntax::IsLossless | ( |  | ) | const

Return true if the transfer syntax algorithm is a lossless algorithm

## ◆ IsLossy()

bool gdcm::TransferSyntax::IsLossy | ( |  | ) | const

Return true if the transfer syntax algorithm is a lossy algorithm

## ◆ IsValid()

bool gdcm::TransferSyntax::IsValid | ( |  | ) | const
| inline

References TS_END.

## ◆ operator TSType()

gdcm::TransferSyntax::operator TSType | ( |  | ) | const
| inline

## Friends And Related Symbol Documentation

## ◆ operator<<

std::ostream & operator<< | ( | std::ostream & | os,
|  | const TransferSyntax & | ts )
| friend

References TransferSyntax(), and GetTSString().

The documentation for this class was generated from the following file:

- gdcmTransferSyntax.h