我知道编辑这个网站吗?
the original version of ImageJ本页介绍与 the original version of ImageJ 相关的内容。点击徽标查看详情。

ImageJ.JS

ImageJ.JS 是 ImageJ 的 Web 版本,我们使用名为 CheerpJ 的 Java 编译器将 ImageJ(版本 1)从 Java 编译为 Javascript。除了修改插件以使其在浏览器中更好地工作之外,重要的是,我们将其与ImJoy生态系统集成。该项目目前正在由欧阳伟领导的ImJoy Team中积极开发。

包含最新文档的完整详细信息可在ImageJ.JS github repo中获取,我们重点介绍以下一些功能。

开始使用

您可以在所有主流浏览器上运行ImageJ,无需安装,无需Java运行环境。它也适用于移动设备。

要查看其工作原理,请单击下面的“运行”按钮:

print("You just started ImageJ.JS!")

要在 wiki 之外使用 ImageJ.JS,您可以单击此链接:https://ij.imjoy.io。 另请点击下面的“运行”按钮查看我们的幻灯片介绍:

api.createWindow({ src: 'https://slides.imjoy.io/?slides=https://gist.githubusercontent.com/oeway/3968df06b663088eca66f9bd8df94e81/raw/ImageJ.JS-slides-for-OME-Meetings-2021.md', passive: true })

(There is also a 3-minute introduction video associated with the interactive slides)

通过 URL 共享图像或宏

为了方便共享图像、宏和插件,ImageJ.JS Web 应用程序支持通过构造 URL 来加载预定义的图像、宏或插件。如果您制作了要共享的 ImageJ 宏,您可以将它们存储在 Github 上的项目存储库中,或者直接转到 Gist(https://gist.github.com),粘贴它并获取 URL。例如,我们在这里存储了一个演示宏:https://gist.github.com/oeway/ab45cc8295efbb0fb5ae1c6f9babd4ac。然后我们可以构建一个共享 URL,用户可以直接点击并运行: https://ij.imjoy.io/?run=https://gist.github.com/oeway/ab45cc8295efbb0fb5ae1c6f9babd4ac 。该 URL 可以按原样共享,也可以通过短 URL 服务之一(例如tiny.cc)进一步缩短。

ImJoy 集成

ImageJ.JS 支持与 ImJoy 的组件集成,这意味着您可以将其设置图像 ImJoy 插件或将其他 ImJoy 插件加载到 ImageJ.JS 中。这是一个强大的组合,因为它带来了 ImageJ 的有用功能,包括文件 IO、处理插件、宏脚本以及 ImJoy 中的 Web 插件,用于构建易于使用的现代 UI 和强大的深度学习库。

在独立模式下(只需转到https://ij.imjoy.io),您将可以通过位于 ImageJ左上角的 ImJoy 图标访问 ImJoy 功能。您可以通过插件 URL 将 ImJoy 插件加载到工作区中,特别是对于那些调用 ImageJ.JS 的插件。

例如,以下代码显示如何从 ImJoy 插件调用 ImageJ.JS api:

async function run(){
    const ij = await api.createWindow({src: "https://ij.imjoy.io"})
    await ij.runMacro(`print("hello world");`)
}
跑步()

最常见的用例是与 Python 一起使用,例如在 Jupyter 笔记本或 ImJoy 中。

尝试在线演示:Binder

交互式文档

ImageJ.JS 是一个浏览器应用程序,可以轻松嵌入到网站中,包括项目站点和文档。

事实上,我们在 ImageJ wiki 中添加了对运行 ImageJ 的支持,因此您可以直接运行 ImageJ 宏和其他 ImJoy 插件。

例如,您可以单击并尝试下面的 Run 按钮来查看用于图像分割的基本 imagej 宏(感谢 Romain Guiet 提供了这个最小的示例):

运行(“斑点25K)”);
设置自动阈值(“默认”);
setOption("黑色背景", true);
run("转换为掩码");
run("分析粒子...", "size=5-无穷大相加");

在 ImageJ wiki 中运行 ImageJ.JS 和 ImJoy

您可以通过以下方式轻松将 Markdown 代码块转换为可执行和可编辑的代码块:

  1. 在 Markdown 文件的元数据中将 "imjoy" 添加到 extensions(也称为 Front Matter);
  2. 在代码块之前添加注释 <!-- ImJoyPlugin: { ... } -->。在{}内,您可以传递用于设置 ImJoy 插件的设置。

例如,您的页面开头可能有以下内容:

---
标题:我的精彩页面
扩展名:[“imjoy”]
---

现在,在页面中,您可以使用以下命令添加可执行且可编辑的代码块:

<!-- ImJoyPlugin: { "type": "macro"} -->
```javascript
打印(“你好”);
```

要立即可编辑,您可以将startup_mode设置为"edit"

<!-- ImJoyPlugin: { "type": "macro", "startup_mode": "edit", "editor_height": "100px"} -->
```javascript
打印(“你好”);
```

更详细的使用方法请参考ImJoy Docs

在幻灯片中运行 ImageJ.JS

与 ImageJ wiki 集成类似,您还可以创建直接嵌入 ImageJ.JS 的交互式幻灯片。 此功能对于教学目的非常有用,它可以在演示过程中实现无缝的演示现场演示,学生还可以返回相同的幻灯片并与演示进行交互。

您可以点击this link或下面的“运行”按钮:

api.createWindow({ src: 'https://slides.imjoy.io/?slides=https://raw.githubusercontent.com/imjoy-team/imjoy-slides/master/slides/run-imagej.js-side-by-side.md', passive: true })

更详细的使用方法请参考ImJoy Slides

将 ImageJ.JS 集成到您自己的网站

如果您有一个项目页面、网站或在线数据存储库,您希望允许用户运行 ImageJ.JS,您可以集成 ImageJ.JS 以使您的数据和分析工作具有流程交互性。由于ImageJ.JS也是一个ImJoy插件,集成因此ImageJ.JS的推荐方法是按照integration docs将ImJoy核心加载到您的站点,然后运行以下代码实例化ImageJ.JS:

async function run(){
    const ij = await api.createWindow({src: "https://ij.imjoy.io"})
    // call the imagej.js api, see https://github.com/imjoy-team/imagej.js
}
run()

引文

ImageJ.JS 是 ImJoy 项目的一部分,请考虑引用 ImJoy 关于 NatureMethods 的论文(https://www.nature.com/articles/s41592-019-0627-0free access):

Ouyang, W., Mueller, F., Hjelmare, M. et al. ImJoy: an open-source computational platform for the deep learning era. Nat Methods (2019) doi:10.1038/s41592-019-0627-0

或者,您也可以引用:DOI