7

我正在尝试以可读格式获取 DDSM 数据集。

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

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

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

4

3 回答 3

6

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

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

2-下载并安装cygwin

3- 下载并设置 Matlab pnmreader 代码

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

  • JPEG文件
  • 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-[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);
于 2013-01-13T09:00:20.780 回答
2

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

于 2013-04-14T05:28:46.293 回答
1

是一个更好的来源。

正如教程中提到的,这不是劳动密集型的。

我已经使用它了。它完美而轻松地工作。请记住仅使用 32 位版本的 cygwin。它不适用于我的 64 位 cygwin。

于 2016-03-30T15:11:14.437 回答