关于dicom参数信息和数据读写的理解

本文详细解析了DICOM图像中DCM_BitsStored、DCM_BitsAllocated、DCM_PixelRepresentation、灰度偏移(DCM_RescaleIntercept)以及DCM_PixelData之间的关系,阐述了如何根据这些参数正确处理图像数据。同时,探讨了使用dcmtk进行DICOM标签读写时应注意的数据类型选择,包括putAndInsertUint16、putAndInsertString及putAndInsertUint8Array的适用场景。
摘要由CSDN通过智能技术生成

1. 数据位存储(DCM_BitsStored)、数据位分配(DCM_BitsAllocated)、数据符号类型(DCM_PixelRepresentation)、灰度偏移(DCM_RescaleIntercept) 和数据值(DCM_PixelData)本身的关系:

    (1) DCM_BitsAllocated是给每个像素分配的字节数对应的位数,如单字节就是8,两字节就是16.......,把dicom数据读出来存到计算机内存最好就用相应的DCM_BitsAllocated数据类型,如DCM_BitsAllocated=16的时候,用short或者unsigned short类型;

    (2) DCM_PixelRepresentation是数据的存储类型,0代表无符号存储,1代表有符号存储;

    (3) 在dicom文件里,DCM_BitsStored是DCM_BitsAllocated中的有效存储位。如果DCM_PixelRepresentation=1(有符号存储),那么DCM_BitsStored的DCM_HighBit位为符号位,比如DCM_BitsStored=12并且DCM_HighBit=11的时候,表示有效存储位(DCM_BitsStored)中的最高位为符号位,此时数据表示范围为-2048(即2^11) ~ 2043(即2^11-1);

    (4) DCM_RescaleIntercept用于得到输出灰度值,也就是每个像素的DCM_PixelData值加上DCM_RescaleIntercept得到的结果。如一张图像上一个像素点灰度为1024,偏移DCM_RescaleIntercept=-1024,那么该像素对应输出1024+(-1024)=0;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值