# gdcm::Reader Class Reference

Reader ala DOM (Document Object Model). More...

`#include <gdcmReader.h>`

Inheritance diagram for gdcm::Reader:
[legend]
Collaboration diagram for gdcm::Reader:
[legend]

List of all members.

## Public Member Functions
| Reader ()
virtual | ~Reader ()
File & | GetFile ()
const File & | GetFile () const
virtual bool | Read ()
bool | ReadUpToTag (const Tag &tag, std::set< Tag > const &skiptags)
void | SetFile (File &file)
void | SetFileName (const char *filename)
void | SetStream (std::istream &input_stream)
## Protected Member Functions
bool | ReadDataSet ()
bool | ReadMetaInformation ()
bool | ReadPreamble ()
## Protected Attributes
SmartPointer< File > | F

## Detailed Description

Reader ala DOM (Document Object Model).

This class is a non-validating reader, it will only performs well- formedness check only, and to some extent catch known error (non well-formed document).

Detailled description here

A DataSet DOES NOT contains group 0x0002

This is really a DataSet reader. This will not make sure the dataset conform to any IOD at all. This is a completely different step. The reasoning was that user could control the IOD there lib would handle and thus we would not be able to read a DataSet if the IOD was not found Instead we separate the reading from the validation.

NOTE: From GDCM1.x. Users will realize that one feature is missing from this DOM implementation. In GDCM 1.x user used to be able to control the size of the Value to be read. By default it was 0xfff. The main author of GDCM2 thought this was too dangerous and harmful and therefore this feature did not make it into GDCM2

WARNING: GDCM will not produce warning for unorder (non-alphabetical order). See gdcm::Writer for more info

Examples:

  AnonymizeAES.cxx, ClinicalTrialAnnotate.cxx, csa2img.cxx, DuplicatePCDE.cxx, FixBrokenJ2K.cxx, GenSeqs.cxx, HelloWorld.cxx, LargeVRDSExplicit.cxx, PatchFile.cxx, ReadExplicitLengthSQIVR.cxx, rle2img.cxx, and TestReader.cxx.

## Constructor & Destructor Documentation

gdcm::Reader::Reader | ( |  | ) | `[inline]`

virtual gdcm::Reader::~Reader | ( |  | ) | `[virtual]`

## Member Function Documentation

File& gdcm::Reader::GetFile | ( |  | ) | `[inline]`

const File& gdcm::Reader::GetFile | ( |  | ) | const`[inline]`

Examples:
  AnonymizeAES.cxx, ClinicalTrialAnnotate.cxx, CompressImage.cxx, csa2img.cxx, DuplicatePCDE.cxx, FixBrokenJ2K.cxx, GenSeqs.cxx, GetJPEGSamplePrecision.cxx, HelloVizWorld.cxx, HelloWorld.cxx, LargeVRDSExplicit.cxx, MergeTwoFiles.cxx, MrProtocol.cxx, PatchFile.cxx, ReadExplicitLengthSQIVR.cxx, rle2img.cxx, and TestReader.cxx.

virtual bool gdcm::Reader::Read | ( |  | ) | `[virtual]`

Reimplemented in gdcm::ImageReader, and gdcm::PixmapReader.

Examples:
  AnonymizeAES.cxx, ClinicalTrialAnnotate.cxx, csa2img.cxx, DuplicatePCDE.cxx, FixBrokenJ2K.cxx, GenSeqs.cxx, HelloWorld.cxx, LargeVRDSExplicit.cxx, PatchFile.cxx, ReadExplicitLengthSQIVR.cxx, rle2img.cxx, and TestReader.cxx.

bool gdcm::Reader::ReadDataSet | ( |  | ) | `[protected]`

bool gdcm::Reader::ReadMetaInformation | ( |  | ) | `[protected]`

bool gdcm::Reader::ReadPreamble | ( |  | ) | `[protected]`

bool gdcm::Reader::ReadUpToTag | ( | const Tag & | tag,
|  | std::set< Tag > const & | skiptags |
| ) |  |  |

void gdcm::Reader::SetFile | ( | File & | file | ) | `[inline]`

void gdcm::Reader::SetFileName | ( | const char * | filename | ) | `[inline]`

Examples:
  AnonymizeAES.cxx, CheckBigEndianBug.cxx, ClinicalTrialAnnotate.cxx, CompressImage.cxx, ConvertToQImage.cxx, csa2img.cxx, DuplicatePCDE.cxx, FixBrokenJ2K.cxx, GenSeqs.cxx, GetJPEGSamplePrecision.cxx, HelloVizWorld.cxx, HelloWorld.cxx, LargeVRDSExplicit.cxx, MergeTwoFiles.cxx, MrProtocol.cxx, PatchFile.cxx, ReadExplicitLengthSQIVR.cxx, rle2img.cxx, and TestReader.cxx.

void gdcm::Reader::SetStream | ( | std::istream & | input_stream | ) | `[inline]`

## Member Data Documentation

SmartPointer<File> gdcm::Reader::F`[protected]`

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

- gdcmReader.h