GDCM 3.0.24
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 ,
  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

Enumerator
Unknown 
Explicit 
Implicit 

◆ 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 
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

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

◆ 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

◆ GetTSType()

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

◆ IsEncapsulated()

bool gdcm::TransferSyntax::IsEncapsulated ( ) const

◆ 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

◆ operator TSType()

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

Friends And Related Symbol Documentation

◆ operator<<

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

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