问题标签 [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.
image-processing - 带有 CT 和 MR 标签的 DICOM 文件
已从 CT 和 MR 图像生成 DICOM 文件(人工轴向切片)。聚合文件是否可以同时包含 CT 和 MR DICOM 标签?例如Echo Time (0x18, 0x81)
和KVP (0x18,0x60)
?
我找不到任何信息是否一个图像模态模块与另一个模态模块互斥,并且想知道这样的人造图像是否会与其他供应商的软件发生故障。任何帮助将不胜感激。
matlab - 为什么iradon返回负像素值?
我使用 LabVIEW 软件以 1.8 度的步距角进行了 200 个投影。图像大小为 2748 x 2748 像素,uint16。然后使用 Matlab,我加载投影图像,进行平场校正,将图像大小调整 1/3 并将图像保存为 .mat 文件。然后我为过滤后的反投影运行下面的代码。
如果我在这段代码中使用过滤器,我会得到负像素值。
但是,如果我在没有过滤器的情况下运行代码,我会得到正像素值。
知道为什么 iradon 在过滤后的反投影中返回负像素值吗?
谢谢你。
努鲁尔
javascript - 氡反投影的一般公式是什么?
尝试在 javascript/HTML5 画布中实现计算机断层扫描反投影的模拟。试图找出正确的方法来消除反向预测,我一直在研究这个演示文稿。
在上述演示文稿的第 9-13 页上,显示了反投影的逐步示例。此示例涉及一个 2x2 矩阵(具有 4 个投影和总共 10 个线积分)并计算每个投影的线积分,其中每个相应线积分的值分别添加到每个矩阵单元。
随后从每个矩阵单元的值中减去线积分的总数。最后,每个矩阵单元中的结果值除以投影数减一。
这种方法是否通常适用于更大的矩阵,比如具有更大单元格值的 100x100 矩阵,比如大约 100?
javascript - 递归算法未能在分配的时间内完成测试
我正在做一个需要二进制断层扫描算法的测试。提供了一组 38 个测试值来测试正确性,但完成所有测试也有 1 个 CPU 秒的时间限制。问题如下:
如果存在 m×n 矩阵 A,则输出“Yes”,每个元素为 0 或 1,使得
否则输出“否”。
对于每个测试,提供 2 个数组:
- r(矩阵中每一行的总和)
- c(矩阵中每一列的总和)
在等式中:
- m是r数组的长度,其中1 <= m
- n是c数组的长度,其中n <= 1000
- ri是r的一个元素,其中0 <= ri <= n
- cj是c的一个元素,其中0 <= cj <= m
一个“是”的例子
米 = 3; n = 4; r = [2, 3, 2]; c = [1, 1, 3, 2];
一个“不”的例子
米 = 3; n = 3; r = [0, 0, 3]; c = [0, 0, 3];
我有一个似乎可以给出正确答案的解决方案,但是在超过 1 秒的 CPU 时间之前它只管理 12 / 38 次测试。
我最初在 ES5 中编写代码,然后返回并转换为 ES3 以尝试从中获得更多性能。(最初作为 ES5 管理 9 个测试)。我可以对当前算法做很多事情来提高性能(除非我弄错了)。这使我相信我的算法有问题,并且必须有更快的算法来执行此操作。我读了很多书试图找到一个,结果头疼:)
所以我转向社区,看看是否有人可以提出比我目前使用的更快的算法。
值得注意的是,测试是在 SpiderMonkey 版本 JavaScript-C24.2.0 上运行的
参考:
matlab - 在MATLAB中实现动态Radon变换的Landweber迭代
我正在研究动态逆问题和氡变换。术语“动态”是指对象(最终我将通过测量来重建其图像)随着时间的推移而变形。你可以想象人体内的心脏或肺。因此,需要修改通常的图像重建工具(如过滤后的反投影)来处理变形。就我而言,变形由 中的平滑函数给出R^2
,
φ^t(x,y)=(φ(t,x),φ(t,y))=(x*(1+c*x), y*(1+d*y))
其中它表示哪个粒子在(x,y)
时间 instance的位置t
。这里的系数c
和d
由下式给出
现在考虑以下动态逆算子(广义 Radon 变换):
这\iint_{R^2}
是双重积分R^2
,\delta
是通常的delta函数。使用变量的变化,上面的运算符可以写成
其中反函数φ^{-1}
由下式给出
φ^{-1}(t,x) = (\sqrt{1+4c*x}-1)/(2c), φ^{-1}(t,y)= (\sqrt{1+4d*y}-1)/(2d)
和雅可比
J(t,x,y)=1/(\sqrt{(1+4c*x)(1+4d*y)).
这t
是一个决定时间和光线方向(角度)的参数。现在该函数f(φ^t (x,y))
显示时间实例的真实对象(我们称之为 Shepp-Logan SL 的原始图像)的状态t
。例如当t=0
,那么函数φ^t
就是恒等式,所以我们得到f(x,y)
哪个是原始图像 SL。
我想用 Landweber 迭代进行图像重建,因为与其他方法相比,运行它似乎并不昂贵。Landweber 迭代采用以下形式
哪里\gamma
是步长参数让我们说10^{-3}
。在这里A^T
,我的意思是算子的伴随,A
称为反投影。因此对于一个函数h
,A^Th
将采用以下形式
因此,如果我们在上面的伴随方程中替换h
为g-Af^k
并代入 Landweber 迭代,我们得到
这是我的目标。假设我们将原始对象 SL 从 变形t=0
为t=5
。然后我们取变形 SL 的氡气,在 处t=5
给出测量值t=5
。我和我的朋友编写了一个 MATLAB 代码,我们可以在其中成功地对原始对象 SL 进行变形,然后进行 Radon 变换(正向问题)。t=0
现在我的目标是通过执行 Landweber 迭代公式(如上所示)从变形 SL 处的测量中重建原始对象 SL处t=5
。我们也为这部分编写了代码,但我们无法重建原始 SL。以下是代码:
最初的 Object Shepp Logan SL
前向变形:
逆变形:
跑:
我想知道这里是否有人熟悉这个主题并且可以提供任何帮助。
如果不清楚,请发表评论,我将回答您的问题。先感谢您。