ImageJ基础教程

2024-08-07-41-1782907843526.webp

终于把面向初学者的 ImageJ1 基础教程完成了。虽然网上各种教程很多,但大多都是针对特定分析需求的知识碎片,或难或易,或深或浅。而初学者到底要掌握哪些知识却并不清楚。

且慢,为啥要学 ImageJ 呢?我想如果你必须要自己处理一些图像数据的话,ImageJ是最佳的入门选择。原因如下:

  1. ImageJ 发展历史悠久,应该是大量软件工具中的「鼻祖」,具有类似于「C语言」在各类高级编程语言中的地位,后面各种工具的功能和操作逻辑都深受它的影响。

  2. 也正因为历史悠久,网上存在大量ImageJ教程,而且官方的Wiki更是详细丰富。

  3. ImageJ 有大量插件可用,这极大地扩展了它的分析功能,而且插件的数量还在不断上升。

  4. ImageJ 开源免费,开箱即用无需安装,支持对上百种不同格式成像数据的分析

总之,学好了 ImageJ,你就相当于获得了成像数据分析的「最大公约数」。

ImageJ强大的兼容性

ImageJ支持打开和处理上百种不同格式的成像数据。 每个显微镜厂家都会有自己的成像数据格式,然后得用自家的数据分析软件以获得最完整的支持。这些软件大部分功能趋同,但是用户界面操作逻辑多少会有差异,这就造成了用户额外的学习成本。 但事实上,我们不可能为了每一种数据格式去学习一个新的软件。而且大部分情...

我刚开始也不知道「ImageJ基础」应当要包括哪些内容,完全是写着写着,不断勾起自己过往的回忆,逻辑才逐渐清晰。这个「ImageJ基础」 系列的内容,要满足的是最常见最基本的需求:在论文里放一张符合规范2的图像展示和结果统计。

文章成像数据处理从何谈起

有一些朋友希望我能开课分享一下成像数据处理方面的经验。我有所意动,因为这样一方面能够梳理自己的技术体系,另外也能帮助更多人。但是因为这样或那样的原因,这个事情不断拖延到现在也没任何动静。 开课讲数据分析并不容易。虽然我大可以直接分享自己之前的各种案例。但从一个听众的角度看,可能我说的所有案例都不是他...

所以「ImageJ基础」的第一部分对应了“图像展示”。对于小白来说,因为知识储备不足很容易导致的过度图像处理造成一些问题,所以我非常克制地以介绍一些基本概念为主,例如数据维度,位深谈到对比度调节,伪彩选择和图像标尺等。通过这个部分的内容,我相信大家能够很轻松且稳妥地展示出符合规范的图像。

成像数据维度

本文简单介绍成像数据的五个基本维度。 使用显微镜获得的原始数据,通常有不同的维度组合,例如: xy:仅平面二维成像 xyc:包含多个通道的二维成像 xyz:三维成像 xyzc:三维多通道成像 xyzct:三维多通道视频 一般来讲,成像数据就是这五个维度。 xyzt 四个维度用于描述时空,剩下一个 c...

数字图像的位深

本文介绍数字图像的位深概念。 成像数据本质上就是由数字组成的一个矩阵。我们采集到的成像数据,如果不断放大,就会看到一个一个像素。这些像素的亮暗,或者颜色的深浅,就代表了这个像素位置的数值大小。 如上图,显示了每个像素位的具体数值,并更换了伪彩。可以看到,图像中的像素值,一般都是正整数。像素值的范围就...

图像对比度

介绍图像对比度的作用,调整方法和注意事项。 成像数据本质上就是一堆数字。而我们看到的图像,就是通过特定的表示方法,转换为电子屏幕上显示的各种颜色和亮度。这个就是数字图像的可视化。而可视化的过程,包括了数值到电子屏幕上的映射,又包括屏幕内容到人眼的映射。 例如上图是细胞核二维平面成像展示。我们指定了这...

图像伪彩

介绍图像伪彩的概念和常规用法。 人眼所看到的图像结果,是使用指定的图像伪彩来表示原始的信号数值,然后通过电子屏幕来呈现的。现在的主流电子屏幕,主要还是红绿蓝三种微型显示单元组成的阵列,通过控制红绿蓝三种显示单元的亮度,就可以调配出各种各样的颜色。 所以对于一张 xy 二维图像,我们可以将其像素值映射...

图像标尺

本文介绍图像的像素尺寸与如何添加标尺。 当我们在论文中插入成像结果的时候,一般都需要为图片添加标尺。图像标尺反映了图像像素单位和实际物理尺寸的关系。而要绘制图像标尺,需要知道像素尺寸 pixelsize ,其实就是指一个像素的包含的区域实际大小。需要注意的是,对于 xy 二维图像,一般情况下一个像素...

那么「ImageJ基础」的第二部分就对应了“结果统计”。由于每个人要分析的目标,要统计的指标可能各不相同,所以这里我也只能是从「点线面」也就是维度的视角来展示不同类别的分析目标的测量过程。而统计的指标,既有 ImageJ 本身提供的各种指标,也可以根据需求使用其他指标,比如单颗粒示踪,就增加了时间这个属性。

图像选区测量

本文介绍如何选择图像中感兴趣的区域并进行测量。 通过前面一些基础概念的介绍,我相信大家已经能够使用 ImageJ 制作出符合规范的能够在论文中展示的图像了。但是一般来说,光有图像可不够,还得有一些定量的分析。 所以这里展示一个最简单的定量分析场景:统计细胞内的荧光信号。如上图所示,我们有一张细胞的明...

图像划线测量

本文介绍对图像进行划线测量的操作 通过前面我们已经知道有各种图像选区的工具,针对不同的感兴趣对象可以使用不同的工具。上篇中使用了 freehand 来对细胞进行选择,这里则进一步展示使用 line 来对凝胶电泳成像的结果进行划线测量,获取其 profile。 通过拍摄得到的原始图像是黑底亮带,然而在...

图像选点测量

本文介绍对图像中点状信号的测量 前面已经介绍了对一个面或者一条线的测量,这里进一步把维度降低,谈谈对spot类型的测量。 左上为拍摄软件导出的单通道图像(RGB);右上角为 split channel 处理后得到的 Red channel 通道的图像;左下角为使用 ImageJ LUT 中的 the...

图像颗粒分析

本文介绍对图像中颗粒类型对象的分析。 前面介绍了点线面三种类型的目标测量。这里继续介绍颗粒(particle)这种类型的测量。particle 和 spot 都是比较小的对象,其区别在于,particle 稍微大一点,有不同的简单的形状,比如下方的短棒状。而 spot 的形状一般非常接近一个圆点。...

颗粒示踪分析

本文介绍如何对颗粒的运动进行示踪分析 前面已经展示了四类目标的测量,但都是以静态图像为例。事实上我们还经常需要对视频进行分析,其中单颗粒示踪就是一个常见的分析手段。这里就对手动示踪方法进行展示。 如上图所示,将视频文件(multi page tiff)打开为一个 stack。然后 ImageJ 菜单...

需要注意的是,作为基础内容,这些测量过程都默认输入的数据是质量非常好的,不需要额外的预处理(比如降噪滤波等)。而且使用的都是手动测量分析而不是自动分析。因为降噪滤波等图像处理难免造成原始数据的轻微变化,而自动分析哪怕再好的算法,也总是会需要额外的过滤,这些处理都需要结合实际情况,依赖充分的知识和经验来选择和调节,所以我认为也不属于基础部分的内容。

总之「ImageJ基础」这一系列的内容,仅展示了比较理想的这种情况:基于好的数据,通过简单的处理和测量分析,得到符合规范的论文图表。但我认为这正是初学者需要的。说白了,好的数据分析起来事半功倍,不好的数据才需要绞尽脑汁地分析。所以对于刚开始做实验的同学们来说,努力提高实验技能尽可能拿到高质量的数据,是比掌握复杂数据处理方法更优先的事情。

另附 ImageJ 软件包,以及「ImageJ基础」中示例的数据,感兴趣的同学可以下载尝试。

链接:https://pan.baidu.com/s/1xkaieQPyuBsHcH_7GN5cug

提取码: pj7p

版权和免责申明:本教程所有内容皆为原创,如转载请符合相应规范。由于本人能力有限难免出现疏漏,这里仅是基于个人经验抛砖引玉。如有疑问错误、以及其他补充请直接在评论区指出。

最后呼吁大家在论文中别忘了对Fiji (Fiji is just imagej) 的引用👇:

Footnotes

  1. Schindelin, J., Arganda-Carreras, I., Frise, E. et al. Fiji: an open-source platform for biological-image analysis. Nat Methods 9(7), 676–682 (2012). https://doi.org/10.1038/nmeth.2019

  2. Schmied, C., Nelson, M.S., Avilov, S. et al. Community-developed checklists for publishing images and image analyses. Nat Methods 21, 170–181 (2024). https://doi.org/10.1038/s41592-023-01987-9