⚠️ Ceci est un site de traduction non officiel, sans lien avec DCMTK / OFFIS. Pour des informations faisant autorité, consultez la page originale (https://support.dcmtk.org/docs/mod_dcmdata.html).

dcmdata: bibliothèque d'encodage/décodage de données et applications utilitaires

Ce module contient des classes permettant de gérer les structures de données et les fichiers DICOM. Il prend également en charge les fichiers DICOMDIR requis pour les supports de stockage DICOM.

Les principales classes d'interface sont :

Voici d'autres classes qui peuvent être utiles :

Outils

Ce module contient les outils en ligne de commande suivants :

Fichiers

Le fichier suivant fournit une documentation complémentaire :

Exemples

L'exemple suivant montre comment charger un fichier DICOM et afficher le nom du patient :

DcmFileFormat fileformat;

OFCondition status = fileformat.loadFile("test.dcm");

if (status.good())

{

OFString patientName;

if (fileformat.getDataset()->findAndGetOFString(DCM_PatientName, patientName).good())

{

cout << "Patient's Name: " << patientName << endl;

} else

cerr << "Error: cannot access Patient's Name!" << endl;

} else

cerr << "Error: cannot read DICOM file (" << status.text() << ")" << endl;

L'exemple suivant montre comment créer un jeu de données DICOM et l'enregistrer dans un fichier :

char uid[100];

DcmFileFormat fileformat;

DcmDataset *dataset = fileformat.getDataset();

dataset->putAndInsertString(DCM_SOPClassUID, UID_SecondaryCaptureImageStorage);

dataset->putAndInsertString(DCM_SOPInstanceUID, dcmGenerateUniqueIdentifier(uid, SITE_INSTANCE_UID_ROOT));

dataset->putAndInsertString(DCM_PatientName, "Doe^John");

/ ... /

dataset->putAndInsertUint8Array(DCM_PixelData, pixelData, pixelLength);

OFCondition status = fileformat.saveFile("test.dcm", EXS_LittleEndianExplicit);

if (status.bad())

cerr << "Error: cannot write DICOM file (" << status.text() << ")" << endl;

L'exemple suivant montre comment créer un DICOMDIR à usage général à partir de plusieurs fichiers :

DicomDirInterface dicomdir;

OFCondition status = dicomdir.createNewDicomDir();

if (status.good())

{

while ( / there are files / )

dicomdir.addDicomFile( / current filename / );

status = dicomdir.writeDicomDir();

if (status.bad())

cerr << "Error: cannot write DICOMDIR (" << status.text() << ")" << endl;

} else

cerr << "Error: cannot create DICOMDIR (" << status.text() << ")" << endl;