我知道编辑这个网站吗?

2012-09-11 - ImageJ v2.0.0-beta4

今天,ImageJDev 团队发布了 ImageJ2 的第四个测试版,版本 2.0.0-beta4。

ImageJ 2.0.0-beta4 是“beta”质量版本,这意味着代码尚未完成。该设计比以前更加稳定,但在最终的 2.0.0 版本发布之前仍可能发生变化。建议人们继续使用 ImageJ 1.x 进行关键工作。

ImageJ2 development releases页面下载。

ImageJ2 用户界面尽可能模仿 ImageJ v1.x。然而,从本质上来说,ImageJ2 是对 ImageJ 的彻底重新设计。它通过捆绑最新的 v1.x 代码并在“传统”和“现代”图像结构之间进行转换,提供与旧版本 ImageJ 的向后兼容性。

新消息

/media/news/better-duplicate.jpg

The improved Duplicate command

此版本 ImageJ 的开发主要集中在插件架构和各种插件实现上。还进行了大量架构更改,使 ImageJ 更加灵活、强大且向后兼容。为了适应这一点,对插件类层次结构、用户界面类、遗留层、更新程序、启动程序和许多其他区域进行了更改。

应用程序级别更改

  • 添加了“选择视图”、“选择叠加”和“取消选择叠加”命令,以替换 ImageJ 1.x 中的“全选”和“全不选”命令。
  • 捕获屏幕和捕获图像命令已实现。
  • 复制命令可以沿任何轴对图像进行二次采样。
  • 类型更改插件ImageColorChannels Tool遵循当前显示器的颜色模式(灰度、彩色、复合),可通过ImageType命令进行配置。
  • Salt and Pepper 插件现在可以更好地处理 8 位以外的数据。盐值和胡椒值均可指定。
  • EditSelectionMake Inverse语言已得到增强,更加强大。完整功能记录在第 ImageJ2/Documentation/Process/Math/Equation 页面上。
  • 现在支持复合叠加(即现在可以使用:ProcessMathEquation)。

架构变化

  • 我们对插件层次结构进行了许多更改和改进。现在它更加完整和一致。我们重新命名了插件层次结构的几个部分,以改进和澄清代码库。特别是,可运行的插件现在称为命令。 “命令”一词对于 ImageJ 1.x 的用户来说并不陌生,唯一的区别是在 ImageJ 1.x 中,一个“插件”可以实现多个“命令”;然而,在 ImageJ2 中,每个命令都已表示为单独的类,因此已放弃了区别。 -“插件”一词现在是一个更通用的术语,指的是添加到 ImageJ 的任何新功能:代码库中的每个扩展点现在都是 ImageJPlugin 的子类型。这意味着您可能想要添加到 ImageJ 之上的每种类型的功能都是作为特定类型的插件完成的。 ImageJ 插件有多种形式,但所有这些插件都会在运行时以相同的方式自动发现,并通过插件服务进行访问。
  • 多种工具利用 JHotDraw 库进行渲染和用户交互。然而,它们被编码为非插件扩展点。我们已经解决了这个问题,因此添加额外的 JHotDraw 特定功能现在只需编写一个 JHotDrawAdapter 插件即可。现在还有一个 JHotDraw 服务用于管理这些适配器,而不是临时嵌入逻辑。
  • 在以前的版本中,有固定数量的受支持输入小部件,用于收集有关命令输入值的用户输入。我们已经消除了这一限制,因此现在可以为命令的任何输入类型创建小部件插件,超出核心提供的输入类型(数字、字符串和字符、布尔值、文件、颜色和多选对象选择器)。例如,您可以创建一个输入小部件,其中包含用于最小/最大值范围的双头滑块、三元切换框、颜色查找表编辑器或用于打击垃圾邮件提交的验证码挑战。
  • 改进了对多个 UI 的支持。 UI 服务现在拥有更好的 API,用于管理 UI、启动多个 UI 等。并且小部件和显示框架也得到了改进,即使有多个 UI 可用,输入对话框、小部件和显示也将出现在正确的 UI 范例中。
  • 现在有一个直接的 API,用于以类型安全的方式以编程方式调用命令。
  • 上传器机制现在封装得更好,并且可以非常轻松地添加处理 ssh 和 sftp 之外的协议的组件。
  • ImageJ2 公开可重用服务中的功能。本周期添加了新服务,包括 ConsoleService、RenderingService、SamplerService 和 ScreenCaptureService。
  • 添加了对具有 16 位调色板的图像的支持。其中包括 Olympus .oif 和 Leica .lif 格式的显微镜图像,可能具有 16 位灰度或色带调色板。显示时,16 位颜色被截断为每个通道 8 位。
/media/news/multiple-uis.jpg

Multiple simultaneous UIs

启动器和更新程序更改

  • Fiji Updater 已完全移至 ImageJ。 Fiji Updater 现在只是一个小组件,它依赖 ImageJ 的 Updater 来修改当前安装。
  • 针对版本化文件名的处理进行了许多错误修复。更新程序现在了解到 ij.jar 和 ij-1.47b.jar 实际上只是同一组件的两个不同版本。
  • 多个更新站点的许多错误已得到修复。值得注意的是,修复了一个相当严重的错误,该错误阻止将文件从一个更新站点移动到另一个更新站点。
  • 进行了许多内部更改,使持续维护和自动回归测试变得更加容易。
  • 更新程序更新自身的过程现在包括所有相关文件(包括前端,而不仅仅是核心)。

SLIM 插件

SLIM 插件仍然仅适用于 ImageJ 1.x,但现在具有可用的测试版质量。它将迁移到 ImageJ2 以实现最终的 ImageJ 2.0.0 版本。详情请参阅第SLIM Plugin website

开发者教程

我们已经开始为开发人员提供一些编程示例。这些教程可在 GitHub 上的 imagej/tutorials 存储库中找到。

/media/news/16-bit-palette.jpg

A dataset with a 16-bit LUT

兼容性

有许多兼容性改进和错误修复。自 beta3 以来,团队已经完成了 closed over 115 issues 并在更多方面取得了进展。其中一些包括:

  • 改进了对许多命令的支持:3D 项目、清除、清除外部、图像箱、图像属性、图像旋转、选区剪切、选区放大、堆叠合并、堆叠插入和堆叠到图像。
  • 旧兼容层中的数据转换准确性得到提高。
  • 图像显示创建/销毁更接近地反映 ImageJ 1.x 行为。
  • 调用旧插件时改进了颜色支持。
  • 现在有一组兼容性选项(在EditOptionsCompatibility对话框中设置)。某些命令具有 ImageJ 1.x 兼容模式设置。有关此设置的信息可以在 ImageJ2/Documentation/Edit/Options/Compatibility 页面上找到。
  • 现在支持产生复合投资回报率的旧插件。

有关 2.0.0-beta4 版本已完成的功能的高级列表,请参阅this report

已知错误

许多旧版 ImageJ 插件和宏都可以使用;许多其他人则不然。还有很多错误。特别是,有一些关于 2.0.0-beta4 的问题:

  • 工具栏上有一个虚假的灰色多边形工具,位于真实多边形工具[see #1470]旁边。
  • 如果您非常快地执行许多遗留插件,可能会出现与计时问题相关的错误[see #1471]。
  • 由于更新程序中的错误(现已修复),无法从 beta3 安装进行更新。请下载 2.0.0-beta4 分发包。

之前的测试版中仍然存在以下错误:

  • 数据坐标系偏离一个像素,导致像素探针和绘图工具坐标稍微未对齐[see #716#1190]。
  • 图像窗口有时会为不存在的滑块留出空间[see #1060]。
  • 图像窗口并不总是以最佳比例加载[see #1472]。
  • 其他一些小的缩放问题[see #1326]。
  • 具有预览功能的 IJ1 命令功能不完整。总的来说,他们的最终结果是正确的。今后,将通过将预览功能移植到 IJ2 的 GUI 模型 [see #981] 来恢复预览功能。
  • 最后请注意,在 Windows 和 Linux 上仍然需要安装 Java; ImageJ2 不与 Java 捆绑在一起,也不会为您下载。

请参阅 Open Features 的列表,了解计划功能和错误修复的高级列表。

路线图和未来方向

我们付出了巨大的努力来记录我们正在做的工作以及需要做什么,以提供强大且功能齐全的 ImageJ2。所有任务均由我们的 Trac 问题跟踪系统跟踪,您可以通过多种方式查看:

如果您对开发的特定部分感兴趣,您还可以执行自定义查询以进一步细化结果。

谢谢

感谢您对 ImageJ2 的兴趣!请give it a try,并随时report any bugs you find