# gdcm::Writer Class Reference

Writer ala DOM (Document Object Model) This class is a non-validating writer, it will only performs well- formedness check only. More...

`#include <gdcmWriter.h>`

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

List of all members.

## Public Member Functions

| Writer ()
virtual | ~Writer ()
void | CheckFileMetaInformationOff ()
void | CheckFileMetaInformationOn ()
File & | GetFile ()
void | SetCheckFileMetaInformation (bool b)
| Undocumented function, do not use (= leave default)
void | SetFile (const File &f)
| Set/Get the DICOM file (DataSet + Header)
void | SetFileName (const char *filename)
| Set the filename of DICOM file to write:
void | SetStream (std::ostream &output_stream)
| Set user ostream buffer.
virtual bool | Write ()
| Main function to tell the writer to write.

## Protected Member Functions

std::ostream * | GetStreamPtr () const

## Protected Attributes

std::ofstream * | Ofstream
std::ostream * | Stream

## Friends

class | StreamImageWriter

## Detailed Description

Writer ala DOM (Document Object Model) This class is a non-validating writer, it will only performs well- formedness check only.

Detailled description here To avoid GDCM being yet another broken DICOM lib we try to be user level and avoid writing illegal stuff (odd length, non-zero value for Item start/end length ...) Therefore you cannot (well unless you are really smart) write DICOM with even length tag. All the checks are consider basics:

- Correct Meta Information Header (see gdcm::FileMetaInformation)
- Zero value for Item Length (0xfffe, 0xe00d/0xe0dd)
- Even length for any elements
- Alphabetical order for elements (garanteed by design of internals)
- 32bits VR will be rewritten with 00

Warning:
  gdcm::Writer cannot write a DataSet if no SOP Instance UID (0008,0018) is found, unless a DICOMDIR is being written out

See also:
  Reader DataSet File

Examples:

  ChangeSequenceUltrasound.cxx, ClinicalTrialAnnotate.cxx, DuplicatePCDE.cxx, EncapsulateFileInRawData.cxx, FixBrokenJ2K.cxx, GenAllVR.cxx, GenFakeIdentifyFile.cxx, GenLongSeqs.cxx, GenSeqs.cxx, HelloWorld.cxx, LargeVRDSExplicit.cxx, PatchFile.cxx, and rle2img.cxx.

## Constructor & Destructor Documentation

gdcm::Writer::Writer | ( |  | ) |

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

## Member Function Documentation

void gdcm::Writer::CheckFileMetaInformationOff | ( |  | ) | `[inline]`

Examples:
  FixBrokenJ2K.cxx, and HelloWorld.cxx.

void gdcm::Writer::CheckFileMetaInformationOn | ( |  | ) | `[inline]`

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

Examples:
  EncapsulateFileInRawData.cxx, GenAllVR.cxx, GenFakeIdentifyFile.cxx, and rle2img.cxx.

std::ostream* gdcm::Writer::GetStreamPtr | ( |  | ) | const`[inline, protected]`

void gdcm::Writer::SetCheckFileMetaInformation | ( | bool | b | ) | `[inline]`

Undocumented function, do not use (= leave default)

Examples:
  GenAllVR.cxx, GenFakeIdentifyFile.cxx, and PatchFile.cxx.

void gdcm::Writer::SetFile | ( | const File & | f | ) | `[inline]`

Set/Get the DICOM file (DataSet + Header)

Examples:
  ChangeSequenceUltrasound.cxx, ClinicalTrialAnnotate.cxx, CompressImage.cxx, DuplicatePCDE.cxx, FixBrokenJ2K.cxx, GenFakeImage.cxx, GenLongSeqs.cxx, GenSeqs.cxx, HelloWorld.cxx, LargeVRDSExplicit.cxx, MergeTwoFiles.cxx, PatchFile.cxx, and rle2img.cxx.

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

Set the filename of DICOM file to write:

Examples:
  ChangeSequenceUltrasound.cxx, ClinicalTrialAnnotate.cxx, CompressImage.cxx, CreateARGBImage.cxx, CreateCMYKImage.cxx, csa2img.cxx, DuplicatePCDE.cxx, EncapsulateFileInRawData.cxx, FixBrokenJ2K.cxx, GenAllVR.cxx, GenFakeIdentifyFile.cxx, GenFakeImage.cxx, GenLongSeqs.cxx, GenSeqs.cxx, HelloVizWorld.cxx, HelloWorld.cxx, LargeVRDSExplicit.cxx, MergeTwoFiles.cxx, PatchFile.cxx, and rle2img.cxx.

void gdcm::Writer::SetStream | ( | std::ostream & | output_stream | ) | `[inline]`

Set user ostream buffer.

virtual bool gdcm::Writer::Write | ( |  | ) | `[virtual]`

Main function to tell the writer to write.

Reimplemented in gdcm::ImageWriter, and gdcm::PixmapWriter.

Examples:
  ChangeSequenceUltrasound.cxx, ClinicalTrialAnnotate.cxx, DuplicatePCDE.cxx, EncapsulateFileInRawData.cxx, FixBrokenJ2K.cxx, GenAllVR.cxx, GenFakeIdentifyFile.cxx, GenLongSeqs.cxx, GenSeqs.cxx, HelloWorld.cxx, LargeVRDSExplicit.cxx, PatchFile.cxx, and rle2img.cxx.

## Friends And Related Function Documentation

friend class StreamImageWriter`[friend]`

## Member Data Documentation

std::ofstream* gdcm::Writer::Ofstream`[protected]`

std::ostream* gdcm::Writer::Stream`[protected]`

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

- gdcmWriter.h