医站点医维基

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2056|回复: 11

[DCMTK] DCMTK简介六-dcmjpeg程序库

[复制链接]

336

主题

409

回帖

2805

积分

管理员

积分
2805

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2015-12-4 21:07:14 | 显示全部楼层 |阅读模式
本帖最后由 medimage 于 2015-12-4 21:25 编辑

六、dcmjpeg程序库
dcmjpeg提供了一个压缩/解压缩库以及可用工具。该模块包含一些类,可将DICOM图像对象在非压缩和JPEG压缩表示(传输协议)之间转换。无失真和有失真JPEG处理都被支持。这个模块实现了一族codec(编码解码器,由DcmCodec类派生而来),可以将这些codec在codec list中注册,codec list是由dcmdata模块保存的。

主要接口类:
--DJEncoderRegistration: 一个singleton(孤立)类,为所有支持的JPEG处理注册编码器。在djencode.h中定义。
--DJDecoderRegistration: 一个singleton(孤立)类,为所有支持的JPEG处理注册解码器。在djdecode.h中定义。
--DJCodecEncoder: JPEG编码器的一个抽象codec类。This abstract class contains most of the application logic needed for a dcmdata codec object that implements a JPEG encoder using the DJEncoder interface to the underlying JPEG implementation. This class only supports compression, it neither implements decoding nor transcoding. 在djcodece.h中定义。
--DJCodecDecoder: JPEG解码器的一个抽象codec类。This abstract class contains most of the application logic needed for a dcmdata codec object that implements a JPEG decoder using the DJDecoder interface to the underlying JPEG implementation. This class only supports decompression, it neither implements encoding nor transcoding.
工具:
dcmcjpeg: Encode DICOM file to JPEG transfer syntax
dcmdjpeg: Decode JPEG-compressed DICOM file
dcmj2pnm: Convert DICOM images to PGM, PPM, BMP, TIFF or JPEG
dcmmkdir: Create a DICOMDIR file
举例:
--用无失真JPEG压缩一幅DICOM图像文件。
DJEncoderRegistration::registerCodecs(); // register JPEG codecs
DcmFileFormat fileformat;
if (fileformat.loadFile("test.dcm").good())
{
DcmDataset *dataset = fileformat.getDataset();
DcmItem *metaInfo = fileformat.getMetaInfo();
DJ_RPLossless params; // codec parameters, we use the defaults
// this causes the lossless JPEG version of the dataset to be created
dataset->chooseRepresentation(EXS_JPEGProcess14SV1TransferSyntax, ¶ms);
// check if everything went well
if (dataset->canWriteXfer(EXS_JPEGProcess14SV1TransferSyntax))
{
    // force the meta-header UIDs to be re-generated when storing the file
    // since the UIDs in the data set may have changed
    delete metaInfo->remove(DCM_MediaStorageSOPClassUID);
    delete metaInfo->remove(DCM_MediaStorageSOPInstanceUID);
    // store in lossless JPEG format
    fileformat.saveFile("test_jpeg.dcm", EXS_JPEGProcess14SV1TransferSyntax);
}
}   
DJEncoderRegistration::cleanup(); // deregister JPEG codecs
--解压缩一幅JPEG压缩的DICOM图像文件。
DJDecoderRegistration::registerCodecs(); // register JPEG codecs
DcmFileFormat fileformat;
if (fileformat.loadFile("test_jpeg.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);
}
}   
DJDecoderRegistration::cleanup(); // deregister JPEG codecs

回复

使用道具 举报

13

主题

398

回帖

1051

积分

版主

积分
1051

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-4-22 21:48:08 | 显示全部楼层
回复

使用道具 举报

149

主题

462

回帖

1611

积分

版主

积分
1611

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-10 02:21:56 | 显示全部楼层
好贴!
回复

使用道具 举报

13

主题

441

回帖

1126

积分

版主

积分
1126

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-10 21:50:34 | 显示全部楼层
高手,厉害,向你学习。
回复

使用道具 举报

26

主题

418

回帖

1126

积分

版主

积分
1126

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-16 01:12:50 | 显示全部楼层
正需要,学习学习,谢谢楼主!
回复

使用道具 举报

119

主题

457

回帖

1524

积分

版主

积分
1524

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-16 11:49:27 | 显示全部楼层
LZ高人啊,我来学习了
回复

使用道具 举报

0

主题

412

回帖

1035

积分

版主

积分
1035

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-17 09:34:12 | 显示全部楼层
谢谢你的辛苦劳动了!!!
回复

使用道具 举报

119

主题

457

回帖

1524

积分

版主

积分
1524

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-19 00:51:50 | 显示全部楼层
回复

使用道具 举报

0

主题

399

回帖

804

积分

高级会员

积分
804

最佳新人

发表于 2016-5-20 08:29:48 | 显示全部楼层
一直在摸索,还是楼主厉害!
回复

使用道具 举报

1

主题

441

回帖

1100

积分

版主

积分
1100

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-20 08:47:49 | 显示全部楼层
谢谢大神
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|医维基|网站地图|Archiver|手机版|医疗之家 ( 沪ICP备2023001278号-1 )  

GMT+8, 2024-4-27 14:44 , Processed in 0.195782 second(s), 28 queries .

Designed by Medical BBS

快速回复 返回顶部 返回列表