自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南!
目的
迭代去模糊是一个用于迭代去模糊的 ImageJ 插件。该插件利用多核处理器。
文档
该插件代码基于 James G. Nagy 和他的几位学生(包括 Julianne Chung、Katrina Palmer、Lisa Perrone 和 Ryan Wright)的 MATLAB 工具箱:RestoreTools,以及 Robert Dougherty 的Iterative Deconvolve 3D。
它实现了以下4种迭代方法:
- MRNSD - 修正残差范数最快下降
- WPL - 维纳滤波器预调节 Landweber
- CGLS - 最小二乘法的共梯度梯度
- HyBR - 混合双对角化正则化
有关详细信息和插图,请参阅website。
简介
什么是反驳?
在天文学、医学、物理学和生物学等中,科学家使用数字图像来记录和分析实验结果。环境影响和成像系统的缺陷可能会导致记录的因图像模糊图像噪声和质量回归。反图像去模糊(有时称为图像去模糊)是从视觉图像重建或估计真实图像的过程。图像去模糊算法可以分为两类:成像方法和重构方法。其他分类算法将分割不需要任何模糊信息(也称为盲反修正)的方法和需要该信息的方法。有关模糊的信息通常以点扩散函数应用(PSF) 的形式给出。PSF 是描述理论系统对点物体的响应的图像。可以根据理论系统的光学特性得到PSF。这种方法的主要优点是获得的PSF 是无噪声的。另外,实验技术依赖于拍摄点物体的照片,例如遥远的形象。在这项工作中,我们假设PSF 已知并以图像的形式给出。
###什么是迭代反驳?
通过迭代反视觉方法,构造了一系列近似值,希望后续的近似值能够提供更好的重建。从数学上讲,这间接解决涉及PSF和模糊图像的特定优化问题,该问题可以为简单的问题(例如最小二乘问题),也可以为包含(可能是非线性)约束的更复杂的问题。与信号拮抗方法一样,必须使用例如先约束或通过适当的收敛标准或什至这些技术的组合来合并正则化。迭代图像重建算法的即时的实例期望(EM)类型的方法(例如理查森-露西算法)、共阿富汗梯度(CG)类型的方法包括及许多方法。使用迭代算法的一个重要优点是它们可以用于更广泛的模糊模型,包括空间变异模糊。虽然对于简单的空间固定模糊来说,迭代方法通常比光谱迭代方法更加昂贵,对于困难的空间变异模糊来说,迭代方法要高效。另外,可以在算法中加入约束(例如,非负性)。迭代算法的挑战涉及正化(如何在噪声的情况下迭代方法)以及确定适当的停止迭代。
麻省迭代解本质是一个用于迭代图像去模糊的 ImageJ 插件。该代码源自 James G. Nagy 和他的几位学生(包括 Julianne Chung、Katrina Palmer、Lisa Perrone 和 Ryan Wright)编写的 RestoreTools:面向对象的 §§6§§§ 恢复图像包,以及 Robert Dougherty编写的Iterative Deconvolve 3D。当前版本实现了迭代迭代算法:修改残差范数最速下降(MRNSD)、维纳滤波器预条件兰德韦伯(WPL)、最小二乘共梯梯度(CGLS)和混合双对角化正则化(HyBR)。尽管该插件可以处理任意大小的2维和3维图像,但其用途仅限于灰度。图像要对彩色图像进行反梯度,您分割通道并分别对每个通道进行去模糊。
如何使用

GUI 中有八个可用的下拉列表(组合框)。从模糊图像列表中,您可以选择模糊图像。 PSF列表用于选择点扩散函数图像。这两个列表的内容取决于 ImageJ 中当前打开的内容 - 如果没有显示图像窗口,则两个列表均为空。接下来的两个列表(方法和预处理器)允许您选择用于反卷积的算法(MRNSD、WPL、CGLS、HyBR)和预处理器。预处理器用于加速收敛(以便在更少的迭代后获得更好的重建)。目前只有基于快速傅里叶变换的预处理器可用(WPL 使用维纳滤波器作为预处理器)。默认情况下自动计算预处理器的容差(自动复选框),但也可以手动指定值。在“边界”组合框中,您可以从三种类型的边界条件中进行选择:自反、周期性和零。第一个通常是最好的选择。调整大小组合框允许您指定在处理之前如何填充模糊图像。最小调整大小是指将模糊图像各维度的像素数据填充PSF图像对应维度的大小。如果选择“下一个二次幂”选项,则模糊图像的每个维度中的像素数据将被填充到大于或等于通过最小填充获得的图像大小的下一个二次幂大小。最后,“自动”选项在其他两个选项之间进行选择,以最大限度地提高性能。输出列表用于指定输出的类型(重建图像),在精度组合框中,您可以选择计算中使用的浮点精度。实践表明,单一精度足以解决大多数问题。 GUI 中还有一些其他重要选项需要解释。最大迭代次数文本字段用于指定给定方法应执行的迭代次数。它是一个峰值,这意味着重建过程可以提前停止(当满足停止标准时)。当选择“显示迭代”时,每次迭代后将显示重建图像。在最大线程数(2 的幂)文本字段中,您可以输入将使用的线程数。默认情况下,该值等于计算机上可用的 CPU 数量。
“选项”按钮(“方法”组合框旁边)用于显示一个对话框窗口,其中包含无数算法的高级首选项。所有这些选项将在以下小节中描述。
MRNSD 选项

MRNSD 仅具有三个高级属性。停止容差文本字段允许您手动指定将用作停止标准的值。默认情况下,该值是自动计算的。启用阈值选项后,重建图像中小于阈值文本字段中指定值的所有值都将替换为零。但是,由于 MRNSD 是非负约束算法,因此该选项不是很有用,默认情况下处于禁用状态。最后,选择Log收敛效果,在单独的Log窗口中显示收敛记录。
WPL 选项

WPL 与 MRNSD 类似,是一种非负约束算法,因此默认情况下也会禁用“阈值”选项。此外,用于跟踪收敛的对数平均像素值具有与 MRNSD 相同的功能 - 收敛记录显示在单独的对数窗口中。如果选择“归一化 PSF”,则在处理之前对点扩散函数进行归一化。为了减少成像体积边界附近特征的伪影,您应该使用“执行抗振铃步骤”选项。如果变化似乎在增加,则“检测散度”属性会停止迭代。如果出现此问题,您可以尝试增加低通滤波器的大小。对于 WPL,允许以分贝为单位的输入(以 dB 为单位的数据(图像、psf 和结果))。这在光学图像处理中并不常见,但在声学中却很常见。维纳滤波器伽玛是预处理器的容差。它的目的是加速收敛,但会产生虚假的伪影。将此参数设置为零会关闭预调节器(维纳滤波器)。低通滤波器 x 和 y 设置(以像素为单位)提供了一种平滑结果并加速收敛的方法。选择 0 禁用此功能。最后,如果平均增量小于 x%,则终止迭代用作停止标准。
CGLS 选项

CGLS 选项面板看起来与 MRNSD 选项面板完全相同。唯一的区别是阈值选项默认启用,因为它不是非负约束方法。
混合BR选项

要了解有关 HyBR 高级特性的所有详细信息,您应该首先阅读 this 论文。在 HyBR 选项面板中,与正则化相关的属性分组在名为正则化选项的框中。方法组合框允许您决定如何计算正则化参数。如果选择“无”,则必须在“参数”文本字段中输入参数值。当选择 WGCV(加权广义交叉验证)时,您必须手动指定权重 (Omega)。在“此迭代后开始正则化”文本字段中,您可以决定在哪个迭代之后开始正则化。在此迭代之前,使用 QR 分解来解决最小二乘问题。 除了正则化属性之外,您还可以调整其他五个选项。在内部工作器组合框中,您可以选择每次迭代时使用的活动器。目前可以是 Tikhonov 或 None。如果选择 None 作为内部工作器,则使用 QR 布局来显示最小二乘问题。在“停止公差”文本字段中,您可以输入一个值,该值将用于检测 GCV 圆弧的横截度作为停止标准。如果选择 Reorthogonalize Lanczos子空间,则在Lanczos双对角化过程中,子空间将被重新重新正交。通常这不是必需的,因此默认情况下不使用此选项。应选中阈值公共卫生,因为HyBR不计算非负解。对数收敛具有与所有其他方法相同的功能。
空间变异 PSF


GUI 中存在上面未描述的三个元素,即:空间变异 PSF 复选框、定义和编辑按钮。这些控件允许您处理空间变化的 PSF(即,如果您有与单个模糊图像关联的多个 PSF 图像)。图:在 Create Spatially Variant PSF 面板中,您可以以 2D(或 3D)矩阵的形式指定 PSF 的数量。然后,单击“确定”按钮后,将出现“编辑空间变体 PSF”面板。该对话框包含一系列按钮,可用于输入 PSF 文件的路径。 ###如何获得理论PSF?
有几个 ImageJ 插件可用于生成理论点扩散函数:
- PSF Tool for ImageJ 来自 ETH 计算生物物理实验室
- Diffraction PSF 3D 作者: 罗伯特·道尔蒂
- Deconvolution3D,作者:皮埃尔·贝松。
要使用这些工具,您需要了解细胞设置和样品的一些参数,例如固封剂的 NA、RI、波长等。
2D 空间不变示例
打开要解清晰的图像和PSF图像后,开始Image › Adjust › Color Balance…

单击 Deconvolve 按钮会产生以下结果:

2D 空间变异示例
打开图像进行反面然后,开始Plugins › Deconvolution › 3D Iterative Deconvolution…,选择空间变异 PSF ,单击定义按钮

输入 5 x 5 并单击“创建空间变体 PSF”面板中的“确定”按钮,然后在“编辑空间变体 PSF”面板中,您必须定义所有 25 个 PSF

在“最大迭代次数”文本字段中输入 40,然后单击“反卷积”按钮。您必须调整两个图像的色彩平衡(Plugins › Deconvolution › 2D Iterative Deconvolution…>斐济菜单中的自动)。

3D 空间不变示例
打开要解清晰的图像和PSF图像后,开始Plugins › Deconvolution › 2D Iterative Deconvolution…

选择 WPL 方法,单击选项按钮并设置所有属性,如下所示

在“最大迭代次数”文本字段中输入 20,然后单击“反卷积”按钮

另请参阅
- Parallel Spectral Deconvolution由同一作者提供,用于另一组方法。
版本历史
- 1.0:2008年1月30日
- Initial release.
- 1.1:2008 年 2 月 5 日
- Fixed bug in PSFMatrix_2D causing IndexOutOfBoundException.
- Added Benchmark_2D.
- 1.2:2008 年 2 月 15 日
- Added single precision.
- Added 3D algorithms.
- Added exceptions handling.
- 1.2.1:2008 年 2 月 16 日
- Fixed bug causing IllegalArgumentException in vectorize().
- 1.2.2:2008 年 2 月 19 日
- Fixed bug causing IllegalArgumentException in getFft3().
- 1.3:2008 年 2 月 24 日
- The overlap-save algorithm for invariant multiplication was replaced by the non-blocking version in PSFMatrix_2D and PSFMatrix_3D.
- Fixed bug in MRNSD (division by zero).
- 1.4:2008 年 3 月 4 日
- Added threshold option.
- Added options panel for MRNSD and CGLS.
- Changed the title of a deblurred image.
- Memory optimization in HyBR.
- 1.5:2008 年 3 月 10 日
- Fixed bug causing improper refreshing of combo boxes holding the list of open images.
- From now on Deconvolve and Cancel buttons are disabled while deconvolution is in progress.
- From now on the main GUI window cannot be closed by using the button from the title bar.
- 1.6:2008 年 4 月 18 日
- The plugin is updated to use Parallel Colt 0.4.
- 1.7:2008 年 8 月 26 日
- New method: Nonnegatively Constrained Gauss-Seidel.
- Added support for macros.
- Optimization in MRNSD.
- Added javadoc distribution.
- Bzip2 is used to compress tar archives.
- The plugin is updated to use Parallel Colt 0.5.
- 1.8:2008 年 11 月 21 日
- Added resizing option (no need to pad the image to the next power-of-two size).
- Added output option (a deblurred image is automatically converted to the chosen type).
- NNGS has been renamed to WPL - Wiener Filter Preconditioned Landweber.
- The plugin is updated to use Parallel Colt 0.6.
- 1.9:2009 年 4 月 11 日
- Added IterativeDeconvolver interface and abstract classes for 2D and 3D iterative algorithms.
- Non-preconditioned and preconditioned algorithms have been merged.
- Fixed bug causing NullPointerExceptinon when a blurred image or a PSF was renamed.
- Refactoring and cosmetic changes.
- The plugin is updated to use Parallel Colt 0.7.2.