⚠️ 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_dcmjpeg.html).

dcmjpeg: bibliothèque de compression/décompression et applications utilitaires

Ce module contient des classes qui convertissent entre les représentations non compressées et compressées en JPEG (syntaxes de transfert) d'un objet image DICOM. Les processus JPEG sans perte et avec perte sont tous deux pris en charge. Ce module implémente une famille de codecs qui dérivent de la classe DcmCodec et qui peuvent être enregistrés dans la liste des codecs gérée par le module dcmdata.

Les principales classes d'interface sont :

Outils

Ce module contient les outils en ligne de commande suivants :

Exemples

L'exemple suivant montre comment compresser un fichier image DICOM en JPEG sans perte :

DJEncoderRegistration::registerCodecs(); // enregistre les codecs JPEG

DcmFileFormat fileformat;

if (fileformat.loadFile("test.dcm").good())

{

DcmDataset *dataset = fileformat.getDataset();

DcmItem *metaInfo = fileformat.getMetaInfo();

DJ_RPLossless params; // paramètres du codec, nous utilisons les valeurs par défaut

// this causes the lossless JPEG version of the dataset to be created

if (dataset->chooseRepresentation(EXS_JPEGProcess14SV1, &params).good() &&

dataset->canWriteXfer(EXS_JPEGProcess14SV1))

{

// store in lossless JPEG format

fileformat.saveFile("test_jpeg.dcm", EXS_JPEGProcess14SV1);

}

}

DJEncoderRegistration::cleanup(); // annule l'enregistrement des codecs JPEG

L'exemple suivant montre comment décompresser un fichier image DICOM compressé en JPEG :

DJDecoderRegistration::registerCodecs(); // enregistre les codecs JPEG

DcmFileFormat fileformat;

if (fileformat.loadFile("test_jpeg.dcm").good())

{

DcmDataset *dataset = fileformat.getDataset();

// decompress data set if compressed

if (dataset->chooseRepresentation(EXS_LittleEndianExplicit, NULL).good() &&

dataset->canWriteXfer(EXS_LittleEndianExplicit))

{

fileformat.saveFile("test_decompressed.dcm", EXS_LittleEndianExplicit);

}

}

DJDecoderRegistration::cleanup(); // annule l'enregistrement des codecs JPEG