问题标签 [tomography-reconstruction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
249 浏览

c - 项目:身体扫描仪,ACM 1993

我有一个非常困难的项目,我必须为我的大学做。它是一个身体扫描仪,其概念基于1993 年 ACM 决赛的问题 H,扫描仪。

看这里的图片

请查看图片以了解问题。

所以,就我们而言。我需要您的帮助来制作一种算法,该算法可以获取数据输入的数字并根据这些数字生成一个表格(在我们的例子中为 10x15)。前 10 个数字表示每行 (1) 中非白色单元格的数量。接下来的 24 是从左到右对角线 (2) 中非白色单元格的数量。接下来的 15 个是每列中非白色单元格的数量 (3),最后 24 个是从右到左对角线中的非白色单元格的数量 (4)。我一直在尝试想出一种算法来组合所有这些数据并创建数组,但没有结果。

0 投票
2 回答
1238 浏览

c - 计算机断层扫描:Matlab 到 C/OpenCV 代码转换错误

我正在研究计算机断层扫描问题,其中我必须模拟 CT 设备生成的原始数据或正弦图的生成。

Matlab 有一个内置函数“radon()”来模拟相同的。我已经在 Matlab 中成功编写了一个自定义代码来生成正弦图(即:不使用 radon() )。

我已将此代码转换为 C,使用 OpenCV 库来处理图像的加载/显示/保存。

问题是,虽然我的 matlab 输出按预期生成了正弦图,但我的 C 代码却没有。我只是将 Matlab 代码翻译成 C,但 C 输出的方向不同,中间也有黑条。C 输出中的灰度级类似于由 matlab 代码生成的正弦图灰度级和图案。只有它在 C 中出现分段。(如果你给我你的邮件 ID,我会发送图像,因为我无法在此处附加它们。)

有人可以帮我解决为什么会这样吗?我已经对我的代码进行了同行评审,并检查了类型转换错误、内存分配等。但它们似乎都是正确的。

matlab 处理数据的方式与 C 不同吗?倾斜的解释是什么?

请帮帮我。如果您需要有关问题陈述的更多说明或需要查看算法,请告诉我。

谢谢!

0 投票
2 回答
1052 浏览

matlab - 断层扫描 3D 重建

我必须为学校做一个项目,我不知道从哪里开始。我需要根据您在进行断层扫描后获得的图像进行 3D 重建。此外,在重建图像后,我需要提供一个工具,以便用户可以根据需要对器官进行切片,这样他就可以看到他制作的部分。

任何帮助都会非常感激。谢谢。

0 投票
1 回答
849 浏览

matlab - 在matlab中估计泊松噪声

我有一张带有泊松噪声的图像,我需要估计这张图像中的噪声水平(平均值和方差)

有谁知道这样做的已知算法,

就个人而言,我还没有找到。

如果您回答我,我将不胜感激。

0 投票
0 回答
94 浏览

image - 3D 图像中的简单形状识别

我有几千个粒子(每个粒子的长度尺度为 20-30 体素)的 3D X 射线断层扫描图像,它们的形状都相同(球体、立方体、多洛斯等),但随机分散(触摸彼此)和随机方向。我阅读了各种库的 2D 模板匹配,但在 3D 中找不到任何好的东西,我什至不确定模板匹配是否是可行的方法。在球体的情况下,我通过对二值化图像的连续侵蚀来定位每个粒子,但对于更复杂的形状,这并不能很好地工作。有任何想法吗?我更愿意坚持使用 python,但我可以使用/学习任何需要的东西。谢谢!

0 投票
4 回答
3021 浏览

matlab - CT投影(距离驱动)算子实现?

我正在尝试使用 MATLAB 来实现 CT(计算机断层扫描)投影算子 A,我认为它也经常被称为“系统矩阵”。

基本上,对于 N x N 图像 M,投影数据 P 可以通过将投影算子与图像相乘来获得:

P = 上午

并且可以通过将投影算子的(共轭)转置乘以投影数据来执行反投影过程:

M = A'P

任何人都对如何实现矩阵 A 有任何想法/示例/示例代码(例如:Radon 变换)?如果可能的话,我真的很想从一个小尺寸的矩阵开始,比如 8 x 8 或 16 x 16。

我的问题真的是:如何实现投影算子,这样通过将算子乘以图像,我可以得到投影,并且通过将算子的(共轭)转置与投影相乘,我可以得到原始图像.

编辑:

特别是,我想实现距离驱动的投影仪,在这种情况下光束轨迹(平行、扇形等)无关紧要。非常简单的示例(首选 MATLAB)对我来说是最好的开始。

0 投票
1 回答
4601 浏览

math - 在给定行和列总和的情况下查找二进制矩阵是否存在

如何找出是否可以构造具有给定行和列和的二进制矩阵。

输入 :

输入的第一行包含两个数字 1≤m,n≤1000,即矩阵的行数和列数。下一行包含 m 个数字 0≤ri≤n – 矩阵中每一行的总和。第三行包含 n 个数字 0≤cj≤m – 矩阵中每一列的总和。

输出:

如果存在 m×n 矩阵 A,则输出“YES”,每个元素为 0 或 1。否则为“NO”。

我尝试阅读有关断层扫描算法的内容,但无法找到答案,因为与断层扫描算法相关的所有论文都非常复杂。

有人可以帮帮我吗..

0 投票
2 回答
164 浏览

matlab - 并行化matlab算法

我正在使用 SART 方法研究断层扫描算法。我正在使用 2D 投影来获得 3D 体积。

我的主要问题是计算时间真的很长..

例如,对于大小为 88*75 像素的投影,我的程序需要 5 天才能完成。

通过使用 matlab 分析器,我们可以看到与氡矩阵(很重)相乘的行花费了很多时间。

这就是为什么我想并行化我的算法但我并不真正熟悉它。

这是我要并行化的算法的一部分:

0 投票
1 回答
902 浏览

matlab - 如何获得直线矩形相交段?

我想找到代数重建方法的权重矩阵。为此,我必须找到与网格的线交点。我可以找到直线与直线的直接交点,但我必须明智地存储相交的线段网格数。所以假设如果在网格中第一个正方形不与网格相交,那么在权重矩阵的第一个元素上放置零。

这是我为线交点尝试的代码:

我有一条线,由参数定义m, hy = m*x + h这条线穿过网格(即像素)。

对于网格的每个正方形(a, b)(即 square [a, a+1]x[b, b+1]),我想确定给定的线是否穿过这个正方形,如果是,那么正方形中线段的长度是多少,以便我可以构造权重矩阵代数重建方法必不可少。

0 投票
2 回答
1265 浏览

matlab - 来自正弦图的直接 2D FFT。Matlab中的极坐标到笛卡尔网格插值

在断层成像理论中,正弦图被记录下来,它是样品不同角度的一系列投影。对该投影进行 FFT 会在频率空间中给出样本的极坐标切片。

该命令[X,Y] = pol2cart(THETA,RHO)不会自动执行此操作。那么,如何在 Matlab 中以二维数值方式实现极坐标到笛卡尔网格插值?