dicomwrite拯救dicom图像窗口级别设置

34视图(30天)
有人能帮我吗?
我想拯救我的dicom图像dicom在正确的对比。
我写这样的
R = dicomread (“1. dcm”);
下面的图像像
然后我写了
T = imshow (R, 1844年[0]);
然后我想保存新形象,我写道
dicomwrite (T)“S.dcm”);
但有错误
错误使用dicom_prep_ImagePixel > getPixelStorage(第204行)
无效的数据类型的图像像素。
错误在dicom_prep_ImagePixel(13号线)
(ba, bs, hb,公关)= getPixelStorage (X, txfr useExistingBitDepths、元数据
字典);
错误在dicom_prep_metadata(51)行
元数据= dicom_prep_ImagePixel(元数据,X,地图,txfr,
useMetadataBitDepths,字典);
错误在dicom_create_IOD(第26行)
元数据= dicom_prep_metadata (options.txfr IOD_UID、元数据X,地图,
选项。usemetadatabitdepths,字典);
错误在dicomwrite > write_message(第275行)
(attrs、状态)= dicom_create_IOD (SOP_UID X,地图,
错误在dicomwrite(第211行)
(地位、期权)= write_message (X,文件名,地图、元数据选项);
谁知道如何保存图像DICOM第二张照片? ? ?

接受的答案

西蒙•陈
西蒙•陈 2021年8月18日
矩阵R来自dicomread rawdata和你不建议改变它。
很可能你只能改变默认的窗口和窗口宽度的DICOM头。这个默认窗口和窗口宽度仅用于应用软件能够检索这个DICOM头信息,因此显示图像在一个预期的相比的水平。
因此,总是会显示图像compelely黑色如果你使用图像(R)而不是图像(R, [])。
代码提供了一个参考,你可以观察到的差异usng imtool
清晰;clc;
X = dicomread (“old.dcm”);
元数据= dicominfo (“old.dcm”);
WC = metadata.WindowCenter;%原[40;40]
WW = metadata.WindowWidth;%原(80;80]
imtool (X,“DisplayRange”,(WC (1) WW (1), WC (1) + WW (1)]);%了下图
元数据。WindowCenter = [1050;1050);
元数据。WindowWidth = [400;400);
dicomwrite (X,“New.dcm”、元数据“CreateMode”,“复制”);
Y = dicomread (“New.dcm”);
newmetadata = dicominfo (“New.dcm”);
newWC = newmetadata.WindowCenter;
newWW = newmetadata.WindowWidth;
imtool (Y,“DisplayRange”,(newWC (1) -newWW (1) newWC (1) + newWW (1)]);%下面正确的图
使用原始的窗口和窗口宽度(左),和修订西城和WW(右):
6个评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年9月1日
元数据= dicominfo (“一块”);
WC = metadata.WindowCenter;%原[40;40]
WW = metadata.WindowWidth;%原(80;80]%左下面的图
元数据。WindowCenter = [1200;1200);
元数据。WindowWidth = [400;400);
I = dicomread(元数据);
imshow3D(排列(我,(1 2 3 4)));%寻找西城和最佳影片
k = 1:尺寸(我,4)
dicomwrite(我(:,:,:,k), sprintf (“% d.dcm”k),元数据,“CreateMode”,“复制”);
结束

登录置评。

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2021年8月18日
T = imshow (R, 1844年[0]);
的结果imshow()是一个图形图像()对象的句柄。你不能写一个图形处理作为一个图像。
您应该使用重新调节();年长的MATLAB将不得不使用匿名mat2gray ()

类别

找到更多的在DICOM格式帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!