⚠️ Este é um site de tradução não oficial, sem relação com o DCMTK / OFFIS. Para informações oficiais, consulte a página original (https://support.dcmtk.org/docs/mod_dcmjpls.html).

dcmjpls: uma biblioteca de compressão/descompressão e aplicativos utilitários

Este módulo contém classes que convertem entre as representações não comprimida e comprimida em JPEG-LS (sintaxes de transferência) de um objeto de imagem DICOM. Há suporte tanto para o processo JPEG-LS sem perdas quanto para o quase sem perdas (near-lossless). Este módulo implementa uma família de codecs derivados da classe DcmCodec e que podem ser registrados na lista de codecs mantida pelo módulo dcmdata.

As principais classes de interface são:

Ferramentas

Este módulo contém as seguintes ferramentas de linha de comando:

Exemplos

O exemplo a seguir mostra como comprimir um arquivo de imagem DICOM com JPEG-LS sem perdas:

DJLSEncoderRegistration::registerCodecs(); // register JPEG-LS codecs

DcmFileFormat fileformat;

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

{

DcmDataset *dataset = fileformat.getDataset();

DcmItem *metaInfo = fileformat.getMetaInfo();

DJLSRepresentationParameter rp(0, OFTrue); // parameters for lossless

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

dataset->chooseRepresentation(EXS_JPEGLSLossless, &params);

// check if everything went well

if (dataset->canWriteXfer(EXS_JPEGLSLossless))

{

// store in lossless JPEG-LS format

fileformat.saveFile("test_jpls.dcm", EXS_JPEGLSLossless);

}

}

DJLSEncoderRegistration::cleanup(); // deregister JPEG-LS codecs

O exemplo a seguir mostra como descomprimir um arquivo de imagem DICOM comprimido em JPEG-LS:

DJLSDecoderRegistration::registerCodecs(); // register JPEG-LS codecs

DcmFileFormat fileformat;

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

{

DcmDataset *dataset = fileformat.getDataset();

// decompress data set if compressed

dataset->chooseRepresentation(EXS_LittleEndianExplicit, NULL);

// check if everything went well

if (dataset->canWriteXfer(EXS_LittleEndianExplicit))

{

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

}

}

DJLSDecoderRegistration::cleanup(); // deregister JPEG-LS codecs

Observe que a Hewlett Packard afirma deter patentes aplicáveis ao JPEG-LS. A Hewlett Packard concede licenças gratuitas para implementações conformes do JPEG-LS. A OFFIS, como autora do kit de ferramentas DCMTK, obteve essa licença, mas, dependendo da legislação de cada país, as empresas que utilizam o codec JPEG-LS do DCMTK também podem precisar adquirir uma licença. Caso pretenda usar este módulo para fins comerciais, consulte http://www.hpl.hp.com/loco/ para mais informações.