poster
2019-12-06, 16:21
从REST API中,我收到一个很大的DICOM图像文件,我想对其进行处理:
dataStream = webwrite('someurl', 'someparam', 'somevalue', weboptions) dataStream是一个字节流,例如21315752x1 uint8 ,其值范围从0到255。
现在,代替直接执行类似I=dicomread(dataStream)我必须将数据流写入本地驱动器,这太慢了:
fileID = fopen([cd '/cache/TEMP_DICOM_LOAD.dcm'],'w'); fwrite(fileID, dataStream); fclose(fileID); 为了阅读我的DICOM,我现在要做:
I=dicomread([cd '/cache/TEMP_DICOM_LOAD.dcm']);
有什么聪明的方法来避免将我的文件写入HDD?
请注意,我无法控制通过API提供的数据。因此,我将无法在此处使用Java ImageIO的方法: 从原始位到jpeg而不写入文件 (https://stackoverflow.com/questions/18659586/from-raw-bits-to-jpeg-without-writing-into-a-file)是不可能的,因为默认情况下它不支持DICOM。
更多&回答... (https://stackoverflow.com/q/59209323)
dataStream = webwrite('someurl', 'someparam', 'somevalue', weboptions) dataStream是一个字节流,例如21315752x1 uint8 ,其值范围从0到255。
现在,代替直接执行类似I=dicomread(dataStream)我必须将数据流写入本地驱动器,这太慢了:
fileID = fopen([cd '/cache/TEMP_DICOM_LOAD.dcm'],'w'); fwrite(fileID, dataStream); fclose(fileID); 为了阅读我的DICOM,我现在要做:
I=dicomread([cd '/cache/TEMP_DICOM_LOAD.dcm']);
有什么聪明的方法来避免将我的文件写入HDD?
请注意,我无法控制通过API提供的数据。因此,我将无法在此处使用Java ImageIO的方法: 从原始位到jpeg而不写入文件 (https://stackoverflow.com/questions/18659586/from-raw-bits-to-jpeg-without-writing-into-a-file)是不可能的,因为默认情况下它不支持DICOM。
更多&回答... (https://stackoverflow.com/q/59209323)