当前位置: 首页 > news >正文

ImageJ灰度值量化分析 实用技巧——免疫组化分析(定量分析篇)

在临床病理诊断中, 免疫组织化学( Immunohistochemistry, IHC) 是一种很重要的技术和手段。

免疫组化标记时细胞阳性着色程度取决于抗原含量、分布密度和标记方法及其敏感性。

一般而言,抗原含量越多,分布密度越高,阳性结果显色则越强。根据阳性标记的显色程度分为:蓝色,阴性;淡黄色,弱阳性;棕黄色,中等阳性;深棕色,强阳性。

免疫组化原理图


免疫组化分析主要有两种方法,阳性着色细胞计数法和染色强度评分法。前者是在光学显微镜下,随机多个视野下计数阳性着色细胞;后者则是在下按染色强度和染色阳性范围评分,最终分数相加。

但组织样品的病理学分析仍然是耗时且主观的程序,其中人工判断染色强度来评分,直接受到视觉偏差的影响[1]。且阳性细胞计数往往不能自动化进行,导致免疫组化分析费时费力。


这篇文章会怎么利用ImageJ进行免疫组化分析,进行全面的讲解,包括两部分:

1、利用IHC Profiler插件对样本的染色情况进行自动化评分;

2、利用Trainable Weka Segmentation插件分别对阳性细胞和阴性细胞进行计数;

一、IHC Profiler-自动分析染色情况

IHC Profiler,将阳性细胞的平均灰度值(染色强度)和阳性面积百分比(染色面积)共同作为 IHC 测量指标[2],最终给出四种评分:High positive (3+), Positive (2+), Low Positive (1+) and Negative (0)。

最新更新,为解决IHC_Profiler安装失败的问题,我更改了IHC_Profiler的原代码,整个插件变成了newIHC_Profiler.ijm,可以在GitHub上下载到:

newIHC_Profiler.ijm​github.com/ethanzhao9/ImageJ-Tutorial/blob/master/newIHC_Profiler.ijm

插件使用方法:

1、通过Image -> Color -> Color Deconvolution,分离出想要测量的Channel:

2、选中想要测量的Channel,Run这个Macro,即可得到4种评分所占面积的百分比:

注意IHC_Profiler里四个评分的定义:

  • High positive (灰度值0-60)
  • Positive (灰度值61-120)
  • Low Positive (灰度值121-180)
  • Negative (灰度值181-236)


1、插件安装

注意:Fiji和IHC Profiler会出现不兼容的情况,导致结果错误,建议在ImageJ1中安装这个插件并使用。

ImageJ1的下载链接:

https://imagej.nih.gov/ij/download.html

该插件的安装包括插件和宏的安装,下载地址:

IHC Profiler​sourceforge.net/projects/ihcprofiler/

若无法打开可以在GitHub上下载到:

https://github.com/inanezhao/ImageJ-Tutorial/blob/master/IHC_Profiler.zip

压缩包里包含下面三个文件插件文件夹、宏文件以及官方安装教程:

(1)插件安装

将IHC Profiler文件夹放在Plugins中,重启ImageJ即可安装IHC Profiler插件:

(2)宏安装(对于Fiji是必需且重要的)

Fiji安装宏的步骤和网传的版本不同,因为IHC Profiler是基于ImageJ最初的版本编写的,在FIji上使用的时候会有不兼容的情况。

首先将IHC_Profiler.txt文件放到macros文件夹中。

然后点击Plugins -> Macros -> Install,选择该txt文件(如果是ImageJ1则跳过这一步)

即可在Plugins -> Macros中找到该宏:

注意!!!每次关闭ImageJ后,再次使用IHC Profiler需要重新安装该宏。否则得出的结果是错误的。

2、插件使用

该插件的基本原理为先对染色图片进行颜色去卷积,分出蓝色的阴性区域和棕色的阳性区域,然后判断染色类型是细胞质染色还是细胞核染色,再分别进行对应的操作[2]。

插件工作流程

(1)以细胞质染色为例:

打开图片和插件(Plugins -> IHC_Profiler)

打开插件后选择细胞质染色的Mode:

颜色去卷积默认H DAB染色:

然后即可分别得到阴性区域和阳性区域,直接得出结果:

(2)以细胞核染色为例:

选择细胞核染色Mode,并不会直接得出结果,需要先设定一个阈值:

然后点击上面安装的宏(Plugins -> Macros -> IHC_Profiler),即可得到结果:


二、Trainable Weka Segmentation-自动阳性细胞计数

该插件的使用请参考这篇文章:

Treasure琛:ImageJ实用技巧——基于机器学习的自动细胞分割(插件篇)220 赞同 · 91 评论文章​编辑

一般的免疫组化图片不能通过Threshold的方法进行分割,需要利用该插件,基于机器学习算法,做到阳性细胞和阴性细胞的计数。

例如统计上图中,阳性细胞和阴性细胞的数量,经过训练之后分类器可以很好的分出阳性细胞、阴性细胞以及背景(甚至可以区分出强阳性和弱阳性细胞):

点击Create result、Get Probability可以得到分割后的图像:

通过Analyze Particles可以快速得到细胞的数量,可以参考这篇文章:

Treasure琛:ImageJ实用技巧——自动细胞计数(解放双手篇)724 赞同 · 160 评论文章​编辑

三、总结

该篇文章完整讲述了怎么利用IHC Profiler进行免疫组化分析,补充了利用Trainable Weka Segmentation对阳性细胞进行自动统计。

以后对于免疫组化分析,不必再过度依赖人工,可以通过软件的自动分析得到更加直观和稳定的数据。但前提是样品的制备、染色以及拍照时要注意避免假阳性。

与此同时,在使用插件的时候要多思考,多研究,避免出现分析错误的情况。(例如,若不安装IHC Profiler的宏文件,得出的结果会完全相反)

推荐阅读介绍IHC Profiler的这篇文献[2],以更深入地了解自动免疫组化分析的原理。

四、补充

(1)插件报错问题

如果插件出现报错等不能用的情况,建议换用ImageJ1来安装这个插件,在ImageJ1中使用,而不是Fiji。

(2)共染问题

免疫组化共染不能用IHC Profiler来进行分析,这个插件现在只包含了DAB。

如果想要分析共染的荧光强度的话,比较好的方法是通过Colour Deconvolution(Image -> Color -> Colour Deconvolution)

选择H&E DAB把粉红色、棕色以及蓝色,三个通道分别分离出来(但要注意免疫组化本身并不是化学计量的)。

通道分割结果

可以参考下面这个网站:

Colour-deconvolution​blog.bham.ac.uk/intellimic/g-landini-software/colour-deconvolution/

参考文献:

[1].Jensen, Ellen C . Quantitative Analysis of Histological Staining and Fluorescence Using ImageJ[J]. The Anatomical Record, 2013, 296(3):378-381.

[2].Varghese F, Bukhari A B, Malhotra R, et al. IHC Profiler: An Open Source Plugin for the Quantitative Evaluation and Automated Scoring of Immunohistochemistry Images of Human Tissue Samples[J]. Plos One, 2014, 9(5):e96801.

相关文章:

ImageJ灰度值量化分析 实用技巧——免疫组化分析(定量分析篇)

在临床病理诊断中, 免疫组织化学( Immunohistochemistry, IHC) 是一种很重要的技术和手段。 免疫组化标记时细胞阳性着色程度取决于抗原含量、分布密度和标记方法及其敏感性。 一般而言,抗原含量越多,分布密度越高,阳性结果显色…...

了解STM32看门狗定时器的工作原理和原则

STM32 系列微控制器的看门狗定时器 (Watchdog Timer,WWDG) 是一种重要的硬件资源,用于检测系统的异常状态,并在发生异常时执行特定的操作,以确保系统能够正常运行。在本文中,我将详细介绍 STM32 看门狗定时器的工作原理…...

【2014年数据结构真题】

41. (13分)二叉树的带权路径长度(WPL)是二叉树中所有叶结点的带权路径长度之和。 给定一棵二叉树T,采用二叉链表存储,结点结构如下: 其中叶结点的weight域保存该结点的非负权值。 设root为指向T的根结点的指针, 请设计求T 的WPL…...

PostgreSQL基本操作

目录 1.源码安装PostgreSQL 1.1.前置条件(root下操作) 1.1.1.卸载yum安装的postgresql 1.1.2.创建postgres用户 1.1.3.安装部分依赖 1.1.4.源码安装uuid 1.2.安装PostgreSQL 1.2.1.使用postgres用户管理PostgreSQL 1.2.2.下载解压postgres12源码…...

hadoop 大数据环境配置 ssh免密登录 centos配置免密登录 hadoop(四)

1. 找到.ssh文件夹 cd ~ # 在.ssh文件夹下生成 # cd .ssh 2. 生成私钥公钥命令: ssh-keygen -t rsa3. 发送到需要免密机器: # hadoop23 是我做了配置。在host配置得机器ip和名称得映射 ssh-copy-id hadoop23 4. 成功...

Django 的国际化与本地化详解

概要 随着全球化的发展,为 Web 应用提供多语言支持变得日益重要。Django 作为一个功能强大的 Web 框架,提供了一套完整的国际化(i18n)和本地化(l10n)工具,使得开发多语言应用变得简单。本文将详…...

Java19新增特性

前言 前面的文章,我们对Java9、Java10、Java11、Java12 、Java13、Java14、Java15、Java16、Java17、Java18 的特性进行了介绍,对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 Java13新增特性 Java14新增特性 Java15新增特…...

[文件读取]metinfo_6.0.0 任意文件读取漏洞复现

1.1漏洞描述 漏洞编号--漏洞类型文件读取漏洞等级⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐漏洞环境windows漏洞名称MetInfo 6.0.0 任意文件读取漏洞 MetInfo 是一套使用PHP 和MySQL 开发的内容管理系统。MetInfo 6.0.0 版本中的 /app/system/include/module/old_thumb.class.php 文件存在任意文件…...

[量化投资-学习笔记015]Python+TDengine从零开始搭建量化分析平台-量化知识点汇总

之前的章节介绍了多个技术分析指标,以下进行一个简单的总结。 看过之前章节的同学就可以不用打开了。 技术指标 MAEMAMACDCCIATRKDJ MA 最基础的技术指标,对一段周期内的收盘价进行简单平均,是一切指标的基础。 def calc_ma(period,ma):ma_…...

VSCode 好用的插件分享

文章目录 Introlistcode runner 【在文本编辑器中编辑好各类语言的源代码,然后一键运行】gitlens - 【git提交信息即时查看,类似IDEA中的 show annotation】还有更多,会日常补充。 Intro 大四毕业前,我只有一台dell latitude 455…...

C++虚基类详解

多继承(Multiple Inheritance) 是指从多个直接基类中产生派生类的能力,多继承的派生类继承了所有父类的成员。尽管概念上非常简单,但是多个基类的相互交织可能会带来错综复杂的设计问题,命名冲突就是不可回避的一个。…...

Mac M2/M3 芯片环境配置以及常用软件安装-前端

最近换了台新 Mac,所有的配置和软件就重新安装下,顺便写个文章。 一、环境配置 1. 安装 Homebrew 安装 Homebrew【Mac 安装 Homebrew】 通过国内镜像安装会比较快 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Ho…...

Karmada更高效地实现故障转移

随着云原生技术的发展,其应用场景不断扩大。越来越多的企业开始将应用程序部署在 Kubernetes 集群中,随着 Kubernetes 集群规模的不断扩大,也带来了许多管理挑战,例如多集群间负载均衡、资源调度、故障转移等问题。为了解决这些问…...

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(四)

你可以的&#xff0c;去飞吧&#xff01; 同步代码和异步代码 回调函数地狱和 Promise 链式调用 回调函数地狱 缔造“回调地狱”↓ 制造里层回调错误&#xff0c;却在最外层接收错误→无法捕获 axios源码抛出异常&#xff08;未捕获&#xff09; <!DOCTYPE html> <ht…...

​TechSmith Camtasia 2024破解版功能介绍及使用教程

在现在的网络互联网时代&#xff0c;越来越多的人走上了自媒体的道路。有些自媒体人会自己在网络上录制精彩视频&#xff0c;也有一些人会将精彩、热门的电影剪辑出来再加上自己给它的配音&#xff0c;做成大家喜欢看的电影剪辑片段。相信不管大家是自己平时有独特的爱好也好、…...

【无线网络技术】——无线传输技术基础(学习笔记)

目录 &#x1f552; 1. 无线传输媒体&#x1f558; 1.1 地面微波&#x1f558; 1.2 卫星微波&#x1f558; 1.3 广播无线电波&#x1f558; 1.4 红外线&#x1f558; 1.5 光波 &#x1f552; 2. 天线&#x1f558; 2.1 辐射模式&#x1f558; 2.2 天线类型&#x1f564; 2.2.1 …...

【Liunx】部署WEB服务:Apache

【Liunx】部署WEB服务:Apache 概述Apache1.介绍2.Apache文件路径3.Apache详解(1)安装Apache(2)启动Apache(3)配置文件a.Apache主配置文件&#xff1a;vim /etc/httpd/conf/httpd.conf信息&#xff1a;b.基于主机头的虚拟主机 (4)开始演示&#xff1a;a.新建两个网站根目录b.分别…...

数字媒体技术基础之:常见图片文件格式

在数字图像处理和图形设计领域&#xff0c;了解不同的图片文件格式及其特点是至关重要的。每种格式都有其独特的用途和优势。以下介绍一些最常见的图片文件格式。 JPEG Joint Photographic Experts Group 扩展名&#xff1a;.jpg 或 .jpeg 特点&#xff1a; 1、有损压缩&#x…...

2023-2024-2 高级语言程序设计-二维数组

7-1 矩阵运算 给定一个nn的方阵&#xff0c;本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。 输入格式: 输入第一行给出正整数n&#xff08;1<n≤10&#xff09;&#xff1b;随后n行&#xff0c;每行给出…...

【uniapp】确认弹出框,选择确定和取消

代码如下&#xff1a; <view style"display: flex; justify-content: space-around;"><button class"button" click"submit">t提交</button> </view>submit(){let thatthisuni.showModal({title: 提示&#xff1a;,con…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...