Odil
A C++11 library for the DICOM standard
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
odil::VRFinder Class Reference

Find the VR of elements in an implicit VR data set. More...

#include <VRFinder.h>

Public Types

typedef std::function< VR(Tag const &, std::shared_ptr< DataSet const >, std::string const &)> Finder
 Prototype of finder functions. More...
 

Public Member Functions

 VRFinder ()
 Constructor. More...
 
VR operator() (Tag const &tag, std::shared_ptr< DataSet const > data_set, std::string const &transfer_syntax) const
 Return a VR for the given tag, partially-constructed data set and transfer-syntax. If no VR can be found, raise an exception. More...
 

Static Public Member Functions

static VR public_dictionary (Tag const &tag, std::shared_ptr< DataSet const >, std::string const &)
 Return the VR from the public dictionary. More...
 
static VR group_length (Tag const &tag, std::shared_ptr< DataSet const >, std::string const &)
 Return the VR of group-length (gggg,0000) elements. More...
 
static VR private_tag (Tag const &tag, std::shared_ptr< DataSet const >, std::string const &)
 Return a default VR (UN) for private tags. More...
 
static VR implicit_vr_little_endian (Tag const &tag, std::shared_ptr< DataSet const > data_set, std::string const &transfer_syntax)
 Return the VR of elements defined in PS3.5, A.1 (c). More...
 
static VR explicit_vr_little_endian (Tag const &tag, std::shared_ptr< DataSet const > data_set, std::string const &transfer_syntax)
 Return the VR of elements defined in PS3.5, A.2 (c). More...
 

Public Attributes

std::vector< Finderfinders
 User-defined finder functions, empty by default. More...
 

Static Public Attributes

static std::vector< Finder > const default_finders
 Default finder functions. More...
 

Detailed Description

Find the VR of elements in an implicit VR data set.

Member Typedef Documentation

◆ Finder

typedef std::function<VR(Tag const &, std::shared_ptr<DataSet const>, std::string const &)> odil::VRFinder::Finder

Prototype of finder functions.

Finder functions must raise an exception if they are not applicable.

Constructor & Destructor Documentation

◆ VRFinder()

odil::VRFinder::VRFinder ( )

Constructor.

Member Function Documentation

◆ explicit_vr_little_endian()

static VR odil::VRFinder::explicit_vr_little_endian ( Tag const &  tag,
std::shared_ptr< DataSet const >  data_set,
std::string const &  transfer_syntax 
)
static

Return the VR of elements defined in PS3.5, A.2 (c).

◆ group_length()

static VR odil::VRFinder::group_length ( Tag const &  tag,
std::shared_ptr< DataSet const >  ,
std::string const &   
)
static

Return the VR of group-length (gggg,0000) elements.

◆ implicit_vr_little_endian()

static VR odil::VRFinder::implicit_vr_little_endian ( Tag const &  tag,
std::shared_ptr< DataSet const >  data_set,
std::string const &  transfer_syntax 
)
static

Return the VR of elements defined in PS3.5, A.1 (c).

◆ operator()()

VR odil::VRFinder::operator() ( Tag const &  tag,
std::shared_ptr< DataSet const >  data_set,
std::string const &  transfer_syntax 
) const

Return a VR for the given tag, partially-constructed data set and transfer-syntax. If no VR can be found, raise an exception.

The user-defined finders are tried first, then the default_finders.

◆ private_tag()

static VR odil::VRFinder::private_tag ( Tag const &  tag,
std::shared_ptr< DataSet const >  ,
std::string const &   
)
static

Return a default VR (UN) for private tags.

◆ public_dictionary()

static VR odil::VRFinder::public_dictionary ( Tag const &  tag,
std::shared_ptr< DataSet const >  ,
std::string const &   
)
static

Return the VR from the public dictionary.

Member Data Documentation

◆ default_finders

std::vector<Finder> const odil::VRFinder::default_finders
static

Default finder functions.

◆ finders

std::vector<Finder> odil::VRFinder::finders

User-defined finder functions, empty by default.


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