主要内容

创建包含单文件和多文件DICOM卷的镜像数据存储

此示例示出了如何创建包含存储为单个文件,并为多个文件体积DICOM数据的图像数据存储。

指定包含DICOM数据的目录的位置。该数据包括2-D图像、单个文件中的3-D卷和多文件3-D卷。

dicomDir = fullfile (matlabroot,“工具箱/图片/ imdata”);

方法收集关于DICOM文件的详细信息dicomCollection功能。该函数返回的细节作为一个表,其中每一行代表一个单一的研究。对于多文件DICOM卷,功能聚合了文件转换成一个单一的研究。

收集= dicomCollection (dicomDir,“upplyubfolders”,真的)
收集=表6×14StudyDateTime SeriesDateTime PatientName PatientSex形态行列频道的帧StudyDescription SeriesDescription StudyInstanceUID SeriesInstanceUID文件名________________________ ________________________ _______________ __________ __________ ____ _______ ________ ______ ________________ _________________ __________________________________________________________________ __________________________________________________________________ ___________________________________________________________________________________________________________________ S1 {0×0双} {0×0双} “” “” “RTSTRUCT” 0 00 1 “” “” “1.2.826.0.1.3680043.8.274.1.1.2729954696.96242.3632970675.507” “1.2.826.0.1.3680043.8.274.1.1.7145442384.75872.7982248107.258”{[“E:\ jobarchive \ Bdoc20b \ 2020_04_16_h05m48s37_job1364129_pass \ MATLAB \工具箱\图像\ IMDATA \ rtstruct.dcm”]} S2 {[30-APR-1993 11点27分24秒]}  -  {[30-APR-1993 11点27分24秒]} “匿名的” “” “CT” 512512 1 1 “RT ANKLE” “”“1.2.840.113619.2.1.1.322987881.621.736170080.681" “1.2.840.113619.2.1.2411.1031152382.365.736169244”{[ “E:\ jobarchive \ Bdoc20b \ 2020_04_16_h05m48s37_job1364129_pass \ MATLAB \工具箱\图像\ IMDATA \ CT-MONO2-16-ankle.dcm”]} S3 {[14日 -  12月2013 15时47分31秒]}  -  {[14-DEC-2013 15时54分33秒]} “GORBERG米齐” “F” “MR” 512 512 1 22 “CSP”, “AX T2”“1.2。840.113619.2.244.3596.11880862.13689.1386517653.214" “1.2.840.113619.2.244.3596.11880862.13689.1386517653.217”{22×1串} S4 {[03-OCT-2011 19点18分11秒]}  -  {[03-OCT-2011 18时59分02秒]} “” “M” “MR” 512 512 11 “右膝” “” “1.3.6.1.4.1.9590.100.1.2.320418845013189618318250681693358291211”“1.3.6.1.4.1.9590.100.1.2。287740981712351622214874344032214809569" {[ “E:\ jobarchive \ Bdoc20b \ 2020_04_16_h05m48s37_job1364129_pass \ MATLAB \工具箱\图像\ IMDATA \ knee1.dcm”]} S5 {[03-OCT-2011十九点18分11秒]} {[03-OCT-201119时05分04秒]} “” “M” “MR” 512 512 11 “右膝” “” “1.3.6.1.4.1.9590.100.1.2.320498134711034521212730362051554545799”“1.3.6.1.4.1.9590.100.1.2.316302984111738034326701385064023497963“{[” E:\ jobarchive \Bdoc20b \ 2020_04_16_h05m48s37_job1364129_pass \ MATLAB \工具箱\图像\ IMDATA \ knee2.dcm”]} S6 {[30-JAN-1994 11时25分01秒]} {0×0双} “匿名的”, “” “US” 430 600 110 “超声心动图”, “PS LAX MR&AI” “999.999.3859744” “999.999.94827453”{[“E:\ jobarchive \ Bdoc20b \ 2020_04_16_h05m48s37_job1364129_pass \ MATLAB \工具箱\图像\ IMDATA \ US-PAL-8-10x回波.DCM“]}

创建临时目录存放处理后的DICOM卷。

matFileDir =完整文件(PWD,“MATFiles”);如果~存在(matFileDir“dir”)MKDIR(matFileDir)结束

循环浏览收藏中的每个书房。

idx = 1:尺寸(收集,1)

获得包括该研究的文件名。对于多文件DICOM卷,文件名被列为一个字符串数组。

dicomFileName = collection.Filenames {idx};如果长度(dicomFileName)> 1 matFileName = fileparts(dicomFileName(1));matFileName =分裂(matFileName,filesep);matFileName =替换(strtrim(matFileName(结束)),”““_”);其他的[~, matFileName] = fileparts (dicomFileName);结束matFileName =完整文件(matFileDir,matFileName);

读取数据。尝试不同的读取功能,因为图像有不同的维数和存储在不同的格式。

1)尝试通过使用读取研究的数据dicomreadVolume功能。

  • 如果数据是一个多文件卷,则dicomreadVolume成功运行,并以单个4-D数组返回完整的卷。您可以将这些数据添加到数据存储中。

  • 如果数据包含在单个文件中,则dicomreadVolume没有成功运行。

2)尝试阅读研究数据使用dicomread功能。

  • 如果dicomread返回一个4-D阵列,然后研究包含一个完整的3-D体积。您可以将这些数据添加到数据存储中。

  • 如果dicomread返回2-d矩阵或3- d阵列,则该研究包含单个2-d的图像。跳过此数据并继续收集在未来的研究中。

试一试data = dicomreadVolume(收集、collection.Row {idx});ME数据= dicomread(dicomFileName);如果ndims(数据)< 4跳过不是卷的文件继续;结束结束

对于以4-D数组返回的完整卷,将数据和绝对文件名写入MAT文件。

保存(matFileName,“数据”“dicomFileName”);

结束了在收集研究循环。

结束

创建一个imageDatastore包含体积DICOM数据的MAT文件。指定readfcn.属性作为辅助函数matRead在本实施例的端部限定。

imdsdicom = imageDatastore (matFileDir,“FileExtensions”“.mat”......'readfcn',@ matRead);

从映像数据存储中读取第一个DICOM卷。

[V, Vinfo] =阅读(imdsdicom);[~, VFileName] = fileparts (Vinfo.Filename);

该DICOM体积为灰度。通过使用除去单通道尺寸挤压函数,然后使用volshow功能。

V =紧缩(V);ViewPnl = uipanel(图,“标题”, VFileName);volshow (V,“父”,ViewPnl);

金宝app支持功能

matRead从MAT文件与文件名中的第一个变量函数加载数据文件名

函数data = matRead(filename) inp = load(filename);f =字段(输入);=输入的数据。(f {1});结束

也可以看看

|||||

相关的话题