DCMTK Version 3.6.7
OFFIS DICOM Toolkit
dcmpstat: a presentation state library and utility apps

This module contains classes that implement a high-level API for the DICOM Softcopy Grayscale Presentation State Storage SOP Class. It also contains various support classes that are used by DICOMscope, a free DICOM viewer that has been developed as a demonstrator for presentation states. See http://dicom.offis.de/dscope

The main interface classes are:

Tools

This module contains the following command line tools:

Examples

The following example shows how to create a default presentation state for a DICOM image:

DcmFileFormat outfile;
if (infile.loadFile("image.dcm").good())
{
DVPresentationState pstate; // presentation state handler
if (pstate.createFromImage(*infile.getDataset()).good())
{
// serialize presentation state into DICOM data set structure
if (pstate.write(*outfile.getDataset(), OFFalse).good())
{
// and write to file
outfile.saveFile("gsps.dcm", EXS_LittleEndianExplicit);
}
}
}
a Grayscale Softcopy Presentation State.
Definition: dvpstat.h:37
OFCondition createFromImage(DcmItem &dset, DVPSoverlayActivation overlayActivation=DVPSO_copyOverlays, DVPSVOIActivation voiActivation=DVPSV_preferVOILUT, OFBool curveActivation=OFTrue, OFBool shutterActivation=OFTrue, OFBool presentationActivation=OFTrue, DVPSGraphicLayering layering=DVPSG_twoLayers, const char *aetitle=NULL, const char *filesetID=NULL, const char *filesetUID=NULL)
creates a default presentation state for a DICOM image.
a class handling the DICOM file format (with meta header)
Definition: dcfilefo.h:44
OFCondition write(DcmItem &dset, OFBool replaceSOPInstanceUID)
writes the presentation state managed by this object to a DICOM dataset.
OFBool good() const
check if the status is OK.
Definition: ofcond.h:293
@ EXS_LittleEndianExplicit
Explicit VR Little Endian.
Definition: dcxfer.h:45

The following example shows how to apply the grayscale transformation pipeline from a presentation state to a DICOM image:

DcmFileFormat imagefile;
DcmFileFormat gspsfile;
if (imagefile.loadFile("image.dcm").good() &&
gspsfile.loadFile("gsps.dcm").good())
{
DVPresentationState pstate; // presentation state handler
if (pstate.read(*gspsfile.getDataset()).good()) // parse gsps object
{
// attach presentation state to image data
if (pstate.attachImage(&imagefile, OFFalse).good())
{
const void *pixel; // pointer to pixel data, one byte per pixel
unsigned long width; // width of image bitmap
unsigned long height; // height of image bitmap
if (pstate.getPixelData(pixel, width, height).good())
{
/* do something useful with the pixel data */
}
pstate.detachImage(); // release connection between GSPS and image
}
}
}
OFCondition read(DcmItem &dset)
reads a presentation state from a DICOM dataset.
OFCondition getPixelData(const void *&pixelData, unsigned long &width, unsigned long &height)
applies presentation state to attached image and returns image bitmap.
void detachImage()
detaches and frees the image (incl.
OFCondition attachImage(DcmDataset *dataset, OFBool transferOwnership)
attaches an image to the presentation state.
DcmDataset * getDataset()
get dataset part of the fileformat
virtual OFCondition loadFile(const OFFilename &fileName, const E_TransferSyntax readXfer=EXS_Unknown, const E_GrpLenEncoding groupLength=EGL_noChange, const Uint32 maxReadLength=DCM_MaxReadLength, const E_FileReadMode readMode=ERM_autoDetect)
load object from a DICOM file.


Generated on Wed Jan 4 2023 for DCMTK Version 3.6.7 by Doxygen 1.9.4