DCMTK Version 3.6.8
OFFIS DICOM Toolkit
|
Base class for monochrome images. More...
Public Member Functions | |
DiMonoImage (const DiDocument *docu, const EI_Status status) | |
constructor More... | |
DiMonoImage (const DiDocument *docu, const EI_Status status, const double slope, const double intercept) | |
constructor, rescale More... | |
DiMonoImage (const DiDocument *docu, const EI_Status status, const DcmUnsignedShort &data, const DcmUnsignedShort &descriptor, const DcmLongString *explanation) | |
constructor, modality LUT More... | |
virtual | ~DiMonoImage () |
destructor | |
virtual int | processNextFrames (const unsigned long fcount) |
process next couple of frames More... | |
int | getMinMaxValues (double &min, double &max, const int mode) const |
get minimum and maximum pixel values. More... | |
DiDisplayFunction * | getDisplayFunction () const |
get display function More... | |
int | setDisplayFunction (DiDisplayFunction *display) |
set display function More... | |
int | setNoDisplayFunction () |
set no display function. More... | |
int | setNoVoiTransformation () |
unset all VOI transformations (windows and LUTs). More... | |
int | deleteDisplayLUT (const int bits) |
delete specified display LUT(s) More... | |
int | isValueUnused (const unsigned long value) |
check whether given output value is unused More... | |
int | convertPValueToDDL (const Uint16 pvalue, Uint16 &ddl, const int bits) |
convert P-value to DDL. More... | |
int | setMinMaxWindow (const int idx=1) |
set automatically calculated minimum/maximum window. More... | |
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). More... | |
int | setHistogramWindow (const double thresh) |
set automatically calculated histogram window. More... | |
int | setWindow (const unsigned long pos=0) |
set specified window (given by index to window width/center sequence stored in image file). More... | |
int | setWindow (const double center, const double width, const char *explanation=NULL) |
set specified window (given by window width and center). More... | |
int | getWindow (double ¢er, double &width) |
get current window center and width values More... | |
unsigned long | getWindowCount () const |
get number of VOI windows (stored in image file) More... | |
EF_VoiLutFunction | getVoiLutFunction () const |
get VOI LUT function. More... | |
int | setVoiLutFunction (const EF_VoiLutFunction function) |
set VOI LUT function More... | |
int | setVoiLut (const DcmUnsignedShort &data, const DcmUnsignedShort &descriptor, const DcmLongString *explanation, const EL_BitsPerTableEntry descripMode=ELM_UseValue) |
set VOI LUT (given by dcmdata elements). More... | |
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). More... | |
unsigned long | getVoiLutCount () const |
get number of VOI LUTs (stored in image file) More... | |
const char * | getVoiTransformationExplanation () const |
get description of active VOI transformation More... | |
const char * | getVoiWindowExplanation (const unsigned long pos, OFString &explanation) const |
get description of specified VOI window (stored in the image file) More... | |
const char * | getVoiLutExplanation (const unsigned long pos, OFString &explanation) const |
get description of specified VOI LUT (stored in the image file) More... | |
const char * | getModalityLutExplanation () const |
get description of performed modality LUT transformation More... | |
int | setHardcopyParameters (const unsigned int min, const unsigned int max, const unsigned int reflect, const unsigned int illumin) |
set hardcopy parameters. More... | |
ES_PresentationLut | getPresentationLutShape () const |
get shape for presentation transformation. More... | |
int | setPresentationLutShape (const ES_PresentationLut shape) |
set shape for presentation transformation. More... | |
int | setPresentationLut (const DcmUnsignedShort &data, const DcmUnsignedShort &descriptor, const DcmLongString *explanation=NULL, const EL_BitsPerTableEntry descripMode=ELM_UseValue) |
set LUT for presentation transformation. More... | |
int | setInversePresentationLut (const DcmUnsignedShort &data, const DcmUnsignedShort &descriptor, const EL_BitsPerTableEntry descripMode=ELM_UseValue) |
set inverse LUT for presentation transformation. More... | |
const char * | getPresentationLutExplanation () const |
get description of active presentation LUT More... | |
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. More... | |
int | removeAllOverlays () |
remove all additional overlay planes More... | |
DiOverlay * | getOverlayPtr (const unsigned int idx) |
get pointer to specified overlay managing object More... | |
DiMonoImage * | getMonoImagePtr () |
get pointer to current monochrome image (this) More... | |
int | flip (const int horz, const int vert) |
flip current image (horizontally and/or vertically) More... | |
int | rotate (const int degree) |
rotate current image (by steps of 90 degrees) More... | |
virtual int | getBits (const int bits=0) const |
get number of bits per sample. More... | |
virtual unsigned long | getOutputDataSize (const int bits=0) const |
get number of bytes required for the rendered output of a single frame More... | |
virtual const void * | getOutputData (const unsigned long frame, const int bits, const int planar=0)=0 |
get pixel data with specified format. More... | |
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. More... | |
const void * | getOutputPlane (const int dummy) const |
get pixel data of specified plane. More... | |
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. More... | |
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. More... | |
void | deleteOverlayData () |
delete buffer for overlay plane data. More... | |
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. More... | |
const DiPixel * | getInterData () const |
get pointer to intermediate pixel data representation More... | |
const DiMonoPixel * | getMonoInterData () const |
get pointer to intermediate pixel data representation More... | |
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. More... | |
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). More... | |
DiImage * | createOutputImage (const unsigned long frame, const int bits) |
create new single frame DiImage with applied grayscale transformations. More... | |
int | writeImageToDataset (DcmItem &dataset, const int mode, const int planar) |
write current image and related attributes to DICOM dataset. More... | |
int | writePPM (STD_NAMESPACE ostream &stream, const unsigned long frame, const int bits) |
write pixel data to PPM file. More... | |
int | writePPM (FILE *stream, const unsigned long frame, const int bits) |
write pixel data to PPM file. More... | |
int | writeRawPPM (FILE *stream, const unsigned long frame, const int bits) |
write pixel data to raw PPM file More... | |
int | writeBMP (FILE *stream, const unsigned long frame, const int bits) |
write pixel data to BMP file More... | |
![]() | |
DiImage (const DiDocument *docu, const EI_Status status, const int spp) | |
constructor More... | |
virtual | ~DiImage () |
destructor | |
virtual int | processNextFrames (const unsigned long fcount) |
process next couple of frames More... | |
EI_Status | getStatus () const |
get status of the image object More... | |
Uint32 | getNumberOfFrames () const |
get number of frames More... | |
Uint32 | getFirstFrame () const |
get index of first frame More... | |
Uint32 | getTotalNumberOfFrames () const |
get total number of frames More... | |
Uint32 | getRepresentativeFrame () const |
get representative frame More... | |
double | getFrameTime () const |
get frame time More... | |
Uint16 | getRows () const |
get number of rows More... | |
Uint16 | getColumns () const |
get number of columns More... | |
double | getPixelWidth () const |
get pixel's width More... | |
double | getPixelHeight () const |
get pixel's height More... | |
double | getRowColumnRatio () const |
get pixel's rows/column ratio More... | |
double | getColumnRowRatio () const |
get pixel's column/rows ratio More... | |
int | setRowColumnRatio (const double ratio) |
set pixel's rows/column ratio More... | |
int | setColumnRowRatio (const double ratio) |
set pixel's column/rows ratio More... | |
EP_Polarity | getPolarity () const |
get polarity. More... | |
int | setPolarity (const EP_Polarity polarity) |
set polarity. More... | |
virtual int | getBits (const int bits=0) const |
get number of bits per sample. More... | |
virtual EP_Interpretation | getInternalColorModel () const =0 |
get color model of internal pixel representation. More... | |
virtual const DiPixel * | getInterData () const =0 |
get access to intermediate pixel data representation (abstract) More... | |
virtual unsigned long | getOutputDataSize (const int bits=0) const =0 |
get number of bytes required for the rendered output of a single frame More... | |
virtual const void * | getOutputData (const unsigned long frame, const int bits, const int planar)=0 |
get pixel data with specified format (abstract). More... | |
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). More... | |
virtual const void * | getOutputPlane (const int plane) const =0 |
get pixel data of specified plane (abstract). More... | |
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 More... | |
virtual DiMonoImage * | getMonoImagePtr () |
get pointer to monochrome image object More... | |
virtual DiImage * | createImage (const unsigned long fstart, const unsigned long fcount) const =0 |
create copy of current image object (abstract) More... | |
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). More... | |
virtual int | flip (const int horz, const int vert)=0 |
flip current image horizontally and/or vertically (abstract) More... | |
virtual DiImage * | createFlip (const int horz, const int vert) const =0 |
create a flipped copy of the current image (abstract). More... | |
virtual int | rotate (const int degree) |
rotate current image (by steps of 90 degrees) More... | |
virtual DiImage * | createRotate (const int degree) const =0 |
create a rotated copy of the current image (abstract). More... | |
virtual DiImage * | createMono (const double red, const double green, const double blue) const =0 |
create monochrome copy of the current image (abstract). More... | |
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). More... | |
virtual unsigned long | createAWTBitmap (void *&data, const unsigned long frame, const int bits)=0 |
create true color (32 bit) bitmap for Java AWT (abstract). More... | |
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. More... | |
virtual int | writeImageToDataset (DcmItem &dataset, const int mode=0, const int planar=2)=0 |
write current image and related attributes to DICOM dataset. More... | |
virtual int | writePPM (STD_NAMESPACE ostream &stream, const unsigned long frame, const int bits)=0 |
write pixel data to PPM file (abstract). More... | |
virtual int | writePPM (FILE *stream, const unsigned long frame, const int bits)=0 |
write pixel data to PPM file (abstract). More... | |
virtual int | writeRawPPM (FILE *stream, const unsigned long frame, const int bits)=0 |
write pixel data to raw PPM file (abstract) More... | |
virtual int | writeBMP (FILE *stream, const unsigned long frame, const int bits) |
write pixel data to BMP file More... | |
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. More... | |
Protected Member Functions | |
DiMonoImage (const DiDocument *image, const EI_Status status, const char dummy) | |
constructor More... | |
DiMonoImage (const DiMonoImage *image, const unsigned long fstart, const unsigned long fcount) | |
constructor, copy More... | |
DiMonoImage (const DiColorImage *image, const double red, const double green, const double blue) | |
constructor, convert color images to monochrome More... | |
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 More... | |
DiMonoImage (const DiMonoImage *image, const int horz, const int vert) | |
constructor, flip More... | |
DiMonoImage (const DiMonoImage *image, const int degree) | |
constructor, rotate More... | |
DiMonoImage (const DiMonoImage *image, DiMonoOutputPixel *pixel, const unsigned long frame, const int stored, const int alloc) | |
constructor, createMonoOutput More... | |
void | Init (DiMonoModality *modality, const OFBool reuse=OFFalse) |
initialize internal data structures and member variables More... | |
void | InitUint8 (DiMonoModality *modality) |
initialize internal data structures (for Uint8) More... | |
void | InitSint8 (DiMonoModality *modality) |
initialize internal data structures (for Sint8) More... | |
void | InitUint16 (DiMonoModality *modality) |
initialize internal data structures (for Uint16) More... | |
void | InitSint16 (DiMonoModality *modality) |
initialize internal data structures (for Sint16) More... | |
void | InitUint32 (DiMonoModality *modality) |
initialize internal data structures (for Uint32) More... | |
void | InitSint32 (DiMonoModality *modality) |
initialize internal data structures (for Sint32) More... | |
int | checkInterData (const int mode=1) |
check intermediate pixel representation for consistency More... | |
virtual void | updateImagePixelModuleAttributes (DcmItem &dataset) |
update Image Pixel Module attributes in the given dataset. More... | |
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. More... | |
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). More... | |
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). More... | |
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). More... | |
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). More... | |
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). More... | |
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). More... | |
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). More... | |
![]() | |
DiImage (const DiDocument *docu, const EI_Status status) | |
constructor More... | |
DiImage (const DiImage *image, const unsigned long fstart, const unsigned long fcount) | |
constructor, copy More... | |
DiImage (const DiImage *image, const Uint16 width, const Uint16 height, const int aspect=0) | |
constructor, scale/clip More... | |
DiImage (const DiImage *image, const int degree=0) | |
constructor, rotate More... | |
DiImage (const DiImage *image, const unsigned long frame, const int stored, const int alloc) | |
constructor, createMonoOutput More... | |
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. More... | |
int | detachPixelData () |
detach pixel data. More... | |
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 square meter) | |
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!) | |
![]() | |
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) | |
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) |
|
protected |
constructor
image | pointer to dataset (encapsulated) |
status | current image status |
dummy | (necessary to be different from another constructor) |
|
protected |
constructor, copy
image | pointer to reference image |
fstart | first frame to be processed |
fcount | number of frames |
|
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 |
|
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) |
|
protected |
constructor, flip
image | pointer to reference image |
horz | flip horizontally if true |
vert | flip vertically if true |
|
protected |
constructor, rotate
image | pointer to reference image |
degree | angle by which the image shall be rotated |
|
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 origin (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') |
|
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 |
|
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.
|
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.
|
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 |
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) |
Referenced by DicomImage::create12BitPackedBitmap().
|
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.
|
virtual |
flip current image (horizontally and/or vertically)
horz | flip horizontally if true |
vert | flip vertically if true |
Implements DiImage.
|
inlinevirtual |
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.
|
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 |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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) |
|
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 |
|
inlinevirtual |
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) |
|
inline |
get description of performed modality LUT transformation
|
inlinevirtual |
get pointer to current monochrome image (this)
Reimplemented from DiImage.
|
inline |
get pointer to intermediate pixel data representation
|
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 DiMono1Image, and DiMono2Image.
|
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 DiMono1Image, and DiMono2Image.
|
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.
|
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 |
|
inlinevirtual |
get pointer to specified overlay managing object
idx | index of overlay group (0 = dataset, 1 = additional) |
Reimplemented from DiImage.
|
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.
|
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.
|
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 |
|
inline |
get number of VOI windows (stored in image file)
|
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 |
|
protected |
initialize internal data structures (for Sint16)
modality | pointer to object handling the modality transform |
|
protected |
initialize internal data structures (for Sint32)
modality | pointer to object handling the modality transform |
|
protected |
initialize internal data structures (for Sint8)
modality | pointer to object handling the modality transform |
|
protected |
initialize internal data structures (for Uint16)
modality | pointer to object handling the modality transform |
|
protected |
initialize internal data structures (for Uint32)
modality | pointer to object handling the modality transform |
|
protected |
initialize internal data structures (for Uint8)
modality | pointer to object handling the modality transform |
|
inline |
check whether given output value is unused
value | output value to be checked |
|
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
|
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 | threshold 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) |
int DiMonoImage::setNoDisplayFunction | ( | ) |
set no display function.
disables display function transformation, object is not deleted!
int DiMonoImage::setNoVoiTransformation | ( | ) |
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 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) |
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 |
|
protectedvirtual |
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.
|
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.
|
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.
|
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.
|
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.
|
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.