DCMTK Version 3.6.9 OFFIS DICOM Toolkit

Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DiImage Class Referenceabstract

Base class for images. More...

Inheritance diagram for DiImage:

## Public Member Functions
| DiImage (const DiDocument *docu, const EI_Status status, const int spp)
| constructor
virtual | ~DiImage ()
| destructor
virtual int | processNextFrames (const unsigned long fcount)
| process next couple of frames
EI_Status | getStatus () const
| get status of the image object
Uint32 | getNumberOfFrames () const
| get number of frames
Uint32 | getFirstFrame () const
| get index of first frame
Uint32 | getTotalNumberOfFrames () const
| get total number of frames
Uint32 | getRepresentativeFrame () const
| get representative frame
double | getFrameTime () const
| get frame time
Uint16 | getRows () const
| get number of rows
Uint16 | getColumns () const
| get number of columns
double | getPixelWidth () const
| get pixel's width
double | getPixelHeight () const
| get pixel's height
double | getRowColumnRatio () const
| get pixel's rows/column ratio
double | getColumnRowRatio () const
| get pixel's column/rows ratio
int | setRowColumnRatio (const double ratio)
| set pixel's rows/column ratio
int | setColumnRowRatio (const double ratio)
| set pixel's column/rows ratio
EP_Polarity | getPolarity () const
| get polarity.
int | setPolarity (const EP_Polarity polarity)
| set polarity.
virtual int | getBits (const int bits=0) const
| get number of bits per sample.
virtual EP_Interpretation | getInternalColorModel () const =0
| get color model of internal pixel representation.
virtual const DiPixel * | getInterData () const =0
| get access to intermediate pixel data representation (abstract)
virtual unsigned long | getOutputDataSize (const int bits=0) const =0
| get number of bytes required for the rendered output of a single frame
virtual const void * | getOutputData (const unsigned long frame, const int bits, const int planar)=0
| get pixel data with specified format (abstract).
virtual int | getOutputData (void *buffer, const unsigned long size, const unsigned long frame, const int bits, const int planar)=0
| get pixel data with specified format (abstract).
virtual const void * | getOutputPlane (const int plane) const =0
| get pixel data of specified plane (abstract).
virtual void | deleteOutputData ()=0
| delete internally handled output memory buffer (abstract)
virtual DiOverlay * | getOverlayPtr (const unsigned int)
| get pointer to the object managing the overlay planes
virtual DiMonoImage * | getMonoImagePtr ()
| get pointer to monochrome image object
virtual DiImage * | createImage (const unsigned long fstart, const unsigned long fcount) const =0
| create copy of current image object (abstract)
virtual DiImage * | createScale (const signed long left_pos, const signed long top_pos, const unsigned long clip_width, const unsigned long clip_height, const unsigned long scale_width, const unsigned long scale_height, const int interpolate, const int aspect, const Uint16 pvalue) const =0
| create scaled copy of specified (clipping) area of the current image object (abstract).
virtual int | flip (const int horz, const int vert)=0
| flip current image horizontally and/or vertically (abstract)
virtual DiImage * | createFlip (const int horz, const int vert) const =0
| create a flipped copy of the current image (abstract).
virtual int | rotate (const int degree)
| rotate current image (by steps of 90 degrees)
virtual DiImage * | createRotate (const int degree) const =0
| create a rotated copy of the current image (abstract).
virtual DiImage * | createMono (const double red, const double green, const double blue) const =0
| create monochrome copy of the current image (abstract).
virtual unsigned long | createDIB (void *&data, const unsigned long size, const unsigned long frame, const int bits, const int upsideDown, const int padding=1)=0
| create true color (24/32 bit) or palette (8 bit) bitmap for MS Windows (abstract).
virtual unsigned long | createAWTBitmap (void *&data, const unsigned long frame, const int bits)=0
| create true color (32 bit) bitmap for Java AWT (abstract).
int | writeFrameToDataset (DcmItem &dataset, const unsigned long frame=0, const int bits=0, const int planar=0)
| render pixel data of given frame and write image related attributes to DICOM dataset.
virtual int | writeImageToDataset (DcmItem &dataset, const int mode=0, const int planar=2)=0
| write current image and related attributes to DICOM dataset.
virtual int | writePPM (STD_NAMESPACE ostream &stream, const unsigned long frame, const int bits)=0
| write pixel data to PPM file (abstract).
virtual int | writePPM (FILE *stream, const unsigned long frame, const int bits)=0
| write pixel data to PPM file (abstract).
virtual int | writeRawPPM (FILE *stream, const unsigned long frame, const int bits)=0
| write pixel data to raw PPM file (abstract)
virtual int | writeBMP (FILE *stream, const unsigned long frame, const int bits)
| write pixel data to BMP file

## Protected Member Functions
| DiImage (const DiDocument *docu, const EI_Status status)
| constructor
| DiImage (const DiImage *image, const unsigned long fstart, const unsigned long fcount)
| constructor, copy
| DiImage (const DiImage *image, const Uint16 width, const Uint16 height, const int aspect=0)
| constructor, scale/clip
| DiImage (const DiImage *image, const int degree=0)
| constructor, rotate
| DiImage (const DiImage *image, const unsigned long frame, const int stored, const int alloc)
| constructor, createMonoOutput
void | deleteInputData ()
| delete internally handled object for the input pixel data conversion
void | checkPixelExtension ()
| check and possibly correct values for pixel spacing, aspect ratio etc.
void | convertPixelData ()
| create input pixel data representation from DICOM dataset structures
virtual void | updateImagePixelModuleAttributes (DcmItem &dataset)
| update Image Pixel Module attributes in the given dataset.
int | detachPixelData ()
| detach pixel data.

## Protected Attributes
EI_Status | ImageStatus
| copy of status variable declared in class 'DicomImage'
const DiDocument * | Document
| points to special object, which encapsulates the dcmdata module
Uint32 | FirstFrame
| first frame to be processed
Uint32 | NumberOfFrames
| number of frames in case of multi-frame images (otherwise '1')
Uint32 | TotalNumberOfFrames
| total number of frames stored in the dataset
Uint32 | RepresentativeFrame
| number of representative frame, type 3 attribute (default '0')
double | FrameTime
| nominal time between individual frames (0 if absent)
Uint16 | Rows
| number of rows (in pixel)
Uint16 | Columns
| number of columns (in pixel)
double | PixelWidth
| width of each pixel according to 'PixelSpacing/AspectRatio'
double | PixelHeight
| height of each pixel according to 'PixelSpacing/AspectRatio'
Uint16 | BitsAllocated
| number of bits allocated for each pixel
Uint16 | BitsStored
| number of bits stored for each pixel (see 'BitsPerSample')
Uint16 | HighBit
| position of highest stored bit
int | BitsPerSample
| actual number of bits per sample (depth)
int | SamplesPerPixel
| number of samples per pixel (1, 3 or 4)
EP_Polarity | Polarity
| polarity (normal or reverse)
int | hasSignedRepresentation
| is 'true' if pixel data is signed
int | hasPixelSpacing
| is 'true' if attribute 'PixelSpacing' is present
int | hasImagerPixelSpacing
| is 'true' if attribute 'ImagerPixelSpacing' is present
int | hasNominalScannedPixelSpacing
| is 'true' if attribute 'hasNominalScannedPixelSpacing' is present
int | hasPixelAspectRatio
| is 'true' if attribute 'PixelAspectRatio' is present
int | isOriginal
| is 'false' if derived from original image data (e.g. scaled)
DiInputPixel * | InputData
| points to intermediate pixel representation (template object)
DcmFileCache | FileCache
| file cache object used for partial read
Uint32 | CurrentFragment
| current pixel item fragment (for encapsulated pixel data)

## Detailed Description

Base class for images.

NB: This is an internal class of module dcmimgle/dcmimage. Please do not use it directly. Instead use the main interface class DicomImage.

## Constructor & Destructor Documentation

## ◆ DiImage() [1/6]

DiImage::DiImage | ( | const DiDocument * | docu,
|  | const EI_Status | status,
|  | const int | spp )

constructor

Parameters

  docu | pointer to the DICOM document
  status | status of the image object
  spp | samples per pixel

Referenced by DiImage(), DiImage(), DiImage(), DiImage(), DiColorImage::createFlip(), createFlip(), DiMono1Image::createFlip(), DiMono2Image::createFlip(), DiColorImage::createImage(), createImage(), DiMono1Image::createImage(), DiMono2Image::createImage(), DiColorImage::createMono(), createMono(), DiMono1Image::createMono(), DiMono2Image::createMono(), DiMonoImage::createOutputImage(), DiColorImage::createRotate(), createRotate(), DiMono1Image::createRotate(), DiMono2Image::createRotate(), DiColorImage::createScale(), createScale(), DiMono1Image::createScale(), and DiMono2Image::createScale().

## ◆ DiImage() [2/6]

DiImage::DiImage | ( | const DiDocument * | docu,
|  | const EI_Status | status )
| protected

constructor

Parameters

  docu | pointer to the DICOM document
  status | status of the image object

## ◆ DiImage() [3/6]

DiImage::DiImage | ( | const DiImage * | image,
|  | const unsigned long | fstart,
|  | const unsigned long | fcount )
| protected

constructor, copy

Parameters

  image | pointer to reference image
  fstart | first frame to be processed
  fcount | number of frames

References DiImage().

## ◆ DiImage() [4/6]

DiImage::DiImage | ( | const DiImage * | image,
|  | const Uint16 | width,
|  | const Uint16 | height,
|  | const int | aspect = 0 )
| protected

constructor, scale/clip

Parameters

  image | pointer to reference image
  width | number of columns of the new image
  height | number of rows of the new image
  aspect | flag indicating whether pixel aspect ratio should be used or not

References DiImage().

## ◆ DiImage() [5/6]

DiImage::DiImage | ( | const DiImage * | image,
|  | const int | degree = 0 )
| protected

constructor, rotate

Parameters

  image | pointer to reference image
  degree | angle by which the image shall be rotated

References DiImage().

## ◆ DiImage() [6/6]

DiImage::DiImage | ( | const DiImage * | image,
|  | const unsigned long | frame,
|  | const int | stored,
|  | const int | alloc )
| protected

constructor, createMonoOutput

Parameters

  image | pointer to reference image
  frame | number of frame stored in the new image object
  stored | number of bits stored
  alloc | number of bits allocated

References DiImage().

## Member Function Documentation

## ◆ createAWTBitmap()

virtual unsigned long DiImage::createAWTBitmap | ( | void *& | data,
|  | const unsigned long | frame,
|  | const int | bits )
| pure virtual

create true color (32 bit) bitmap for Java AWT (abstract).

Parameters

  data | resulting pointer to bitmap data (set to NULL if an error occurred)
  frame | index of frame to be converted
  bits | number of bits per pixel used for the output bitmap (8 or 32)

Returns
  number of bytes allocated by the bitmap, or 0 if an error occurred

Implemented in DiColorImage, and DiMonoImage.

## ◆ createDIB()

virtual unsigned long DiImage::createDIB | ( | void *& | data,
|  | const unsigned long | size,
|  | const unsigned long | frame,
|  | const int | bits,
|  | const int | upsideDown,
|  | const int | padding = 1 )
| pure virtual

create true color (24/32 bit) or palette (8 bit) bitmap for MS Windows (abstract).

Parameters

  data | untyped pointer memory buffer (set to NULL if not allocated externally)
  size | size of the memory buffer in bytes (if 0 'data' is set to NULL)
  frame | index of frame to be converted (starting from 0)
  bits | number of bits per pixel used for the output bitmap (8, 24 or 32)
  upsideDown | specifies the order of lines in the images (0 = top-down, bottom-up otherwise)
  padding | align each line to a 32-bit address if true (default)

Returns
  number of bytes allocated by the bitmap, or 0 if an error occurred

Implemented in DiColorImage, and DiMonoImage.

## ◆ createFlip()

virtual DiImage * DiImage::createFlip | ( | const int | horz,
|  | const int | vert ) const
| pure virtual

create a flipped copy of the current image (abstract).

Parameters

  horz | flip horizontally if true
  vert | flip vertically if true

Returns
  pointer to new DiImage object (NULL if an error occurred)

Implemented in DiColorImage, DiMono1Image, and DiMono2Image.

References DiImage().

## ◆ createImage()

virtual DiImage * DiImage::createImage | ( | const unsigned long | fstart,
|  | const unsigned long | fcount ) const
| pure virtual

create copy of current image object (abstract)

Parameters

  fstart | first frame to be processed (not fully implemented!)
  fcount | number of frames (not fully implemented!)

Returns
  pointer to new DiImage object (NULL if an error occurred)

Implemented in DiColorImage, DiMono1Image, and DiMono2Image.

References DiImage().

## ◆ createMono()

virtual DiImage * DiImage::createMono | ( | const double | red,
|  | const double | green,
|  | const double | blue ) const
| pure virtual

create monochrome copy of the current image (abstract).

Parameters

  red | coefficient by which the red component is weighted
  green | coefficient by which the green component is weighted
  blue | coefficient by which the blue component is weighted

Returns
  pointer to new DiImage object (NULL if an error occurred)

Implemented in DiColorImage, DiMono1Image, and DiMono2Image.

References DiImage().

## ◆ createRotate()

virtual DiImage * DiImage::createRotate | ( | const int | degree | ) | const
| pure virtual

create a rotated copy of the current image (abstract).

Parameters

  degree | angle by which the image shall be rotated

Returns
  pointer to new DiImage object (NULL if an error occurred)

Implemented in DiColorImage, DiMono1Image, and DiMono2Image.

References DiImage().

## ◆ createScale()

virtual DiImage * DiImage::createScale | ( | const signed long | left_pos,
|  | const signed long | top_pos,
|  | const unsigned long | clip_width,
|  | const unsigned long | clip_height,
|  | const unsigned long | scale_width,
|  | const unsigned long | scale_height,
|  | const int | interpolate,
|  | const int | aspect,
|  | const Uint16 | pvalue ) const
| pure virtual

create scaled copy of specified (clipping) area of the current image object (abstract).

Parameters

  left_pos | x coordinate of top left corner of area to be scaled (referring to image origin, negative values create a border around the image)
  top_pos | y coordinate of top left corner of area to be scaled
  clip_width | width of area to be scaled
  clip_height | height of area to be scaled
  scale_width | width of scaled image (in pixels)
  scale_height | height of scaled image (in pixels)
  interpolate | specifies whether scaling algorithm should use interpolation (if necessary). default: no interpolation (0), preferred interpolation algorithm (if applicable): 1 = pbmplus algorithm, 2 = c't algorithm, 3 = bilinear magnification, 4 = bicubic magnification
  aspect | specifies whether pixel aspect ratio should be taken into consideration (if true, width OR height should be 0, i.e. this component will be calculated automatically)
  pvalue | P-value used for the border outside the image (0..65535)

Returns
  pointer to new DiImage object (NULL if an error occurred)

Implemented in DiColorImage, DiMono1Image, and DiMono2Image.

References DiImage().

## ◆ detachPixelData()

int DiImage::detachPixelData | ( |  | ) |
| protected

detach pixel data.

removes storage area used for the pixel data from memory

Returns
  status, true if successful, false otherwise

## ◆ flip()

virtual int DiImage::flip | ( | const int | horz,
|  | const int | vert )
| pure virtual

flip current image horizontally and/or vertically (abstract)

Parameters

  horz | flip horizontally if true
  vert | flip vertically if true

Returns
  true if successful, false otherwise

Implemented in DiColorImage, and DiMonoImage.

## ◆ getBits()

virtual int DiImage::getBits | ( | const int | bits = 0 | ) | const
| inline virtual

get number of bits per sample.

If the optional parameter is specified the value will be checked and in any case a valid value will be returned.

Parameters

  bits | value to be returned (if less than 1 or greater than the maximum (32) the default value will be used which is equal to the bits per sample value stored in the DICOM dataset)

Returns
  status, true if successful, false otherwise

Reimplemented in DiMonoImage.

References BitsPerSample.

## ◆ getColumnRowRatio()

double DiImage::getColumnRowRatio | ( |  | ) | const
| inline

get pixel's column/rows ratio

Returns
  pixel's column/rows ratio

References getPixelHeight(), and getPixelWidth().

## ◆ getColumns()

Uint16 DiImage::getColumns | ( |  | ) | const
| inline

get number of columns

Returns
  number of columns

References Columns.

## ◆ getFirstFrame()

Uint32 DiImage::getFirstFrame | ( |  | ) | const
| inline

get index of first frame

Returns
  index of first frame

References FirstFrame.

## ◆ getFrameTime()

double DiImage::getFrameTime | ( |  | ) | const
| inline

get frame time

Returns
  frame time

References FrameTime.

## ◆ getInterData()

virtual const DiPixel * DiImage::getInterData | ( |  | ) | const
| pure virtual

get access to intermediate pixel data representation (abstract)

Returns
  pointer to intermediate pixel data

Implemented in DiColorImage, and DiMonoImage.

## ◆ getInternalColorModel()

virtual EP_Interpretation DiImage::getInternalColorModel | ( |  | ) | const
| pure virtual

get color model of internal pixel representation.

Possible values are: EPI_Monochrome1, EPI_Monochrome2, EPI_RGB and EPI_YBR_Full

Returns
  color model of internal pixel representation

Implemented in DiColorImage, DiMono1Image, and DiMono2Image.

## ◆ getMonoImagePtr()

virtual DiMonoImage * DiImage::getMonoImagePtr | ( |  | ) |
| inline virtual

get pointer to monochrome image object

Returns
  pointer to monochrome image object (here: always NULL)

Reimplemented in DiMonoImage.

## ◆ getNumberOfFrames()

Uint32 DiImage::getNumberOfFrames | ( |  | ) | const
| inline

get number of frames

Returns
  number of frames

References NumberOfFrames.

## ◆ getOutputData() [1/2]

virtual const void * DiImage::getOutputData | ( | const unsigned long | frame,
|  | const int | bits,
|  | const int | planar )
| pure virtual

get pixel data with specified format (abstract).

(memory is handled internally)

Parameters

  frame | number of frame to be rendered
  bits | number of bits for the output pixel data (depth)
  planar | flag, whether the output data (for multi-planar images) should be planar or not

Returns
  untyped pointer to the pixel data if successful, NULL otherwise

Implemented in DiColorImage, DiMono1Image, DiMono2Image, and DiMonoImage.

## ◆ getOutputData() [2/2]

virtual int DiImage::getOutputData | ( | void * | buffer,
|  | const unsigned long | size,
|  | const unsigned long | frame,
|  | const int | bits,
|  | const int | planar )
| pure virtual

get pixel data with specified format (abstract).

(memory is handled externally)

Parameters

  buffer | untyped pointer to the externally allocated memory buffer
  size | size of the memory buffer in bytes (will be checked)
  frame | number of frame to be rendered
  bits | number of bits for the output pixel data (depth)
  planar | flag, whether the output data (for multi-planar images) should be planar or not

Returns
  status, true if successful, false otherwise

Implemented in DiColorImage, DiMono1Image, DiMono2Image, and DiMonoImage.

## ◆ getOutputDataSize()

virtual unsigned long DiImage::getOutputDataSize | ( | const int | bits = 0 | ) | const
| pure virtual

get number of bytes required for the rendered output of a single frame

Parameters

  bits | number of bits for the output pixel data (depth)

Returns
  number of bytes if successful, 0 otherwise

Implemented in DiColorImage, and DiMonoImage.

## ◆ getOutputPlane()

virtual const void * DiImage::getOutputPlane | ( | const int | plane | ) | const
| pure virtual

get pixel data of specified plane (abstract).

(memory is handled internally)

Parameters

  plane | number of plane which should be rendered (starting from 0)

Returns
  untyped pointer to the pixel data if successful, NULL otherwise

Implemented in DiColorImage, and DiMonoImage.

## ◆ getOverlayPtr()

virtual DiOverlay * DiImage::getOverlayPtr | ( | const unsigned int |  | ) |
| inline virtual

get pointer to the object managing the overlay planes

(#)param idx index of overlay group (here: not used, since only applicable for monochrome images)

Returns
  pointer to the overlay managing object, here: NULL

Reimplemented in DiMonoImage.

## ◆ getPixelHeight()

double DiImage::getPixelHeight | ( |  | ) | const
| inline

get pixel's height

Returns
  pixel's height

References PixelHeight.

Referenced by getColumnRowRatio(), and getRowColumnRatio().

## ◆ getPixelWidth()

double DiImage::getPixelWidth | ( |  | ) | const
| inline

get pixel's width

Returns
  pixel's width

References PixelWidth.

Referenced by getColumnRowRatio(), and getRowColumnRatio().

## ◆ getPolarity()

EP_Polarity DiImage::getPolarity | ( |  | ) | const
| inline

get polarity.

possible values are EPP_Normal and EPP_Reverse

Returns
  currently active polarity mode

References Polarity.

## ◆ getRepresentativeFrame()

Uint32 DiImage::getRepresentativeFrame | ( |  | ) | const
| inline

get representative frame

Returns
  representative frame

References RepresentativeFrame.

## ◆ getRowColumnRatio()

double DiImage::getRowColumnRatio | ( |  | ) | const
| inline

get pixel's rows/column ratio

Returns
  pixel's rows/column ratio

References getPixelHeight(), and getPixelWidth().

## ◆ getRows()

Uint16 DiImage::getRows | ( |  | ) | const
| inline

get number of rows

Returns
  number of rows

References Rows.

## ◆ getStatus()

EI_Status DiImage::getStatus | ( |  | ) | const
| inline

get status of the image object

Returns
  status of the image object

References ImageStatus.

## ◆ getTotalNumberOfFrames()

Uint32 DiImage::getTotalNumberOfFrames | ( |  | ) | const
| inline

get total number of frames

Returns
  total number of frames

References TotalNumberOfFrames.

## ◆ processNextFrames()

virtual int DiImage::processNextFrames | ( | const unsigned long | fcount | ) |
| virtual

process next couple of frames

Parameters

  fcount | number of frames to be processed (0 = same number as before)

Returns
  status, true if successful, false otherwise

Reimplemented in DiARGBImage, DiCMYKImage, DiHSVImage, DiMonoImage, DiPaletteImage, DiRGBImage, DiYBR422Image, DiYBRImage, and DiYBRPart422Image.

## ◆ rotate()

virtual int DiImage::rotate | ( | const int | degree | ) |
| virtual

rotate current image (by steps of 90 degrees)

Parameters

  degree | angle by which the image shall be rotated

Returns
  true if successful, false otherwise

Reimplemented in DiColorImage, and DiMonoImage.

## ◆ setColumnRowRatio()

int DiImage::setColumnRowRatio | ( | const double | ratio | ) |

set pixel's column/rows ratio

Parameters

  ratio | pixel's column/rows ratio

Returns
  status, true if successful, false otherwise

## ◆ setPolarity()

int DiImage::setPolarity | ( | const EP_Polarity | polarity | ) |

set polarity.

Parameters

  polarity | polarity (normal or reverse)

Returns
  true if successful (1 = polarity has changed, 2 = polarity has not changed) false otherwise

## ◆ setRowColumnRatio()

int DiImage::setRowColumnRatio | ( | const double | ratio | ) |

set pixel's rows/column ratio

Parameters

  ratio | pixel's rows/column ratio

Returns
  status, true if successful, false otherwise

## ◆ updateImagePixelModuleAttributes()

virtual void DiImage::updateImagePixelModuleAttributes | ( | DcmItem & | dataset | ) |
| protected virtual

update Image Pixel Module attributes in the given dataset.

Removes smallest/largest pixel value and updates pixel aspect ratio as well as pixel spacing (if required). Used in writeXXXToDataset() routines.

Parameters

  dataset | reference to DICOM image dataset

Reimplemented in DiColorImage, and DiMonoImage.

## ◆ writeBMP()

virtual int DiImage::writeBMP | ( | FILE * | stream,
|  | const unsigned long | frame,
|  | const int | bits )
| virtual

write pixel data to BMP file

Parameters

  stream | open C output stream
  frame | index of frame used for output (default: first frame = 0)
  bits | number of bits used for output of pixel data (8, 24 or 32)

Returns
  true if successful, false otherwise

Reimplemented in DiColorImage, and DiMonoImage.

## ◆ writeFrameToDataset()

int DiImage::writeFrameToDataset | ( | DcmItem & | dataset,
|  | const unsigned long | frame = 0,
|  | const int | bits = 0,
|  | const int | planar = 0 )

render pixel data of given frame and write image related attributes to DICOM dataset.

Parameters

  dataset | reference to DICOM dataset where the image attributes are stored
  frame | index of frame used for output
  bits | number of bits used for output of pixel data
  planar | flag, whether the output data (for multi-planar images) should be planar or not

Returns
  true if successful, false otherwise

## ◆ writeImageToDataset()

virtual int DiImage::writeImageToDataset | ( | DcmItem & | dataset,
|  | const int | mode = 0,
|  | const int | planar = 2 )
| pure virtual

write current image and related attributes to DICOM dataset.

Parameters

  dataset | reference to DICOM dataset where the image attributes are stored
  mode | determine value of BitsStored from 'used' or 'possible' pixel values
  planar | flag, whether the output data (for multi-planar images) should be planar or not

Returns
  true if successful, false otherwise

Implemented in DiColorImage, and DiMonoImage.

## ◆ writePPM() [1/2]

virtual int DiImage::writePPM | ( | FILE * | stream,
|  | const unsigned long | frame,
|  | const int | bits )
| pure virtual

write pixel data to PPM file (abstract).

pixel data is written in ASCII format.

Parameters

  stream | open C output stream
  frame | index of frame used for output
  bits | number of bits used for output of pixel data

Returns
  true if successful, false otherwise

Implemented in DiColorImage, and DiMonoImage.

## ◆ writePPM() [2/2]

virtual int DiImage::writePPM | ( | STD_NAMESPACE ostream & | stream,
|  | const unsigned long | frame,
|  | const int | bits )
| pure virtual

write pixel data to PPM file (abstract).

pixel data is written in ASCII format.

Parameters

  stream | open C++ output stream
  frame | index of frame used for output
  bits | number of bits used for output of pixel data

Returns
  true if successful, false otherwise

Implemented in DiColorImage, and DiMonoImage.

## ◆ writeRawPPM()

virtual int DiImage::writeRawPPM | ( | FILE * | stream,
|  | const unsigned long | frame,
|  | const int | bits )
| pure virtual

write pixel data to raw PPM file (abstract)

Parameters

  stream | open C output stream
  frame | index of frame used for output
  bits | number of bits used for output of pixel data

Returns
  true if successful, false otherwise

Implemented in DiColorImage, and DiMonoImage.

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

- dcmimgle/include/dcmtk/dcmimgle/diimage.h

Generated on Sat Mar 1 2025 for DCMTK Version 3.6.9 by Doxygen 1.13.2