Odil
A C++11 library for the DICOM standard
|
Read DICOM objects from a stream. More...
#include <Reader.h>
Public Member Functions | |
Reader (std::istream &stream, std::string const &transfer_syntax, bool keep_group_length=false) | |
Build a reader, derive byte ordering and explicit-ness of VR from transfer syntax. More... | |
std::shared_ptr< DataSet > | read_data_set (std::function< bool(Tag const &)> halt_condition=[](Tag const &) { return false;}) const |
Read a data set. More... | |
Tag | read_tag () const |
Read a tag. More... | |
uint32_t | read_length (VR vr) const |
Read the length of an element. More... | |
Element | read_element (Tag const &tag=Tag(0xffff, 0xffff), std::shared_ptr< DataSet const > data_set=std::make_shared< DataSet >()) const |
Read an element (VR and value), try to guess the VR from the tag, partially read data set, and transfer syntax for implicit VR transfer syntaxes. More... | |
Static Public Member Functions | |
template<typename T > | |
static T | read_binary (std::istream &stream, ByteOrdering ordering) |
Read binary data from an stream encoded with the given endianness, ensure stream is still good. More... | |
static Value::Binary | read_encapsulated_pixel_data (std::istream &stream, ByteOrdering byte_ordering, std::string transfer_syntax, bool keep_group_length=false) |
Read pixel data in encapsulated form. More... | |
static void | ignore (std::istream &stream, std::streamsize size) |
Ignore data from a stream, ensure stream is still good. More... | |
static std::pair< std::shared_ptr< DataSet >, std::shared_ptr< DataSet > > | read_file (std::istream &stream, bool keep_group_length=false, std::function< bool(Tag const &)> halt_condition=[](Tag const &) { return false;}) |
Return the meta-data header and data set stored in the stream. More... | |
Public Attributes | |
std::istream & | stream |
Input stream. More... | |
std::string | transfer_syntax |
Transfer syntax used to read the file. More... | |
ByteOrdering | byte_ordering |
Endianness. More... | |
bool | explicit_vr |
Explicit-ness of the Value Representations. More... | |
bool | keep_group_length |
Flag to keep or discard group length tags. More... | |
Read DICOM objects from a stream.
odil::Reader::Reader | ( | std::istream & | stream, |
std::string const & | transfer_syntax, | ||
bool | keep_group_length = false |
||
) |
Build a reader, derive byte ordering and explicit-ness of VR from transfer syntax.
|
static |
Ignore data from a stream, ensure stream is still good.
|
static |
Read binary data from an stream encoded with the given endianness, ensure stream is still good.
std::shared_ptr< DataSet > odil::Reader::read_data_set | ( | std::function< bool(Tag const &)> | halt_condition = [](Tag const &) { return false;} | ) | const |
Read a data set.
Element odil::Reader::read_element | ( | Tag const & | tag = Tag(0xffff, 0xffff) , |
std::shared_ptr< DataSet const > | data_set = std::make_shared< DataSet >() |
||
) | const |
Read an element (VR and value), try to guess the VR from the tag, partially read data set, and transfer syntax for implicit VR transfer syntaxes.
|
static |
Read pixel data in encapsulated form.
|
static |
Return the meta-data header and data set stored in the stream.
uint32_t odil::Reader::read_length | ( | VR | vr | ) | const |
Read the length of an element.
Tag odil::Reader::read_tag | ( | ) | const |
Read a tag.
ByteOrdering odil::Reader::byte_ordering |
Endianness.
bool odil::Reader::explicit_vr |
Explicit-ness of the Value Representations.
bool odil::Reader::keep_group_length |
Flag to keep or discard group length tags.
std::istream& odil::Reader::stream |
Input stream.
std::string odil::Reader::transfer_syntax |
Transfer syntax used to read the file.