dcmpstat: bibliothèque de presentation state et applications utilitaires
Ce module contient des classes qui implémentent une API de haut niveau pour la DICOM Softcopy Grayscale Presentation State Storage SOP Class. Il contient également diverses classes de support utilisées par DICOMscope, un visualiseur DICOM gratuit développé comme démonstrateur pour les presentation states. Consultez https://dicom.offis.de/en/dicomscope/
Les principales classes d'interface sont :
Outils
Ce module contient les outils en ligne de commande suivants :
- dcmmkcrv: ajouter des données de courbe 2D à une image
- dcmmklut: création de tables de correspondance DICOM
- dcmp2pgm: lire une image DICOM et une presentation state, puis générer un bitmap
- dcmprscp: SCP de gestion de base de l'impression en niveaux de gris DICOM
- dcmprscu: spouleur d'impression pour visualiseur de Presentation State
- dcmpschk: outil de vérification des presentation states
- dcmpsmk: création d'une presentation state softcopy DICOM en niveaux de gris
- dcmpsprt: lit des images DICOM et des Presentation States et génère un travail d'impression
- dcmpsrcv: réception réseau pour visualiseur de Presentation State
- dcmpssnd: envoi réseau pour le visualiseur de Presentation State
Exemples
L'exemple suivant montre comment créer une presentation state par défaut pour une image DICOM :
DcmFileFormat infile;
DcmFileFormat outfile;
if (infile.loadFile("image.dcm").good())
{
DVPresentationState pstate; // gestionnaire de presentation state
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);
}
}
}
L'exemple suivant montre comment appliquer le pipeline de transformation en niveaux de gris d'une presentation state à une image DICOM :
DcmFileFormat imagefile;
DcmFileFormat gspsfile;
if (imagefile.loadFile("image.dcm").good() &&
gspsfile.loadFile("gsps.dcm").good())
{
DVPresentationState pstate; // gestionnaire de presentation state
if (pstate.read(*gspsfile.getDataset()).good()) // analyse l'objet gsps
{
// attach presentation state to image data
if (pstate.attachImage(&imagefile, OFFalse).good())
{
const void *pixel; // pointeur vers les données de pixels, un octet par pixel
unsigned long width; // largeur du bitmap de l'image
unsigned long height; // hauteur du bitmap de l'image
if (pstate.getPixelData(pixel, width, height).good())
{
/ do something useful with the pixel data /
}
pstate.detachImage(); // libère la connexion entre le GSPS et l'image
}
}
}