从数字数据库中获取数据以进行乳腺摄影筛查(DDSM)

Che*_*eng 7 matlab

我试图以可读格式获取DDSM数据集.

有没有人有一个工作版本的DDSM的heathusf程序,适用于Linux或Windows规范化?我知道有一个适用于Linux的DDSM jpeg程序的工作版本http://www.cs.unibo.it/~roffilli/sw.html 我编译并测试了它.我使用这里描述的MATLAB代码来查看图像.它仅适用于某些扫描仪.

正如在论文中描述http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.111.3846当正确的编译,所述软件DDSM输出的图像数据作为原始字节的流; 然后必须根据用于对原始胶片成像的数字转换器模型对这些进行归一化,然后创建一个可由一个人的图像分析软件环境读取的图像文件.有没有人有标准化图像数据的解决方案?

任何帮助是极大的赞赏.谢谢!

Sam*_*mal 6

DDSM图像以.LJPEG格式压缩,在处理之前需要首先对它们进行解压缩.

我已经找到了将DDSM图像转换为原始图像的方法,但它还有很长的路要走,而且我没有更好的方法.

2-下载并安装cygwin.

3-下载并设置 Matlab pnmreader代码.

4-创建一个文件夹并使其内容如下:

  • jpeg.exe
  • ddsmraw2pnm.exe
  • ConvertDDSMImageToRaw.m [ 实现后来的回答 ]
  • cygwin1.dll [ 来自"C:\ cygwin"或您安装cygwin的其他地方 ]

5- ConvertDDSMImageToRaw功能实现.

function ConvertDDSMImageToRaw(filename, columns, rows, digitizer)
%// ConvertDDSMImageToRaw Convert an image of ddsm database to raw image.
%// -------------------------------------------------------------------------
%// Input:-
%//  o filename : String representing ddsm image file name.
%//  o columns  : Double representing number of columns in the image.
%//  o rows     : Double representing number of rows in the image.
%//  o digitizer: String representing image normalization function name,
%//     which differ from one case to another and have the set of 
%//    values ['dba', 'howtek-mgh', 'howtek-ismd' and 'lumisys' ]
%// -------------------------------------------------------------------------
%// Prepare and execute command of image decompression
commandDecompression = [which('jpeg.exe') ' -d -s ' filename];
dos(commandDecompression);
%// -------------------------------------------------------------------------
%// Prepare and execute command that convert the decompressed image to pnm format.
rawFileName          = [ filename '.1'];
columns              = num2str(columns);
rows                 = num2str(rows);
digitizer            = ['"' digitizer '"'];
commandConversion    =[ which('pnm.exe') ,' ',rawFileName,' ',columns,' ',rows,' ',digitizer];
dos(commandConversion);
%// -------------------------------------------------------------------------
%// Wrtie the image into raw format
pnmFileName          = [rawFileName '-ddsmraw2pnm.pnm'];
image                = pnmread(pnmFileName);
imwrite(image,[filename '.raw']);
end
Run Code Online (Sandbox Code Playgroud)

6- [cols,rows,digitizer]从.ics文件中获取图像信息:

.ics文件示例

如果数字化仪是'howtek',那就用它作为'howtek-mgh',这就是我所知道的.

7-现在使用我们已经实现的功能转换您的图像,如下所示:

filename  = 'A_1709_1.LEFT_CC.LJPEG';
digitizer = 'howtek-mgh';       
imageSize = [ 5341  2806 ];
ConvertDDSMImageToRaw(filename, imageSize(1) , imageSize(2), digitizer);
Run Code Online (Sandbox Code Playgroud)


Che*_*eng 2

我找到了一个完整的解决方案,可以下载、规范化(基于扫描仪)并将 DDSM 图像转换为 PNG 格式。Chris Rose 博士编写了该程序,可在 GitHub 上获取:https://github.com/multinormal/ddsm