9 #ifndef _aa2965aa_e891_4713_9c90_e8eacd2944ea 10 #define _aa2965aa_e891_4713_9c90_e8eacd2944ea 17 #include "odil/DataSet.h" 18 #include "odil/Element.h" 19 #include "odil/endian.h" 20 #include "odil/odil.h" 22 #include "odil/Value.h" 52 static T read_binary(std::istream & stream, ByteOrdering byte_ordering);
56 std::istream & stream, ByteOrdering byte_ordering,
57 std::string transfer_syntax,
bool keep_group_length=
false);
60 static void ignore(std::istream & stream, std::streamsize size);
67 std::istream & stream, std::string
const & transfer_syntax,
68 bool keep_group_length=
false);
72 std::function<
bool(
Tag const &)> halt_condition = [](
Tag const &) {
return false;})
const;
78 uint32_t read_length(VR vr)
const;
86 Tag const & tag=
Tag(0xffff,0xffff),
90 static std::pair<DataSet, DataSet> read_file(
91 std::istream & stream,
92 bool keep_group_length=
false,
93 std::function<
bool(
Tag const &)> halt_condition = [](
Tag const &) {
return false;});
98 typedef void result_type;
100 std::istream & stream;
104 std::string transfer_syntax;
105 ByteOrdering byte_ordering;
107 bool keep_group_length;
110 std::istream & stream, VR vr, uint32_t vl,
111 std::string
const & transfer_syntax, ByteOrdering byte_ordering,
112 bool explicit_vr,
bool keep_group_length);
123 DataSet read_item(std::istream & specific_stream)
const;
125 std::istream & specific_stream)
const;
131 #include "odil/Reader.txx" 133 #endif // _aa2965aa_e891_4713_9c90_e8eacd2944ea std::string transfer_syntax
Transfer syntax used to read the file.
Definition: Reader.h:36
std::vector< String > Strings
String container.
Definition: Value.h:57
bool keep_group_length
Flag to keep or discard group length tags.
Definition: Reader.h:45
ByteOrdering byte_ordering
Endianness.
Definition: Reader.h:39
std::vector< Real > Reals
Real container.
Definition: Value.h:54
Definition: Association.cpp:39
A DICOM element tag.
Definition: Tag.h:24
Read DICOM objects from a stream.
Definition: Reader.h:29
std::istream & stream
Input stream.
Definition: Reader.h:33
std::vector< Integer > Integers
Integer container.
Definition: Value.h:51
std::vector< DataSet > DataSets
Data sets container.
Definition: Value.h:60
std::vector< std::vector< uint8_t > > Binary
Binary data container.
Definition: Value.h:63
bool explicit_vr
Explicit-ness of the Value Representations.
Definition: Reader.h:42
DICOM Data set.
Definition: DataSet.h:29
Element of a DICOM data set.
Definition: Element.h:26