工具简介

来自德国海德堡大学的Hamprecht团队开发了一款使用简便的开源交互式工具—ilastik。ilastik能够给用户提供良好的基于机器学习的生物信息图像分析服务,这对于在计算机专业知识方面有所欠缺而又想使用机器学习来做图像分析的用户来说是一个福音。(文末附ilastik下载链接)

研究背景

随着成像技术的快速发展,越来越多的生命科学家投入到生物信息图像分析领域。通常要手工的去完成图像分割,目标检测,目标计数这类工作十分耗时,繁复而又容易出错。此外,在生物图像上做人工标注非常的困难,这一部分通常需要非常专业的人员来完成。

Hamprecht团队开发的ilastik工具利用监督式机器学习的方法,通过把几种常见的生物图像处理过程流程化,规范化,提供给用户一个简单易用的交互式生物信息图像分析平台。目前平台支持的图像分析流程包括图像分割(语义分割、实例分割),目标分类,目标计数以及目标追踪。

像素分类(Pixel classification)

像素分类是ilastik中使用的最多的流程,它将用户定义的标签标注到每一个像素点上,并得到图像语义分割的结果。

用户只需要简单的通过画刷工具在图片上将部分类别标注出,ilastik平台将会自动判别图像中的其它像素属于某一个语义类别的概率。

在上图中的左上部分,用户用画刷工具标注出部分像素的所属语义类别;右下部分为ilastik通过机器学习算法生成(图中:红色,线粒体;蓝色,膜;黑色,细胞质;红色,微管)。

自动上下文(Autocontext)

自动上下文流程与像素分类流程联系紧密。自动上下文执行了两次像素分类流程,第二次像素分类的输入数据为第一次像素分类得到的结果以及原始图像数据。自动上下文的输出相比单像素分类流程得到的图像结果噪音更少,过渡更平滑,连续。

目标分类(Object classification)

在进行目标分类训练之前,首先需用平滑和阈值方法从像素分割得到的概率图中提取待分类的物体,也可以引入外部提取的结果。之后用户只需要通过单击标注部分待分类物体所属的类别,ilastik平台即可完成其余训练工作,并自动判别图像中的其它待分类物体属于哪一个类别。

图中的左上部分,用户通过简单的单击即可为目标标注类别;右下部分为ilastik通过机器学习算法生成。

雕镂(Carving)

来自电子显微镜的三维生物信息数据非常适用于在这个流程中做目标分割。用户只需通过笔刷工具将目标和背景简单标记出,ilastik平台会自动识别出要保留的目标区域,并生成三维坐标下的目标体。

图中的左上部分,用户使用笔刷工具简单标注目标和背景(图中:蓝色,目标;红色,背景);右下部分为ilastik自动生成。

图a为内质网的电镜图,为了对其进行边缘提取与三维建模,首先在图b中进行简单标注(图中:红色,物体;黄色,背景;蓝色,镂空区域),图c为经过训练后ilastik关于整个区域的预测三维图。

多分(Multicut)

该流程多用于电子显微镜下神经元图像的目标分割。

与雕镂流程类似,多分流程也是基于边界信息将物体分出。不同的是,多分同时将多个目标分出。用户通过标注出图像中的部分边界值为True或者False,ilastik平台即可自动判定其它边界的值,从而实现同时对多个目标进行区分。

图中的左上部分,用户通过点击标注出正确的边界(绿色)和错误的边界(红色);右下部分为ilastik通过随机森林算法自动生成的结果。

目标计数(Counting)

该流程运行于二维图像数据上,可用于重叠目标的计数。目标计数流程能够准确的计算出那些由于重叠了太多而无法被分割出的目标的数量。用户可以通过笔刷工具标注出背景,单击标注出目标中心,以此给ilastik提供训练数据,之后ilastik平台会自动渲染图像中的其余部分。

图中的左上部分,笔刷工具标注出背景(洋红色轨迹),单击标注出要计数的目标中心(彩色目标);右下部分为ilastik通过随机森林算法在用户定义的范围内(蓝色长方形区域)对目标的计数。

目标追踪(Tracking)

目标追踪流程能以2D和3D的形式跟踪多个预先检测到的、可能会分割的目标。该流程考虑每个目标的以下因素:它进行细胞分裂的可能性有多大,它被误检测或几个对象合并的可能性有多大,以及它在随后的帧中与相邻对象的匹配程度如何。

按照一般的ilastik方法,用户通过训练一个分类器来识别分割的对象和另一个分类器来发现错误检测和对象合并来提供这些信息。

图中左上部分,用户通过单击标注出用于可分裂目标(青色),不可分裂目标(品红),合并目标(黄色)和单个目标(蓝色),右下部分,同类目标用相同颜色标记。

ilastik

平台支持:Linux, MacOS, Windows

下载地址:https://www.ilastik.org/download.html

官方演示:

https://www.youtube.com/channel/UC2Z3En46IwfxbRXhI3OsDaQ

参考资料

Stuart Berg, et al. ilastik: interactive machine learning for (bio)image analysis. Nat. Methods 16, 1226–1232(2019).

Nat. Methods | ilastik:为生物图像分析而生的交互式机器学习平台相关推荐

  1. Nat Methods | 王艇/李道丰实验室扩展WashU Epigenome Browser的3D基因组可视化功能

    三维 (3D) 基因组结构对于基因调控和细胞功能至关重要.基于染色体构象捕获(chromosome conformation capture)的高通量技术已被广泛用于研究全基因组染色体的物理相互作用. ...

  2. Nat Methods|一个快速搜索工具能让所有人都能进行蛋白质结构预测

    2022年5月30日,来自韩国首尔国立大学生物科学学院的Martin Steinegger和哈佛大学FAS科学部的Sergey Ovchinnikov等人在Nat Methods杂志发表文章,介绍了一 ...

  3. 属于服务器端运行的程序_生信分析云平台产品开发 - 5 生信分析pipeline服务器端运行...

    在上文 [生信分析云平台产品开发 - 4 生信分析pipeline的图形化] 讨论了生信分析pipeline的图形化,如何用图形的方式显示生信pipeline,但是pipeline脚本按照变量的形式保 ...

  4. 中考理化生实验操作考试平台

    1. 简介 中考理化生实验操作考试平台是针对现阶段中考实验考试中存在的信息录入费时费力:评分主观性太强,成绩复议缺乏依据:监考教师不足,巡考教师工作量大等问题提出的一站式实验考试解决方案,通过信息技术 ...

  5. 爱可生DBaaS数据库云平台入选《创新100—2022数智化场景实践》

    30秒快读 数据库作为企业级基础软件,是我国数智化场景转型和国产化进程中的重要一环.未来市场的竞争其实是数据的竞争,谁处理好了数据,谁就掌握了核心制胜点. 在数据库即服务与数据即服务等数据库领域,上海 ...

  6. Nat. Methods | 学习微生物与代谢产物之间相互作用的神经网络

    作者 | 蒋长志 单位 | 厦门大学 方向 | 微生物表征学习 今天给大家介绍2019年11月,加州大学圣地亚哥分校儿科和微生物创新中心.加州大学计算机科学与工程系和质谱创新中心合作在Nature m ...

  7. Nat. Methods | scBasset:基于DNA序列的单细胞ATAC-seq卷积神经网络建模

    本文介绍由美国生物科技公司Calico Life Sciences的Han Yuan 和 David R. Kelley共同通讯发表在 Nature methods 的研究成果:单细胞ATAC-seq ...

  8. Nat. Methods | 基于机器学习和生物物理的蛋白质-肽相互作用预测

    2020年1月6日哈佛医学院Mohammed AlQuraishi和Peter K. Sorger研究团队合作在Nature methods上发表题Biophysical prediction of ...

  9. Nat Commun |完全开源!肿瘤基因组数据报告解读平台,可满足商业报告解决方案...

    随着精准医疗的不断发展,科学研究和临床应用中对癌症基因组数据的解读需求也在增加.虽然目前癌症测序数据分析流程的自动化提高了报告的速度和结果的可重复性,通过使用交互而非静态报告,临床对复杂基因组数据的理 ...

最新文章

  1. 深度残差收缩网络:借助注意力机制实现特征的软阈值化
  2. NLP入门必知必会(一):Word Vectors
  3. python项目之网络聊天室_Python实现多人聊天室
  4. Android Zxing 加入闪光灯功能
  5. -jar参数运行应用时classpath的设置方法
  6. 多个容器一起打包_程序员修神之路容器技术为什么会这么流行(记得去抽奖)
  7. Javascript 笔记与总结(2-6)var
  8. 开平推进智慧城市等领域信息化建设及公共数据资源共享
  9. 项目管理过程组和知识领域 简介重点记忆
  10. 华为云推出新冠肺炎AI辅助诊断服务,CT量化结果秒级输出
  11. 领域驱动设计-基本概念
  12. python有道-如何用pythonquot;优雅的”调用有道翻译?
  13. POJ-3714 Raid 平面最近点对
  14. python函数参数是数据库表名_Python-sqlite中的变量表名称
  15. java查询到更新之前的数据_java接口中查询数据为什么都不更新,ajax最后获取的数据还是和上次一样...
  16. 给变量取个名字(变量命名)
  17. 学习ZYNQ问题记录
  18. 【MySQL】测试题02
  19. 2023款16英寸苹果MacBook Pro续航实测
  20. [完全免费] 在线UML Class Diagram 类图工具 - 教程第1部分

热门文章

  1. 高效排序算法(快排序)
  2. eventsource 服务器发送事件
  3. 快手基于 RocketMQ 的在线消息系统建设实践
  4. C语言可以不用,但是不能不会!
  5. Scrapy爬虫及案例剖析
  6. 一起学习阿里巴巴数据中台实践!首次公开!
  7. Angular动态创建组件之Portals
  8. web.py做图片上传网页
  9. 操作系统结构-简单体系结构
  10. 全国四级网络工程师操作系统部分考纲