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

时间:2012-11-13 17:25:12

标签: matlab

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

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

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

非常感谢任何帮助。谢谢!

3 个答案:

答案 0 :(得分:6)

DDSM图像以.LJPEG格式压缩,在处理之前需要先解压缩。

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

2-下载并安装cygwin

3-下载并设置Matlab pnmreader code

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

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

.ics file example

如果数字化仪是'howtek',则将其用作'howtek-mgh',这就是我所知道的。

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

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

答案 1 :(得分:2)

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

上找到

答案 2 :(得分:1)

Here是更好的来源。

如本教程中所述,这样可以减少劳动强度。

我已经习惯了。它完美而轻松地工作。只记得只使用32位版本的cygwin。它对我来说不适用于64位cygwin。