从筛查乳腺 X 光检查数字数据库 (DDSM) 获取数据

2024-05-13

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

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

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

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

Cheng


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

我已经想出了一种将DDSM图像转换为原始图像的方法,但是这是一条漫长的路,我也没有更好的方法。

  • 读取DDSM数据集图像的步骤:

    1. 将存储库克隆到https://github.com/multinormal/ddsm https://github.com/multinormal/ddsm,其中包含两个可执行文件[jpeg.exe and ddsmraw2pnm.exe ].

2-下载并安装cygwin http://cygwin.com/setup.exe.

3-下载和设置Matlab pnmreader代码 http://www.mathworks.com/matlabcentral/fileexchange/4176-pnm-toolbox-3-01?download=true.

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

  • jpeg.exe
  • ddsmraw2pnm.exe
  • 转换DDSMImageToRaw.m [实施稍后再回答 ]
  • cygwin1.dll [从“C:\cygwin”或安装了 cygwin 的其他位置 ]

5- the 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 文件:

如果数字化仪是“howtek”,请将其用作“howtek-mgh”,这就是我的想法。

7- 现在使用我们实现的函数转换图像,如下所示:

filename  = 'A_1709_1.LEFT_CC.LJPEG';
digitizer = 'howtek-mgh';       
imageSize = [ 5341  2806 ];
ConvertDDSMImageToRaw(filename, imageSize(1) , imageSize(2), digitizer);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从筛查乳腺 X 光检查数字数据库 (DDSM) 获取数据 的相关文章

  • 使用 GPU 进行 Matlab 卷积

    我用gpuArray尝试了matlab的卷积函数conv2 convn 例如 convn gpuArray rand 100 100 10 single gpuArray rand 5 single 并将其与 cpu 版本 convn ra
  • 如何让MCR启动时间快

    我将 matlab 程序转换为 net 程序集 即 dll 文件 我制作了一个控制台 C 应用程序 添加了 dll 文件并从 php 调用它 每次调用 exe 时都会调用 MCR 如何使 MCR 在服务器启动时初始化 并且即使在一段时间后调
  • 计算数组中接下来的 n 个元素的乘积

    我想计算下一个的乘积n矩阵的相邻元素 号码n要相乘的元素数应在函数的输入中给出 例如 对于此输入 我应该从第一个开始计算每 3 个连续元素的乘积 p ind max product 1 2 2 1 3 1 3 这给出了 1 2 2 2 2
  • MATLAB 中时间戳过滤器的优化 - 处理非常大的数据集

    我正在 MATLAB 中编写一个程序 必须使用 MATLAB 并且不能真正使用 MEX 来过滤大量数据 我需要实现的过滤器之一要求我将时间戳向量与其他时间戳不会出现的已知 不良 时间列表进行比较 一个典型的时间戳向量有大约 2 000 00
  • 将自动生成的 Matlab 文档导出为 html

    我想为我开发的 Matlab 工具箱生成完整的帮助 我已经看到如何显示自定义文档 http www mathworks fr fr help matlab matlab prog display custom documentation h
  • MATLAB 中最有效的矩阵求逆

    在 MATLAB 中计算某个方阵 A 的逆矩阵时 使用 Ai inv A should be the same as Ai A 1 MATLAB 通常会通知我这不是最有效的求逆方法 那么什么是更有效率的呢 如果我有一个方程系统 可能会使用
  • 在另一列中添加具有特定条件的一列,如 excel 的 sumif

    我有一个像这样的矩阵 A 1 2 2 3 3 4 4 5 5 6 6 8 7 9 8 5 9 4 现在我想添加第二列 条件是如果 limit 0 interval 3 且 limit limit interval 或者换句话说 当第 1 列
  • Python 函数句柄 ala Matlab

    在 MATLAB 中可以创建function handles http www mathworks co uk help techdoc ref function handle html与类似的东西 myfun arglist body 这
  • 使用mat2cell将MxN的矩阵划分为1xN大小的M矩阵

    我有一个大小为 MxN 的矩阵 比方说 1867x3 1867 行和 3 列 我想将其分成 1867 个大小为 1x3 的单元格 我使用了mat2cell X 1 1866 这里X是矩阵 1867x3 结果给出了两个单元格 一个单元格的大小
  • 句柄类和值类的区别

    我有一些 C 背景 想使用 Matlab 中的类 句柄和值类有什么区别 我知道如果我想定义一个带有重载运算符 例如 和 的矩阵类 我会使用值类 然而 有时 当我选择一个手柄类时 事情似乎只对我有用 MathWorks 提供了一些有关其用途的
  • 如何在没有安装Visual Studio的另一台机器上使用Visual Studio生成的dll?

    我已经在 Visual Studio 2012 中生成了动态库 我想在另一台机器上使用该库 但我不想在远程机器上安装 Visual Studio 我有 mex 库和 dll 我想运行一个使用这两个库的脚本 当我运行脚本时 出现以下错误 缺少
  • MATLAB:具有复数的 printmat

    我想使用 MATLAB 的printmat显示带有标签的矩阵 但这不适用于复数 N 5 x rand N 1 y rand N 1 z x 1i y printmat x y z fftdemo N 1 2 3 4 5 x y x iy O
  • 我需要转义该 MATLAB 字符串中的字符吗?

    我想在 MATLAB 中调用以下 bash 命令 grep Up to test linux vision1 1 log awk print 7 I use system 在MATLAB中 但结果有错误 gt gt status strin
  • 如何找到平面和 3d 矩阵之间的交平面

    如果我有一堆图像并且尺寸如下 size M 256 256 124 我有 3 个点 它们的坐标是 coor a 100 100 124 coor b 256 156 0 coor c 156 256 0 如何创建 M 与这 3 个点定义的平
  • 如何在放置颜色条后保持子图大小不变

    假设我们有一个 1 2 子图 我们在其中绘制了一些图形 如下所示 subplot 1 2 1 surf peaks 20 subplot 1 2 2 surf peaks 20 然后我们要添加一个颜色条 colorbar 我不希望结果中的正
  • 如何在 matlab 中创建由多个 3d 图像数据数组组成的数组

    我正在阅读 15 张图片imagedata imread imagename jpg 它的大小总是320 by 320 by 3 如何将数据放入数组中 使用 for for 循环 以便在访问新数组的第一个元素时获得输入的第一个图像的 RGB
  • 如何在 MATLAB 中绘制 3D 曲面图?

    我有一个像这样的数据集 0 1 0 2 0 3 0 4 1 10 11 12 13 2 11 12 13 14 3 12 13 14 15 4 13 14 15 16 我想在 matlab 中绘制 3D 曲面图 使列标题位于 y 轴 行标题
  • 在matlab中绘制给定区域内(两个圆之间)的向量场

    我想在 Matlab 中绘制下面的向量场 u cos x x 0 y y 0 v sin x x 0 y y 0 我可以在网格中轻松完成 例如 x 和 y 方向从 2 到 2 x 0 2 y 0 1 x y meshgrid 2 0 2 2
  • 如何将复杂的 csv 文件导入到 Matlab 中的数值向量

    我想知道我们应该如何读取由字符串 双精度数和字符等组成的复杂 csv 文件 例如 您能否提供一个可以在此 csv 文件中提取数值的成功命令 Click here http www ecb europa eu stats money yc d
  • matlab中求和函数句柄

    Hi我试图对两个函数句柄求和 但它不起作用 例如 y1 x x x y2 x x x 3 x y3 y1 y2 我收到的错误是 对于 function handle 类型的输入参数 未定义函数或方法 plus 这只是一个小例子 实际上我实际

随机推荐

  • Scala:如何将可变参数指定为类型?

    代替 def foo configuration String String 我希望能够写 type Configuration String String def foo configuration Configuration 主要用例是
  • Docker 中的 NGINX 缓存 IP 地址并提供错误的 Content-Type

    Summary 我想让NGINX 不是NGINX Plus 通过使用变量从DNS名称重新解析IP地址proxy pass 如建议的这篇 Nginx 官方文章 在变量中设置域名 部分 https www nginx com blog dns
  • Laravel 资源策略始终为 false

    我试图允许用户在 Laravel 5 4 中查看自己的个人资料 用户策略 php public function view User authUser user return true 在 AuthServiceProvider php 中
  • 如何使用 PKAddPassButton 创建“添加到苹果钱包”按钮以进行本地化通行证

    在我的 iOS 项目中 我有一个屏幕 允许用户创建苹果通行证并将其添加到钱包中 Apple 建议使用 PKAddPassButton 创建 添加到苹果钱包 按钮 当我尝试使用以下代码创建苹果通行证时 let passButton PKAdd
  • 有没有一个工具可以自动追踪未使用的代码

    我目前有 6 个不同的 Flex 应用程序 小部件 在主页上运行 它们都依赖于一个公共库项目 我目前正在非常大幅度地清理代码库 并且很难以这种方式保持概览 特别是因为我继承了代码库 有谁知道有一个工具可以自动通知我任何死代码 Cheers
  • ElementTree 和 Element 有什么区别? (Python XML)

    from xml etree ElementTree import ElementTree Element SubElement dump elem Element 1 sub SubElement elem 2 tree ElementT
  • 读取并绘制从大文件中读取的数据

    我们有相当大的文件 大约为 1 1 5 GB 主要是日志文件 其中包含易于解析为 csv 的原始数据 随后应该将其绘制成图表以生成一组图形图像 目前 我们正在使用 bash 脚本将原始数据转换为 csv 文件 其中仅包含需要绘制图表的数字
  • Mockito:doAnswer 与 thenReturn

    我正在使用 Mockito 进行服务后期单元测试 我很困惑何时使用doAnswer vs thenReturn 谁能帮我详细一点吗 到目前为止 我已经尝试过thenReturn 你应该使用thenReturn or doReturn当您在模
  • 尝试使用适用于 Windows XP 的 Heroku 时未找到 msvcrt-ruby18.dll

    我有一个学生在 Windows XP 上进行开发 他在尝试运行时遇到了一个奇怪的错误heroku keys add 错误是 This application has failed to start because msvcrt ruby18
  • 当我在 Google Play 控制台上发布我的应用程序包时出现错误

    几天前 我在 Google Play Console 上发布了一个应用程序包 发现有关位置权限的错误 因此我填写了一份表格来解释为什么我们不在我的应用程序上使用该位置 但今天早上 他们给我发了一封电子邮件 说我的申请被拒绝了 邮件内容如下
  • 如何在我的 AWS EC2 实例上安装特定字体?

    我有一个在 AWS EC2 Amazon Linux Elastic Beanstalk 实例上运行的 Python 应用程序 该实例需要某些特定字体才能生成输出 并且想知道如何在部署或实例启动过程中安装它们 我的代码在本地计算机 OS X
  • 如何从 jQuery DataTable 中的所有页面中选择所有复选框

    我有 HTML 页面 其中有多个复选框 可以单独检查它们 我有 全选 当我单击此按钮时 所有复选框都应被选中 而当我再次单击同一按钮时 所有复选框都应被取消选中从所有页面 在我原来的程序中 有数千条记录 但一次显示 10 条记录 但是当用户
  • 如何在 Ruby 中将“Access-Control-Allow-Origin”标头添加到 API 响应

    我正在面试前端开发人员的工作 并接受了构建简单前端界面的编码测试 我已经得到了服务器 它是用 Ruby 2 1 3 编写的 有 3 个端点 我将在前端客户端中使用它们 我对 Ruby 没有任何经验 但我按照他们的说明设置服务器 它似乎有效
  • 理解 Python lambda

    我正在尝试理解一个使用龙格 库塔方法数值求解微分方程的Python程序 我已经开发了自己的解决方案 但正在寻找其他实现 我发现了几个 但这一个引起了我的兴趣 因为我很难理解 lambda 的工作原理 这是代码 def RK4 f retur
  • 具有两个通用参数的上下文边界

    在 Scala 中 我可以使用上下文边界 def sort T Ordered t Seq T 与以下意思相同 def sort T t Seq T implicit def Ordered T 如果我有一个带有两个泛型参数的类怎么办 IE
  • 具有服务器端加密 s3 存储桶的 AWS Cloudfront

    这是对这个问题 https stackoverflow com questions 50166557 how can a cloudfront distribution an aws kms key to get an s3 image e
  • 将命名参数传递给 Javascript 函数[重复]

    这个问题在这里已经有答案了 使用类似的方法调用 Javascript 函数 someFunction 1 true foo 不熟悉功能的话不是很清楚 我已经看到并使用了插入注释来命名参数的样式 someFunction itemsToAdd
  • JavaScript 中的单例模式

    下面是 JavaScript Singleton 模式的一个非常流行的实现示例 var mySingleton function var instance function init function privateMethod conso
  • 不同功能的容器?

    我正在尝试为不同的函数实现一个容器类 我可以在其中保存函数指针并稍后用它来调用这些函数 我会尝试更准确地描述我的问题 例如 我有两个不同的测试函数 int func1 int a int b printf func1 works i i n
  • 从筛查乳腺 X 光检查数字数据库 (DDSM) 获取数据

    我正在尝试以可读格式获取 DDSM 数据集 有谁有 DDSM heathusf 程序的工作版本 可以在 Linux 或 Windows 上正常运行吗 我知道 DDSM 的 jpeg 程序有一个适用于 linux 的工作版本 位于http w