社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

返朴 • 3 年前 • 410 次点击  



点击上方蓝字“返朴”进入主页,可关注查阅往期文章


图像查看和分析软件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  改变科学的10种计算机工具,你用过哪个?

2  对话诺奖得主Joachim Frank,探索冷冻电镜的重构艺术

3  冷冻电镜:窥探小细胞里的“大电影”

4  博士生DIY超级显微镜,直接看到原子!网友:太极客了,一下省出几十万元


近期推荐

1  母系遗传关系是怎样鉴定的?| DNA亲子鉴定的科学原理

2  雪花到底有多迷人?为什么?| 贤说八道

3  为什么现在的药不如以前多,也不如以前有用了?

4  专访爱德华·威腾:何处潜藏新物理?

5  美学者呼吁教改:科学哲学走进中学课堂,让学生理解科学的本质


特 别 提 示

1. 进入『返朴』微信公众号底部菜单“精品专栏“,可查阅不同主题系列科普文章。

2. 『返朴』提供按月检索文章功能。关注公众号,回复四位数组成的年份+月份,如“1903”,可获取2019年3月的文章索引,以此类推。

↓↓返朴书单,点击购买↓↓




长按下方图片关注「返朴」,查看更多历史文章

微信实行乱序推送,常点“在看”,可防失联
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130182
 
410 次点击