Odil
A C++11 library for the DICOM standard
Loading...
Searching...
No Matches
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.

Public Member Functions

 VRFinder (bool strict=false)
 Constructor.
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.

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.
static VR group_length (Tag const &tag, std::shared_ptr< DataSet const >, std::string const &)
 Return the VR of group-length (gggg,0000) elements.
static VR private_tag (Tag const &tag, std::shared_ptr< DataSet const >, std::string const &)
 Return a default VR (UN) for private tags.
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).
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).

Public Attributes

std::vector< Finderfinders
 User-defined finder functions, empty by default.
bool strict
 Whether to raise an exception when a VR is not found, or to return VR::UN.

Static Public Attributes

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

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 ( bool strict = false)

Constructor.

Member Function Documentation

◆ explicit_vr_little_endian()

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()

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()

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()

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()

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.

◆ strict

bool odil::VRFinder::strict

Whether to raise an exception when a VR is not found, or to return VR::UN.


The documentation for this class was generated from the following file:
  • /build/reproducible-path/odil-0.13.0/src/odil/VRFinder.h