Odil
A C++11 library for the DICOM standard
VRFinder.h
Go to the documentation of this file.
1 /*************************************************************************
2  * odil - Copyright (C) Universite de Strasbourg
3  * Distributed under the terms of the CeCILL-B license, as published by
4  * the CEA-CNRS-INRIA. Refer to the LICENSE file or to
5  * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
6  * for details.
7  ************************************************************************/
8 
9 #ifndef _b7afd80f_327e_4d9a_b0fa_88c565add7b3
10 #define _b7afd80f_327e_4d9a_b0fa_88c565add7b3
11 
12 #include <functional>
13 #include <string>
14 #include <vector>
15 
16 #include "odil/DataSet.h"
17 #include "odil/odil.h"
18 #include "odil/Tag.h"
19 #include "odil/VR.h"
20 
21 namespace odil
22 {
23 
25 class ODIL_API VRFinder
26 {
27 public:
33  typedef
34  std::function<VR(Tag const &, std::shared_ptr<DataSet const>, std::string const &)>
35  Finder;
36 
38  static std::vector<Finder> const default_finders;
39 
41  std::vector<Finder> finders;
42 
47  bool strict;
48 
50  VRFinder(bool strict=false);
51 
58  VR operator()(
59  Tag const & tag, std::shared_ptr<DataSet const> data_set,
60  std::string const & transfer_syntax) const;
61 
63  static VR public_dictionary(
64  Tag const & tag, std::shared_ptr<DataSet const>, std::string const &);
65 
67  static VR group_length(
68  Tag const & tag, std::shared_ptr<DataSet const>, std::string const &);
69 
71  static VR private_tag(
72  Tag const & tag, std::shared_ptr<DataSet const>, std::string const &);
73 
75  static VR implicit_vr_little_endian(
76  Tag const & tag, std::shared_ptr<DataSet const> data_set,
77  std::string const & transfer_syntax);
78 
80  static VR explicit_vr_little_endian(
81  Tag const & tag, std::shared_ptr<DataSet const> data_set,
82  std::string const & transfer_syntax);
83 
84 private:
85  static std::vector<Finder> _get_default_finders();
86 };
87 
88 }
89 
90 #endif // _b7afd80f_327e_4d9a_b0fa_88c565add7b3
odil::VRFinder
Find the VR of elements in an implicit VR data set.
Definition: VRFinder.h:31
odil
Definition: Association.h:24
ODIL_API
#define ODIL_API
Definition: odil.h:28
odil::Tag
A DICOM element tag.
Definition: Tag.h:30
odil.h
VR.h
Tag.h
odil::VR
VR
Value representations of DICOM.
Definition: VR.h:28
odil::registry::public_dictionary
ElementsDictionary public_dictionary
DataSet.h