vega
Public Member Functions | Static Public Attributes | List of all members
vega::dicom::TransferSyntax Class Reference

A class which encapsulates the DICOM transfer syntaxes. More...

#include <vega/dicom/transfer_syntax.h>

Collaboration diagram for vega::dicom::TransferSyntax:
Collaboration graph
[legend]

Public Member Functions

 TransferSyntax ()
 Blank constructor. More...
 
 TransferSyntax (const std::string &name)
 
 TransferSyntax (const UID &uid)
 
const std::string & name () const
 
const UIDuid () const
 
bool is_explicit_vr () const
 
Endian endianness () const
 
bool is_deflate () const
 
bool operator== (const TransferSyntax &other) const
 
bool operator!= (const TransferSyntax &other) const
 

Static Public Attributes

static const std::vector< std::pair< std::string, UID > > NAME_UID_PAIRS
 List of mappings from transfer syntax string to corresponding UID. More...
 
static const TransferSyntax IMPLICIT_VR_LITTLE_ENDIAN
 Implicit VR and little endian ("1.2.840.10008.1.2") More...
 
static const TransferSyntax EXPLICIT_VR_LITTLE_ENDIAN
 Explicit VR and little endian ("1.2.840.10008.1.2.1") More...
 
static const TransferSyntax DEFLATED_EXPLICIT_VR_LITTLE_ENDIAN
 Explicit VR and little endian ("1.2.840.10008.1.2.1.99") More...
 
static const TransferSyntax EXPLICIT_VR_BIG_ENDIAN
 Explicit VR and big endian ("1.2.840.10008.1.2.2") More...
 

Detailed Description

A class which encapsulates the DICOM transfer syntaxes.

The transfer syntax is determined by the file meta DICOM tag (0x0002,0x0010). For a list of available syntaxes, see here. A TransferSyntax can be initialized either by supplying a string representation of the transfer syntax (e.g. "Implicit VR Little Endian"), or the UID directly (e.g. "1.2.840.10008.1.2").

Constructor & Destructor Documentation

◆ TransferSyntax() [1/3]

vega::dicom::TransferSyntax::TransferSyntax ( )

Blank constructor.

◆ TransferSyntax() [2/3]

vega::dicom::TransferSyntax::TransferSyntax ( const std::string &  name)
explicit

Builds transfer syntax from with the given name.

Understood values include

  • "Implicit VR Little Endian",
  • "Explicit VR Little Endian",
  • "Deflated Explicit VR Little Endian",
  • "Explicit VR Big Endian".

◆ TransferSyntax() [3/3]

vega::dicom::TransferSyntax::TransferSyntax ( const UID uid)
explicit

Builds transfer syntax with an given uid.

Member Function Documentation

◆ endianness()

Endian vega::dicom::TransferSyntax::endianness ( ) const
Returns
the Endianness specified by the transfer syntax.

◆ is_deflate()

bool vega::dicom::TransferSyntax::is_deflate ( ) const
Returns
true if the transfer syntax specifies that deflation should occur (zlib compression).

◆ is_explicit_vr()

bool vega::dicom::TransferSyntax::is_explicit_vr ( ) const
Returns
true if the transfer syntax uses explicit VR.

◆ name()

const std::string& vega::dicom::TransferSyntax::name ( ) const
Returns
the name corresponding to this transfer syntax, e.g. "Implicit VR Little Endian".

◆ operator!=()

bool vega::dicom::TransferSyntax::operator!= ( const TransferSyntax other) const

◆ operator==()

bool vega::dicom::TransferSyntax::operator== ( const TransferSyntax other) const

◆ uid()

const UID& vega::dicom::TransferSyntax::uid ( ) const
Returns
the UID for this transfer syntax.

Member Data Documentation

◆ DEFLATED_EXPLICIT_VR_LITTLE_ENDIAN

const TransferSyntax vega::dicom::TransferSyntax::DEFLATED_EXPLICIT_VR_LITTLE_ENDIAN
static

Explicit VR and little endian ("1.2.840.10008.1.2.1.99")

◆ EXPLICIT_VR_BIG_ENDIAN

const TransferSyntax vega::dicom::TransferSyntax::EXPLICIT_VR_BIG_ENDIAN
static

Explicit VR and big endian ("1.2.840.10008.1.2.2")

◆ EXPLICIT_VR_LITTLE_ENDIAN

const TransferSyntax vega::dicom::TransferSyntax::EXPLICIT_VR_LITTLE_ENDIAN
static

Explicit VR and little endian ("1.2.840.10008.1.2.1")

◆ IMPLICIT_VR_LITTLE_ENDIAN

const TransferSyntax vega::dicom::TransferSyntax::IMPLICIT_VR_LITTLE_ENDIAN
static

Implicit VR and little endian ("1.2.840.10008.1.2")

◆ NAME_UID_PAIRS

const std::vector<std::pair<std::string,UID> > vega::dicom::TransferSyntax::NAME_UID_PAIRS
static

List of mappings from transfer syntax string to corresponding UID.


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