DCMTK
Version 3.6.1 20120515
OFFIS DICOM Toolkit
|
Base class for monochrome images. More...
Public Member Functions | |
DiMonoImage (const DiDocument *docu, const EI_Status status) | |
constructor | |
DiMonoImage (const DiDocument *docu, const EI_Status status, const double slope, const double intercept) | |
constructor, rescale | |
DiMonoImage (const DiDocument *docu, const EI_Status status, const DcmUnsignedShort &data, const DcmUnsignedShort &descriptor, const DcmLongString *explanation) | |
constructor, modality LUT | |
virtual | ~DiMonoImage () |
destructor | |
virtual int | processNextFrames (const unsigned long fcount) |
process next couple of frames | |
int | getMinMaxValues (double &min, double &max, const int mode) const |
get minimum and maximum pixel values. | |
DiDisplayFunction * | getDisplayFunction () const |
get display function | |
int | setDisplayFunction (DiDisplayFunction *display) |
set display function | |
int | setNoDisplayFunction () |
set no display function. | |
int | setNoVoiTransformation () |
unset all VOI transformations (windows and LUTs). | |
int | deleteDisplayLUT (const int bits) |
delete specified display LUT(s) | |
int | isValueUnused (const unsigned long value) |
check whether given output value is unused | |
int | convertPValueToDDL (const Uint16 pvalue, Uint16 &ddl, const int bits) |
convert P-value to DDL. | |
int | setMinMaxWindow (const int idx=1) |
set automatically calculated minimum/maximum window. | |
int | setRoiWindow (const unsigned long left_pos, const unsigned long top_pos, const unsigned long width, const unsigned long height, const unsigned long frame) |
set automatically calculated VOI window for the specified Region of Interest (ROI). | |
int | setHistogramWindow (const double thresh) |
set automatically calculated histogram window. | |
int | setWindow (const unsigned long pos=0) |
set specified window (given by index to window width/center sequence stored in image file). | |
int | setWindow (const double center, const double width, const char *explanation=NULL) |
set specified window (given by window width and center). | |
int | getWindow (double ¢er, double &width) |
get current window center and width values | |
unsigned long | getWindowCount () const |
get number of VOI windows (stored in image file) | |
EF_VoiLutFunction | getVoiLutFunction () const |
get VOI LUT function. | |
int | setVoiLutFunction (const EF_VoiLutFunction function) |
set VOI LUT function | |
int | setVoiLut (const DcmUnsignedShort &data, const DcmUnsignedShort &descriptor, const DcmLongString *explanation, const EL_BitsPerTableEntry descripMode=ELM_UseValue) |
set VOI LUT (given by dcmdata elements). | |
int | setVoiLut (const unsigned long pos, const EL_BitsPerTableEntry descripMode=ELM_UseValue) |
set VOI LUT (given by index to VOI LUT sequence stored in image file). | |
unsigned long | getVoiLutCount () const |
get number of VOI LUTs (stored in image file) | |
const char * | getVoiTransformationExplanation () const |
get description of active VOI transformation | |
const char * | getVoiWindowExplanation (const unsigned long pos, OFString &explanation) const |
get description of specified VOI window (stored in the image file) | |
const char * | getVoiLutExplanation (const unsigned long pos, OFString &explanation) const |
get description of specified VOI LUT (stored in the image file) | |
const char * | getModalityLutExplanation () const |
get description of performed modality LUT transformation | |
int | setHardcopyParameters (const unsigned int min, const unsigned int max, const unsigned int reflect, const unsigned int illumin) |
set hardcopy parameters. | |
ES_PresentationLut | getPresentationLutShape () const |
get shape for presentation transformation. | |
int | setPresentationLutShape (const ES_PresentationLut shape) |
set shape for presentation transformation. | |
int | setPresentationLut (const DcmUnsignedShort &data, const DcmUnsignedShort &descriptor, const DcmLongString *explanation=NULL, const EL_BitsPerTableEntry descripMode=ELM_UseValue) |
set LUT for presentation transformation. | |
int | setInversePresentationLut (const DcmUnsignedShort &data, const DcmUnsignedShort &descriptor, const EL_BitsPerTableEntry descripMode=ELM_UseValue) |
set inverse LUT for presentation transformation. | |
const char * | getPresentationLutExplanation () const |
get description of active presentation LUT | |
int | addOverlay (const unsigned int group, const signed int left_pos, const signed int top_pos, const unsigned int columns, const unsigned int rows, const DcmOverlayData &data, const DcmLongString &label, const DcmLongString &description, const EM_Overlay mode) |
add specified plane to group of additional overlay planes. | |
int | removeAllOverlays () |
remove all additional overlay planes | |
DiOverlay * | getOverlayPtr (const unsigned int idx) |
get pointer to specified overlay managing object | |
DiMonoImage * | getMonoImagePtr () |
get pointer to current monochrome image (this) | |
int | flip (const int horz, const int vert) |
flip current image (horizontally and/or vertically) | |
int | rotate (const int degree) |
rotate current image (by steps of 90 degrees) | |
virtual int | getBits (const int bits=0) const |
get number of bits per sample. | |
virtual unsigned long | getOutputDataSize (const int bits=0) const |
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)=0 |
get pixel data with specified format. | |
virtual int | getOutputData (void *buffer, const unsigned long size, const unsigned long frame, const int bits, const int planar=0)=0 |
get pixel data with specified format. | |
const void * | getOutputPlane (const int dummy) const |
get pixel data of specified plane. | |
void | deleteOutputData () |
delete internally handled output memory buffer Save memory if data is no longer needed. | |
const void * | getOverlayData (const unsigned long frame, const unsigned int plane, unsigned int &left_pos, unsigned int &top_pos, unsigned int &width, unsigned int &height, EM_Overlay &mode, const unsigned int idx, const int bits=8, const Uint16 fore=0xff, const Uint16 back=0x0) |
create bitmap for specified overlay plane. | |
const void * | getFullOverlayData (const unsigned long frame, const unsigned int plane, unsigned int &width, unsigned int &height, const unsigned int idx, const int bits=8, const Uint16 fore=0xff, const Uint16 back=0x0) |
create bitmap for specified overlay plane. | |
void | deleteOverlayData () |
delete buffer for overlay plane data. | |
unsigned long | create6xxx3000OverlayData (Uint8 *&buffer, const unsigned int plane, unsigned int &width, unsigned int &height, unsigned long &frames, const unsigned int idx=0) |
create bitmap for specified overlay plane and store it in (6xxx,3000) format. | |
const DiPixel * | getInterData () const |
get pointer to intermediate pixel data representation | |
const DiMonoPixel * | getMonoInterData () const |
get pointer to intermediate pixel data representation | |
unsigned long | createDIB (void *&data, const unsigned long size, const unsigned long frame, const int bits, const int upsideDown, const int padding=1) |
create true color (24/32 bit) or palette (8 bit) bitmap for MS Windows. | |
unsigned long | createAWTBitmap (void *&data, const unsigned long frame, const int bits) |
create true color (32 bit) or palette (8 bit) bitmap for Java (AWT default format). | |
DiImage * | createOutputImage (const unsigned long frame, const int bits) |
create new single frame DiImage with applied grayscale transformations. | |
int | writeImageToDataset (DcmItem &dataset, const int mode, const int planar) |
write current image and related attributes to DICOM dataset. | |
int | writePPM (STD_NAMESPACE ostream &stream, const unsigned long frame, const int bits) |
write pixel data to PPM file. | |
int | writePPM (FILE *stream, const unsigned long frame, const int bits) |
write pixel data to PPM file. | |
int | writeRawPPM (FILE *stream, const unsigned long frame, const int bits) |
write pixel data to raw PPM file | |
int | writeBMP (FILE *stream, const unsigned long frame, const int bits) |
write pixel data to BMP file | |
Static Public Member Functions | |
static void * | createPackedBitmap (const void *buffer, const unsigned long size, const unsigned long count, const int alloc, const int stored) |
create packed bitmap (e.g. | |
Protected Member Functions | |
DiMonoImage (const DiDocument *image, const EI_Status status, const char dummy) | |
constructor | |
DiMonoImage (const DiMonoImage *image, const unsigned long fstart, const unsigned long fcount) | |
constructor, copy | |
DiMonoImage (const DiColorImage *image, const double red, const double green, const double blue) | |
constructor, convert color images to monochrome | |
DiMonoImage (const DiMonoImage *image, const signed long left_pos, const signed long top_pos, const Uint16 src_cols, const Uint16 src_rows, const Uint16 dest_cols, const Uint16 dest_rows, const int interpolate, const int aspect, const Uint16 pvalue) | |
constructor, scale/clip | |
DiMonoImage (const DiMonoImage *image, const int horz, const int vert) | |
constructor, flip | |
DiMonoImage (const DiMonoImage *image, const int degree) | |
constructor, rotate | |
DiMonoImage (const DiMonoImage *image, DiMonoOutputPixel *pixel, const unsigned long frame, const int stored, const int alloc) | |
constructor, createMonoOutput | |
void | Init (DiMonoModality *modality, const OFBool reuse=OFFalse) |
initialize internal data structures and member variables | |
void | InitUint8 (DiMonoModality *modality) |
initialize internal data structures (for Uint8) | |
void | InitSint8 (DiMonoModality *modality) |
initialize internal data structures (for Sint8) | |
void | InitUint16 (DiMonoModality *modality) |
initialize internal data structures (for Uint16) | |
void | InitSint16 (DiMonoModality *modality) |
initialize internal data structures (for Sint16) | |
void | InitUint32 (DiMonoModality *modality) |
initialize internal data structures (for Uint32) | |
void | InitSint32 (DiMonoModality *modality) |
initialize internal data structures (for Sint32) | |
int | checkInterData (const int mode=1) |
check intermediate pixel representation for consistency | |
virtual void | updateImagePixelModuleAttributes (DcmItem &dataset) |
update Image Pixel Module attributes in the given dataset. | |
const void * | getData (void *buffer, const unsigned long size, const unsigned long frame, int bits, const int planar, const int negative) |
get pixel data with specified format. | |
void | getDataUint8 (void *buffer, DiDisplayFunction *disp, const int samples, const unsigned long frame, const int bits, const Uint32 low, const Uint32 high) |
get pixel data with specified format for Uint8 input (helper function). | |
void | getDataSint8 (void *buffer, DiDisplayFunction *disp, const int samples, const unsigned long frame, const int bits, const Uint32 low, const Uint32 high) |
get pixel data with specified format for Sint8 input (helper function). | |
void | getDataUint16 (void *buffer, DiDisplayFunction *disp, const int samples, const unsigned long frame, const int bits, const Uint32 low, const Uint32 high) |
get pixel data with specified format for Uint16 input (helper function). | |
void | getDataSint16 (void *buffer, DiDisplayFunction *disp, const int samples, const unsigned long frame, const int bits, const Uint32 low, const Uint32 high) |
get pixel data with specified format for Sint16 input (helper function). | |
void | getDataUint32 (void *buffer, DiDisplayFunction *disp, const int samples, const unsigned long frame, const int bits, const Uint32 low, const Uint32 high) |
get pixel data with specified format for Uint32 input (helper function). | |
void | getDataSint32 (void *buffer, DiDisplayFunction *disp, const int samples, const unsigned long frame, const int bits, const Uint32 low, const Uint32 high) |
get pixel data with specified format for Sint32 input (helper function). | |
int | createLinODPresentationLut (const unsigned long count, const int bits) |
create a presentation look-up table converting the pixel data which is linear to Optical Density to DDLs of the softcopy device (used to display print images on screen). | |
Protected Attributes | |
double | WindowCenter |
center of current VOI-window | |
double | WindowWidth |
width of current VOI-window | |
unsigned long | WindowCount |
number of stored VOI-windows | |
unsigned long | VoiLutCount |
number of stored VOU-LUTs | |
int | ValidWindow |
true, if current VOI-window is valid | |
OFString | VoiExplanation |
free text explanation of current VOI transformation | |
EF_VoiLutFunction | VoiLutFunction |
VOI LUT function (linear or sigmoid) | |
ES_PresentationLut | PresLutShape |
presentation LUT shape (identity, inverse or lin od) | |
unsigned int | MinDensity |
minimum density of a print-out (in hundreds of Optical Density) | |
unsigned int | MaxDensity |
maximum density of a print-out (ditto) | |
unsigned int | Reflection |
reflected ambient light (in candela per squaremeter) | |
unsigned int | Illumination |
illumination (ditto) | |
DiOverlay * | Overlays [2] |
points to associated overlay-objects ([0] = built-in, [1] = additional) | |
DiLookupTable * | VoiLutData |
points to associated VOI-LUT-object | |
DiLookupTable * | PresLutData |
points to associated presentation-LUT-object | |
DiMonoPixel * | InterData |
points to intermediate pixel data representation (object) | |
DiDisplayFunction * | DisplayFunction |
points to grayscale standard display function (only referenced!) | |
Private Member Functions | |
DiMonoImage (const DiMonoImage &) | |
DiMonoImage & | operator= (const DiMonoImage &) |
Private Attributes | |
DiMonoOutputPixel * | OutputData |
points to current output data (object) | |
void * | OverlayData |
points to current overlay plane data (pixel array) |
Base class for monochrome images.
DiMonoImage::DiMonoImage | ( | const DiDocument * | docu, |
const EI_Status | status | ||
) |
constructor
docu | pointer to the DICOM document |
status | status of the image object |
DiMonoImage::DiMonoImage | ( | const DiDocument * | docu, |
const EI_Status | status, | ||
const double | slope, | ||
const double | intercept | ||
) |
constructor, rescale
docu | pointer to the DICOM document |
status | status of the image object |
slope | rescale slope |
intercept | rescale intercept |
DiMonoImage::DiMonoImage | ( | const DiDocument * | docu, |
const EI_Status | status, | ||
const DcmUnsignedShort & | data, | ||
const DcmUnsignedShort & | descriptor, | ||
const DcmLongString * | explanation | ||
) |
constructor, modality LUT
docu | pointer to the DICOM document |
status | status of the image object |
data | element containing the modality LUT data |
descriptor | element containing the modality LUT descriptor |
explanation | element containing the modality LUT explanation (optional) |
DiMonoImage::DiMonoImage | ( | const DiDocument * | image, |
const EI_Status | status, | ||
const char | dummy | ||
) | [protected] |
constructor
image | pointer to dataset (encapsulated) |
status | current image status |
dummy | (necessary to be different from another constructor) |
DiMonoImage::DiMonoImage | ( | const DiMonoImage * | image, |
const unsigned long | fstart, | ||
const unsigned long | fcount | ||
) | [protected] |
constructor, copy
image | pointer to reference image |
fstart | first frame to be processed |
fcount | number of frames |
DiMonoImage::DiMonoImage | ( | const DiColorImage * | image, |
const double | red, | ||
const double | green, | ||
const double | blue | ||
) | [protected] |
constructor, convert color images to monochrome
image | pointer to reference image |
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 |
DiMonoImage::DiMonoImage | ( | const DiMonoImage * | image, |
const signed long | left_pos, | ||
const signed long | top_pos, | ||
const Uint16 | src_cols, | ||
const Uint16 | src_rows, | ||
const Uint16 | dest_cols, | ||
const Uint16 | dest_rows, | ||
const int | interpolate, | ||
const int | aspect, | ||
const Uint16 | pvalue | ||
) | [protected] |
constructor, scale/clip
image | pointer to reference image |
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 |
src_cols | width of area to be scaled |
src_rows | height of area to be scaled |
dest_cols | width of scaled image (in pixels) |
dest_rows | 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) |
DiMonoImage::DiMonoImage | ( | const DiMonoImage * | image, |
const int | horz, | ||
const int | vert | ||
) | [protected] |
constructor, flip
image | pointer to reference image |
horz | flip horizontally if true |
vert | flip vertically if true |
DiMonoImage::DiMonoImage | ( | const DiMonoImage * | image, |
const int | degree | ||
) | [protected] |
constructor, rotate
image | pointer to reference image |
degree | angle by which the image shall be rotated |
DiMonoImage::DiMonoImage | ( | const DiMonoImage * | image, |
DiMonoOutputPixel * | pixel, | ||
const unsigned long | frame, | ||
const int | stored, | ||
const int | alloc | ||
) | [protected] |
constructor, createMonoOutput
image | pointer to reference image |
pixel | pointer to output pixel data used for the new image |
frame | number of frame stored in the new image object |
stored | number of bits stored |
alloc | number of bits allocated |
int DiMonoImage::addOverlay | ( | const unsigned int | group, |
const signed int | left_pos, | ||
const signed int | top_pos, | ||
const unsigned int | columns, | ||
const unsigned int | rows, | ||
const DcmOverlayData & | data, | ||
const DcmLongString & | label, | ||
const DcmLongString & | description, | ||
const EM_Overlay | mode | ||
) |
add specified plane to group of additional overlay planes.
replaces old overlay plane if group number already exists.
group | group number (0x60nn) of overlay plane |
left_pos | x coordinate of plane orgin (referring to image origin) |
top_pos | y coordinate of plane origin |
columns | width of overlay plane (in pixels) |
rows | height of overlay plane (in pixels) |
data | overlay plane data (dcmdata element) |
label | overlay plane label |
description | overlay plane description |
mode | display mode (see 'diutils.h') |
int DiMonoImage::checkInterData | ( | const int | mode = 1 | ) | [protected] |
check intermediate pixel representation for consistency
mode | check number of pixels stored in the dataset if true |
int DiMonoImage::convertPValueToDDL | ( | const Uint16 | pvalue, |
Uint16 & | ddl, | ||
const int | bits | ||
) |
convert P-value to DDL.
conversion uses display LUT if present, linear scaling otherwise.
pvalue | P-value to be converted (0..65535) |
ddl | reference to resulting DDL |
bits | number of bits for output |
unsigned long DiMonoImage::create6xxx3000OverlayData | ( | Uint8 *& | buffer, |
const unsigned int | plane, | ||
unsigned int & | width, | ||
unsigned int & | height, | ||
unsigned long & | frames, | ||
const unsigned int | idx = 0 |
||
) |
create bitmap for specified overlay plane and store it in (6xxx,3000) format.
(1 bit allocated and stored, foreground color is 1, background color is 0, data is 16 bit padded - even length) memory is not handled internally - must be deleted from calling program.
buffer | stores pointer to overlay data (memory is allocated internally) |
plane | number (0..15) or group number (0x60nn) of overlay plane |
width | returns width of overlay plane (in pixels) |
height | returns height of overlay plane (in pixels) |
frames | returns number of frames (multiple overlay frames possible!) |
idx | index of overlay group (0 = dataset, planes stored in the image dataset; 1 = additional, planes added by addOverlay()), default: 0 |
unsigned long DiMonoImage::createAWTBitmap | ( | void *& | data, |
const unsigned long | frame, | ||
const int | bits | ||
) | [virtual] |
create true color (32 bit) or palette (8 bit) bitmap for Java (AWT default format).
Memory is not handled internally - must be deleted from calling program.
data | resulting pointer to bitmap data (set to NULL if an error occurred) |
frame | index of frame to be converted (starting from 0) |
bits | number of bits per pixel used for the output bitmap (8 or 32) |
Implements DiImage.
unsigned long DiMonoImage::createDIB | ( | void *& | data, |
const unsigned long | size, | ||
const unsigned long | frame, | ||
const int | bits, | ||
const int | upsideDown, | ||
const int | padding = 1 |
||
) | [virtual] |
create true color (24/32 bit) or palette (8 bit) bitmap for MS Windows.
memory is not handled internally - must be deleted from calling program.
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) |
Implements DiImage.
int DiMonoImage::createLinODPresentationLut | ( | const unsigned long | count, |
const int | bits | ||
) | [protected] |
create a presentation look-up table converting the pixel data which is linear to Optical Density to DDLs of the softcopy device (used to display print images on screen).
count | number of LUT entries |
bits | number of bits per entry |
DiImage* DiMonoImage::createOutputImage | ( | const unsigned long | frame, |
const int | bits | ||
) |
create new single frame DiImage with applied grayscale transformations.
The method getOutputData() is used internally for the new bitmap.
frame | index of frame to be converted |
bits | number of bits per pixel used for the output bitmap |
static void* DiMonoImage::createPackedBitmap | ( | const void * | buffer, |
const unsigned long | size, | ||
const unsigned long | count, | ||
const int | alloc, | ||
const int | stored | ||
) | [static] |
create packed bitmap (e.g.
12/16 bit -> 12/12 bit for DICOM printers). Memory is not handled internally - must be deleted from calling program.
buffer | pointer to input memory buffer |
size | size of memory buffer (will be checked whether it is sufficient) |
count | number of entries (pixels) in input buffer |
alloc | number of bits allocated for the pixels stored in the buffer (e.g. 16) |
stored | number of bits stored for the pixels stored in the buffer (e.g. 12) |
int DiMonoImage::deleteDisplayLUT | ( | const int | bits | ) | [inline] |
delete specified display LUT(s)
bits | parameter of LUT to be deleted (0 = all) |
void DiMonoImage::deleteOverlayData | ( | ) |
delete buffer for overlay plane data.
Save memory if data is no longer needed.
int DiMonoImage::flip | ( | const int | horz, |
const int | vert | ||
) | [virtual] |
flip current image (horizontally and/or vertically)
horz | flip horizontally if true |
vert | flip vertically if true |
Implements DiImage.
virtual int DiMonoImage::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.
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) |
Reimplemented from DiImage.
const void* DiMonoImage::getData | ( | void * | buffer, |
const unsigned long | size, | ||
const unsigned long | frame, | ||
int | bits, | ||
const int | planar, | ||
const int | negative | ||
) | [protected] |
get pixel data with specified format.
(memory is handled externally)
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, only useful for multi-planar images (color) |
negative | invert pixel data if true |
void DiMonoImage::getDataSint16 | ( | void * | buffer, |
DiDisplayFunction * | disp, | ||
const int | samples, | ||
const unsigned long | frame, | ||
const int | bits, | ||
const Uint32 | low, | ||
const Uint32 | high | ||
) | [protected] |
get pixel data with specified format for Sint16 input (helper function).
(memory is handled externally)
buffer | untyped pointer to the externally allocated memory buffer |
disp | pointer to current display function object |
samples | number of samples per pixel |
frame | number of frame to be rendered |
bits | number of bits for the output pixel data (depth) |
low | output pixel value to which 0 is mapped (min) |
high | output pixel value to which 2^bits-1 is mapped (max) |
void DiMonoImage::getDataSint32 | ( | void * | buffer, |
DiDisplayFunction * | disp, | ||
const int | samples, | ||
const unsigned long | frame, | ||
const int | bits, | ||
const Uint32 | low, | ||
const Uint32 | high | ||
) | [protected] |
get pixel data with specified format for Sint32 input (helper function).
(memory is handled externally)
buffer | untyped pointer to the externally allocated memory buffer |
disp | pointer to current display function object |
samples | number of samples per pixel |
frame | number of frame to be rendered |
bits | number of bits for the output pixel data (depth) |
low | output pixel value to which 0 is mapped (min) |
high | output pixel value to which 2^bits-1 is mapped (max) |
void DiMonoImage::getDataSint8 | ( | void * | buffer, |
DiDisplayFunction * | disp, | ||
const int | samples, | ||
const unsigned long | frame, | ||
const int | bits, | ||
const Uint32 | low, | ||
const Uint32 | high | ||
) | [protected] |
get pixel data with specified format for Sint8 input (helper function).
(memory is handled externally)
buffer | untyped pointer to the externally allocated memory buffer |
disp | pointer to current display function object |
samples | number of samples per pixel |
frame | number of frame to be rendered |
bits | number of bits for the output pixel data (depth) |
low | output pixel value to which 0 is mapped (min) |
high | output pixel value to which 2^bits-1 is mapped (max) |
void DiMonoImage::getDataUint16 | ( | void * | buffer, |
DiDisplayFunction * | disp, | ||
const int | samples, | ||
const unsigned long | frame, | ||
const int | bits, | ||
const Uint32 | low, | ||
const Uint32 | high | ||
) | [protected] |
get pixel data with specified format for Uint16 input (helper function).
(memory is handled externally)
buffer | untyped pointer to the externally allocated memory buffer |
disp | pointer to current display function object |
samples | number of samples per pixel |
frame | number of frame to be rendered |
bits | number of bits for the output pixel data (depth) |
low | output pixel value to which 0 is mapped (min) |
high | output pixel value to which 2^bits-1 is mapped (max) |
void DiMonoImage::getDataUint32 | ( | void * | buffer, |
DiDisplayFunction * | disp, | ||
const int | samples, | ||
const unsigned long | frame, | ||
const int | bits, | ||
const Uint32 | low, | ||
const Uint32 | high | ||
) | [protected] |
get pixel data with specified format for Uint32 input (helper function).
(memory is handled externally)
buffer | untyped pointer to the externally allocated memory buffer |
disp | pointer to current display function object |
samples | number of samples per pixel |
frame | number of frame to be rendered |
bits | number of bits for the output pixel data (depth) |
low | output pixel value to which 0 is mapped (min) |
high | output pixel value to which 2^bits-1 is mapped (max) |
void DiMonoImage::getDataUint8 | ( | void * | buffer, |
DiDisplayFunction * | disp, | ||
const int | samples, | ||
const unsigned long | frame, | ||
const int | bits, | ||
const Uint32 | low, | ||
const Uint32 | high | ||
) | [protected] |
get pixel data with specified format for Uint8 input (helper function).
(memory is handled externally)
buffer | untyped pointer to the externally allocated memory buffer |
disp | pointer to current display function object |
samples | number of samples per pixel |
frame | number of frame to be rendered |
bits | number of bits for the output pixel data (depth) |
low | output pixel value to which 0 is mapped (min) |
high | output pixel value to which 2^bits-1 is mapped (max) |
DiDisplayFunction* DiMonoImage::getDisplayFunction | ( | ) | const [inline] |
get display function
const void* DiMonoImage::getFullOverlayData | ( | const unsigned long | frame, |
const unsigned int | plane, | ||
unsigned int & | width, | ||
unsigned int & | height, | ||
const unsigned int | idx, | ||
const int | bits = 8 , |
||
const Uint16 | fore = 0xff , |
||
const Uint16 | back = 0x0 |
||
) |
create bitmap for specified overlay plane.
(up to 16 bits per pixel with two values: fore and back)
frame | index of frame used for output |
plane | number (0..15) or group number (0x60nn) of overlay plane |
width | returns width of overlay plane (in pixels) |
height | returns height of overlay plane (in pixels) |
idx | index of overlay group (0 = dataset, 1 = additional, 2 = '1' plane hides '0' plane) |
bits | number of bits (stored) in the resulting array, default: 8 |
fore | foreground color to be set in bitmap, default: 255 |
back | background color to be set in bitmap (transparent), default: 0 |
const DiPixel* DiMonoImage::getInterData | ( | ) | const [inline, virtual] |
get pointer to intermediate pixel data representation
Implements DiImage.
int DiMonoImage::getMinMaxValues | ( | double & | min, |
double & | max, | ||
const int | mode | ||
) | const |
get minimum and maximum pixel values.
the resulting pixel values are stored in 'double' variables to avoid problems with different number ranges, limited to monochrome images
min | minimum pixel value (reference parameter) |
max | maximum pixel value (reference parameter) |
mode | 0 = min/max 'used' pixel values, 1 = min/max 'possible' pixel values (absolute min/max) |
const char* DiMonoImage::getModalityLutExplanation | ( | ) | const [inline] |
get description of performed modality LUT transformation
DiMonoImage* DiMonoImage::getMonoImagePtr | ( | ) | [inline, virtual] |
get pointer to current monochrome image (this)
Reimplemented from DiImage.
const DiMonoPixel* DiMonoImage::getMonoInterData | ( | ) | const [inline] |
get pointer to intermediate pixel data representation
virtual const void* DiMonoImage::getOutputData | ( | const unsigned long | frame, |
const int | bits, | ||
const int | planar = 0 |
||
) | [pure virtual] |
get pixel data with specified format.
(memory is handled internally)
frame | number of frame to be rendered |
bits | number of bits for the output pixel data (depth) |
planar | flag, only useful for multi-planar images (color) |
Implements DiImage.
Implemented in DiMono2Image, and DiMono1Image.
virtual int DiMonoImage::getOutputData | ( | void * | buffer, |
const unsigned long | size, | ||
const unsigned long | frame, | ||
const int | bits, | ||
const int | planar = 0 |
||
) | [pure virtual] |
get pixel data with specified format.
(memory is handled externally)
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, only useful for multi-planar images (color) |
Implements DiImage.
Implemented in DiMono2Image, and DiMono1Image.
virtual unsigned long DiMonoImage::getOutputDataSize | ( | const int | bits = 0 | ) | const [virtual] |
get number of bytes required for the rendered output of a single frame
bits | number of bits for the output pixel data (depth) |
Implements DiImage.
const void* DiMonoImage::getOutputPlane | ( | const int | dummy | ) | const [virtual] |
get pixel data of specified plane.
(memory is handled internally)
dummy | (not used) |
Implements DiImage.
const void* DiMonoImage::getOverlayData | ( | const unsigned long | frame, |
const unsigned int | plane, | ||
unsigned int & | left_pos, | ||
unsigned int & | top_pos, | ||
unsigned int & | width, | ||
unsigned int & | height, | ||
EM_Overlay & | mode, | ||
const unsigned int | idx, | ||
const int | bits = 8 , |
||
const Uint16 | fore = 0xff , |
||
const Uint16 | back = 0x0 |
||
) |
create bitmap for specified overlay plane.
(up to 16 bits per pixel with two values: fore and back)
frame | index of frame used for output |
plane | number (0..15) or group number (0x60nn) of overlay plane |
left_pos | returns x coordinate of plane's origin |
top_pos | returns y coordinate of plane's origin |
width | returns width of overlay plane (in pixels) |
height | returns height of overlay plane (in pixels) |
mode | return display mode (see 'diutils.h') |
idx | index of overlay group (0 = dataset, 1 = additional, 2 = '1' plane hides '0' plane) |
bits | number of bits (stored) in the resulting array, default: 8 |
fore | foreground color to be set in bitmap, default: 255 |
back | background color to be set in bitmap (transparent), default: 0 |
DiOverlay* DiMonoImage::getOverlayPtr | ( | const unsigned int | idx | ) | [inline, virtual] |
get pointer to specified overlay managing object
idx | index of overlay group (0 = dataset, 1 = additional) |
Reimplemented from DiImage.
const char* DiMonoImage::getPresentationLutExplanation | ( | ) | const [inline] |
get description of active presentation LUT
ES_PresentationLut DiMonoImage::getPresentationLutShape | ( | ) | const |
get shape for presentation transformation.
possible values are: ESP_Default, ESP_Identity, ESP_Inverse, ESP_LinOD If a presentation LUT is currently active ESP_Default is always returned.
unsigned long DiMonoImage::getVoiLutCount | ( | ) | const [inline] |
get number of VOI LUTs (stored in image file)
const char* DiMonoImage::getVoiLutExplanation | ( | const unsigned long | pos, |
OFString & | explanation | ||
) | const |
get description of specified VOI LUT (stored in the image file)
pos | index of the stored VOI LUT (0..n-1) |
explanation | variable in which the result text is stored |
EF_VoiLutFunction DiMonoImage::getVoiLutFunction | ( | ) | const |
get VOI LUT function.
possible values are: EFV_Default, EFV_Linear, EFV_Sigmoid.
const char* DiMonoImage::getVoiTransformationExplanation | ( | ) | const [inline] |
get description of active VOI transformation
const char* DiMonoImage::getVoiWindowExplanation | ( | const unsigned long | pos, |
OFString & | explanation | ||
) | const |
get description of specified VOI window (stored in the image file)
pos | index of the stored VOI window (0..n-1) |
explanation | variable in which the result text is stored |
int DiMonoImage::getWindow | ( | double & | center, |
double & | width | ||
) |
get current window center and width values
center | return current window center value |
width | return current window width value |
unsigned long DiMonoImage::getWindowCount | ( | ) | const [inline] |
get number of VOI windows (stored in image file)
void DiMonoImage::Init | ( | DiMonoModality * | modality, |
const OFBool | reuse = OFFalse |
||
) | [protected] |
initialize internal data structures and member variables
modality | pointer to object handling the modality transform |
reuse | reuse particular information determined in a previous call |
void DiMonoImage::InitSint16 | ( | DiMonoModality * | modality | ) | [protected] |
initialize internal data structures (for Sint16)
modality | pointer to object handling the modality transform |
void DiMonoImage::InitSint32 | ( | DiMonoModality * | modality | ) | [protected] |
initialize internal data structures (for Sint32)
modality | pointer to object handling the modality transform |
void DiMonoImage::InitSint8 | ( | DiMonoModality * | modality | ) | [protected] |
initialize internal data structures (for Sint8)
modality | pointer to object handling the modality transform |
void DiMonoImage::InitUint16 | ( | DiMonoModality * | modality | ) | [protected] |
initialize internal data structures (for Uint16)
modality | pointer to object handling the modality transform |
void DiMonoImage::InitUint32 | ( | DiMonoModality * | modality | ) | [protected] |
initialize internal data structures (for Uint32)
modality | pointer to object handling the modality transform |
void DiMonoImage::InitUint8 | ( | DiMonoModality * | modality | ) | [protected] |
initialize internal data structures (for Uint8)
modality | pointer to object handling the modality transform |
int DiMonoImage::isValueUnused | ( | const unsigned long | value | ) | [inline] |
check whether given output value is unused
value | output value to be checked |
virtual int DiMonoImage::processNextFrames | ( | const unsigned long | fcount | ) | [virtual] |
process next couple of frames
fcount | number of frames to be processed (0 = same number as before) |
Reimplemented from DiImage.
int DiMonoImage::removeAllOverlays | ( | ) |
remove all additional overlay planes
int DiMonoImage::rotate | ( | const int | degree | ) | [virtual] |
rotate current image (by steps of 90 degrees)
degree | angle by which the image shall be rotated (-360, -270, -180, -90, 0, 90, 180, 270, 360) |
Reimplemented from DiImage.
int DiMonoImage::setDisplayFunction | ( | DiDisplayFunction * | display | ) |
set display function
display | object describing the output device characteristic (only referenced!) |
int DiMonoImage::setHardcopyParameters | ( | const unsigned int | min, |
const unsigned int | max, | ||
const unsigned int | reflect, | ||
const unsigned int | illumin | ||
) |
set hardcopy parameters.
(used to display LinOD images)
min | minimum density of the print-out (in hundreds of Optical Density, e.g. 150 means 1.5 OD) |
max | maximum density of the print-out (ditto) |
reflect | reflected ambient light (in candela per square meter - cd/m^2) |
illumin | illumination (ditto) |
int DiMonoImage::setHistogramWindow | ( | const double | thresh | ) |
set automatically calculated histogram window.
possibly active VOI LUT is implicitly disabled.
thresh | threshhold value specifying percentage of histogram border which shall be ignored |
int DiMonoImage::setInversePresentationLut | ( | const DcmUnsignedShort & | data, |
const DcmUnsignedShort & | descriptor, | ||
const EL_BitsPerTableEntry | descripMode = ELM_UseValue |
||
) |
set inverse LUT for presentation transformation.
this LUT transform is e.g. used for DICOM print (12->8, 8->12 bit) possibly active presentation LUT will not be considered !
data | contains LUT data |
descriptor | describes LUT structure |
descripMode | mode specifying the use of the bits per table entry value |
int DiMonoImage::setMinMaxWindow | ( | const int | idx = 1 | ) |
set automatically calculated minimum/maximum window.
possibly active VOI LUT is implicitly disabled.
idx | ignore global min/max values if false (0) |
set no display function.
disables display function transformation, object is not deleted!
unset all VOI transformations (windows and LUTs).
only applicable for monochrome images
int DiMonoImage::setPresentationLut | ( | const DcmUnsignedShort & | data, |
const DcmUnsignedShort & | descriptor, | ||
const DcmLongString * | explanation = NULL , |
||
const EL_BitsPerTableEntry | descripMode = ELM_UseValue |
||
) |
set LUT for presentation transformation.
possibly active presentation LUT is implicitly disabled.
data | contains LUT data |
descriptor | describes LUT structure |
explanation | free form description of presentation LUT (optional) |
descripMode | mode specifying the use of the bits per table entry value |
int DiMonoImage::setPresentationLutShape | ( | const ES_PresentationLut | shape | ) |
set shape for presentation transformation.
possibly active presentation LUT is implicitly disabled.
shape | presentation LUT shape (default, identity or inverse). 'default' means that the output data is always created with 0 for black and maxvalue for white (i.e. monochrome2 data is created for output). |
int DiMonoImage::setRoiWindow | ( | const unsigned long | left_pos, |
const unsigned long | top_pos, | ||
const unsigned long | width, | ||
const unsigned long | height, | ||
const unsigned long | frame | ||
) |
set automatically calculated VOI window for the specified Region of Interest (ROI).
The ROI is specified by means of a rectangle (left_pos, top_pos, width, height). Possibly active VOI LUT is implicitly disabled.
left_pos | x-coordinate of the top left-hand corner of the ROI (starting from 0) |
top_pos | y-coordinate of the top left-hand corner of the ROI (starting from 0) |
width | width in pixels of the rectangular ROI (minimum: 1) |
height | height in pixels of the rectangular ROI (minimum: 1) |
frame | index of the frame to be used for the calculation |
int DiMonoImage::setVoiLut | ( | const DcmUnsignedShort & | data, |
const DcmUnsignedShort & | descriptor, | ||
const DcmLongString * | explanation, | ||
const EL_BitsPerTableEntry | descripMode = ELM_UseValue |
||
) |
set VOI LUT (given by dcmdata elements).
possibly active window/center is implicitly disabled.
data | contains LUT data |
descriptor | describes LUT structure |
explanation | free form description of VOI LUT (optional) |
descripMode | mode specifying the use of the bits per table entry value |
int DiMonoImage::setVoiLut | ( | const unsigned long | pos, |
const EL_BitsPerTableEntry | descripMode = ELM_UseValue |
||
) |
set VOI LUT (given by index to VOI LUT sequence stored in image file).
possibly active window/center is implicitly disabled.
pos | index to VOI LUT sequence |
descripMode | mode specifying the use of the bits per table entry value |
int DiMonoImage::setVoiLutFunction | ( | const EF_VoiLutFunction | function | ) |
set VOI LUT function
function | type of VOI LUT function (default, linear or sigmoid). 'default' basically means the same as 'linear'. |
int DiMonoImage::setWindow | ( | const unsigned long | pos = 0 | ) |
set specified window (given by index to window width/center sequence stored in image file).
possibly active VOI LUT is implicitly disabled.
pos | index to window width/center sequence |
int DiMonoImage::setWindow | ( | const double | center, |
const double | width, | ||
const char * | explanation = NULL |
||
) |
set specified window (given by window width and center).
possibly active VOI LUT is implicitly disabled.
center | center of specified window |
width | width of specified window |
explanation | window explanation (optional) |
virtual void DiMonoImage::updateImagePixelModuleAttributes | ( | DcmItem & | dataset | ) | [protected, virtual] |
update Image Pixel Module attributes in the given dataset.
Removes possibly existing embedded overlay planes and replaces any present modality transformation by a linear rescale/slope. Used in writeXXXToDataset() routines.
dataset | reference to DICOM image dataset |
Reimplemented from DiImage.
int DiMonoImage::writeBMP | ( | FILE * | stream, |
const unsigned long | frame, | ||
const int | bits | ||
) | [virtual] |
write pixel data to BMP file
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, default (0) = 8) |
Reimplemented from DiImage.
int DiMonoImage::writeImageToDataset | ( | DcmItem & | dataset, |
const int | mode, | ||
const int | planar | ||
) | [virtual] |
write current image and related attributes to DICOM dataset.
dataset | reference to DICOM dataset where the image attributes are stored |
mode | 0 = determine value of BitsStored from 'used' pixel values, 1 = determine value of BitsStored from 'possible' pixel values |
planar | dummy parameter (only used for color images) |
Implements DiImage.
int DiMonoImage::writePPM | ( | STD_NAMESPACE ostream & | stream, |
const unsigned long | frame, | ||
const int | bits | ||
) | [virtual] |
write pixel data to PPM file.
pixel data is written in ASCII format.
stream | open C++ output stream |
frame | index of frame used for output |
bits | number of bits used for output of pixel data |
Implements DiImage.
int DiMonoImage::writePPM | ( | FILE * | stream, |
const unsigned long | frame, | ||
const int | bits | ||
) | [virtual] |
write pixel data to PPM file.
pixel data is written in ASCII format.
stream | open C output stream |
frame | index of frame used for output |
bits | number of bits used for output of pixel data |
Implements DiImage.
int DiMonoImage::writeRawPPM | ( | FILE * | stream, |
const unsigned long | frame, | ||
const int | bits | ||
) | [virtual] |
write pixel data to raw PPM file
stream | open C output stream |
frame | index of frame used for output |
bits | number of bits used for output of pixel data |
Implements DiImage.