Public Types | Public Member Functions | Static Public Member Functions | Friends

gdcm::TransferSyntax Class Reference

Class to manipulate Transfer Syntax. More...

#include <gdcmTransferSyntax.h>

List of all members.

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,
  RLELossless,
  MPEG2MainProfile,
  ImplicitVRBigEndianACRNEMA,
  TS_END
}

Public Member Functions

 TransferSyntax (TSType type=ImplicitVRLittleEndian)
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:

GetJPEGSamplePrecision.cxx, and LargeVRDSExplicit.cxx.


Member Enumeration Documentation

Enumerator:
Unknown 
Explicit 
Implicit 
Enumerator:
ImplicitVRLittleEndian 
ImplicitVRBigEndianPrivateGE 
ExplicitVRLittleEndian 
DeflatedExplicitVRLittleEndian 
ExplicitVRBigEndian 
JPEGBaselineProcess1 
JPEGExtendedProcess2_4 
JPEGExtendedProcess3_5 
JPEGSpectralSelectionProcess6_8 
JPEGFullProgressionProcess10_12 
JPEGLosslessProcess14 
JPEGLosslessProcess14_1 
JPEGLSLossless 
JPEGLSNearLossless 
JPEG2000Lossless 
JPEG2000 
RLELossless 
MPEG2MainProfile 
ImplicitVRBigEndianACRNEMA 
TS_END 

Constructor & Destructor Documentation

gdcm::TransferSyntax::TransferSyntax ( TSType  type = ImplicitVRLittleEndian ) [inline]

Member Function Documentation

NegociatedType gdcm::TransferSyntax::GetNegociatedType (  ) const
const char* gdcm::TransferSyntax::GetString (  ) const [inline]

References GetTSString().

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.
static const char* gdcm::TransferSyntax::GetTSString ( TSType  ts ) [static]
Examples:
LargeVRDSExplicit.cxx.

Referenced by GetString(), and gdcm::operator<<().

static TSType gdcm::TransferSyntax::GetTSType ( const char *  str ) [static]
bool gdcm::TransferSyntax::IsEncapsulated (  ) const
bool gdcm::TransferSyntax::IsEncoded (  ) const
bool gdcm::TransferSyntax::IsExplicit (  ) const
bool gdcm::TransferSyntax::IsImplicit (  ) const
bool gdcm::TransferSyntax::IsLossless (  ) const
bool gdcm::TransferSyntax::IsLossy (  ) const

Return whether the Transfer Syntax contains a lossy or lossless Encapsulated stream

Warning:
IsLossy is NOT !IsLossless since JPEG 2000 Transfer Syntax is dual the stream can be either lossy or lossless compressed.
bool gdcm::TransferSyntax::IsValid (  ) const [inline]
gdcm::TransferSyntax::operator TSType (  ) const [inline]

Friends And Related Function Documentation

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

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

Generated on Sat Dec 4 2010 09:00:16 for GDCM by doxygen 1.7.2
SourceForge.net Logo