财新传媒
位置:博客 > 返朴 > Python升级:新型图像工具,玩转多维数据可视化

Python升级:新型图像工具,玩转多维数据可视化

图像查看和分析软件napari填补了Python编程语言科学生态系统里的空缺。

 

撰文 | Jeffrey M. Perkel

翻译 | 施普林格·自然上海办公室

Josh Dorrington在观测急流(jet stream)上已经相当娴熟了。他绘制出不同高空海拔下快速移动的气流,然后将气流图一个挨一个的摆放。“你学会善于观察这所有的横切面,解开背后的含义。”Dorrington说,他是英国牛津大学的大气物理学家。不过与计算机可视化相比,这种“手动”方法比较慢,并且“缺乏交互”。

 

因此,当遇到大气阻塞事件(急流由于高压静止气团发生偏转而导致极端天气事件)时,Dorrington转而使用另一种方法进行可视化。他用图像查看软件napari,将在北半球上空运动的急流以三维动画的形式展现——气流通常彼此同步,但也不总是如此。“我只花了一个下午的时间,就制作出了大西洋低空及高空急流的简短可视化资料!”去年8月,他在推特上写道。

插图:The Project Twins

napari是一个免费、开源并且可扩展的图像查看器,适用于任意复杂(“n维”)数据,与Python生态系统紧密结合(见napari.org)。napari是三位科学家的心血结晶:加州旧金山陈·扎克伯格生物中心的显微镜专家Loïc Royer;澳大利亚墨尔本莫纳什大学从事图像分析开发的Juan Nunez-Iglesias;加州雷德伍德城的陈-扎克伯格倡议(CZI)的成像技术团队负责人Nicholas Sofroniew。
 

该团队于2018年创建了napari,以填补Python科学生态系统中的空缺。尽管Python是科学计算中的通用语言,但它并不具备能够处理n维数据集的可视化工具。因此,数据分析时通常要在python和其他工具(例如基于Java语言的图像分析库ImageJ)间进行繁琐的来回操作,因为研究人员要交替操作他们的数据,然后将其可视化以查看发生了什么。

napari得名于一个太平洋岛屿上的村庄,它位于开发者所在的美国旧金山与澳大利亚墨尔本的中间。它有一个简单的图形界面,并内置Python控制台。在这个图形界面中,你可以用二维或三维方式渲染、旋转和操控图像,还可以通过图像窗口下面的滑块来操作一些别的维度,例如时间序列数据中时间“切片”的连续。如果条件允许,你可以使用图形处理单元(GPU)加速该软件。“我们确保计算机开足马力。”Royer解释说。(ImageJ用户可以使用PyImageJ实现在Python环境中的工作,见pypi.org/project/pyimagej)napari有类似于Adobe Photoshop的图层,允许用户叠加点、矢量、轨迹、表面、多边形、注释或其他图像。

例如,研究人员可以在napari中打开一个组织的图像,点击鼠标识别细胞核,然后在Python中检索这些点,并使用它们作为细胞图像分割算法(用于识别细胞的边界)的“种子点”。然后通过将结果作为原始图像上的新图层推送到napari中,研究人员就可以评估这次分割的效果如何。斯德哥尔摩皇家理工学院的应用物理学家Xavier Casas Moreno将napari嵌入到名为ImSwitch的仪器控制系统中,该系统是他为控制实验室里的超分辨率显微镜所打造的。利用图层功能,研究人员可以叠加由多个相机和传感器从不同角度拍摄的图像。“之前这是个一直解决不了的难题。”Moreno说。ImSwitch还内置了定制的napari控制面板(或称“部件”),允许用户将两幅图像进行相对移动,以实现对齐。

用户还可以使用插件来扩展napari。在napari hub,有超过100种插件可供选择(见napari-hub.org),例如用于文件读写、显微镜控制和细胞分割。霍华德·休斯医学研究所珍妮利亚研究基地的计算神经科学家Carsen Stringer开发了一款名为CellPose的细胞分割插件,它通过简单的图形界面,展现出Python深度学习算法的威力。Stringer和她的同事使用CellPose来测量神经组织中逐个细胞的基因表达和钙信号传导。

德国德累斯顿科技大学的生物图像分析开发人员Robert Haase则为napari开发了多款插件。其中有一个插件用于他的py-clEsperanto助手,后者用来加速图像处理流程,消除不同图像查看系统的编程语言障碍;还有一款插件是natari,源于napari和Atari(电子游戏开发商)的谐音——其中用户可以玩游戏射击细胞,将其移出视野。

Nunez-Iglesias甚至制作了一个插件,让用户通过乐器数字接口(MIDI)板(常用于定制数字音频输出)来控制napari。在视频演示中,Nunez-Iglesias结合MIDI控制器和Apple iPad,用Apple触控笔在平板显示的图像上绘制,然后通过MIDI控制器的旋钮逐层移动napari中的图层,以手动分割细胞。“相比虚拟的用户界面,我就是更喜欢硬件控制和物理反馈。”他解释说。Napari现为0.4.12版本,尚处于开发阶段。CZI科学成像计划(CZI science imaging programme)为其提供了支持,该计划托管了napari hub网站,并为项目提供了一些人手,科学界的许多开发者也贡献了代码。

CZI还留出100万美元用于支持napari插件加速器资助计划,并于去年11月揭晓了41个奖项。napari的关键开发目标包括改进安装、文档、插件界面,和提升对大型3维数据集的处理能力。Nunez-Iglesias说,在神经连接组研究之类的实验中,由于生产的数据集规模过大,以至于软件处理速度降至“龟速”,“延迟加载(Lazy-loading)”方案,即按需加载数据,应该可以缓解这一瓶颈。Nunez-Iglesias预计,napari的用户基数为“数千人”。而这一群体即使在显微镜专家以外的社群中也正迅速增长。例如,有用户展示了napari在地球物理学和结构生物学中也有所应用。而DeepLabCut(用于捕捉动物移动姿态的一个流行工具)已宣布了用napari取代其查看器的计划。2020年,当时在哈佛医学院的系统生物学家Hung-Yi Wu用一条推特总结了自己的兴奋心情:“@napari_imaging真是太棒了,我感觉就好像用上了第一部iPhone。”

 

本文经授权转载自微信公众号“Nature Portfolio”,原文以Python power-up: new image tool visualizes complex data为标题发表在2021年12月6日《自然》的技术特写版块上。

原文链接:https://www.nature.com/articles/d41586-021-03628-7

 



推荐 1