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

文献阅读:Viv:在 web 上多尺度可视化高分辨率多重生物成像数据

文献介绍

alt

「文献题目」 Viv: multiscale visualization of high-resolution multiplexed bioimaging data on the web
「研究团队」 Nils Gehlenborg(美国哈佛医学院)
「发表时间」 2022-05-11
「发表期刊」 Nature Methods
「影响因子」 47.9
「DOI」 10.1038/s41592-022-01482-7

摘要

高度多重成像技术的进步使得能够对健康和患病状态下的复杂组织进行全面分析,从而促进了在空间分辨、亚细胞分辨率下对基础生物学和人类疾病的研究。尽管生物成像的快速创新带来了重大的科学价值,但没有统一的可交互操作标准的技术,限制了结果的分析和共享。采用社区设计的下一代文件格式 (next-generation file formats, NGFF) 是促进大规模生物成像交互操作性的拟解决方案。本文作者介绍了 Vivhttps://github.com/hms-dbmi/viv),一个开源生物成像可视化库,直接在 web 上支持 OME-TIFF 和 OME-NGFF。Viv 通过消除对服务器端渲染的依赖,解决了大多数基于 web 的生物成像查看器的一个关键限制,提供了一个灵活的工具包,无需安装软件即可在移动和桌面设备上浏览多 TB 数据集。

研究结果

Viv 的功能与流行的桌面生物成像应用程序更相似,不同于相应的 web 替代品(Supplementary Note 1)。大多数 Web viewers 需要将大型二进制数据文件预先转换为渲染的图像(PNG 或 JPEG),以便在浏览器客户端中显示。两种现有方法执行此步骤(服务器端渲染),但在渲染发生时间以及一次转换多少二进制数据方面有所不同(Fig. 1)。离线选项在将应用程序部署给用户之前执行所有渲染,这意味着所有通道分组和数据转换都是固定的,无法通过用户界面进行调整。在线选项支持按需、用户定义的渲染,但在探索数据转换时会引入延迟,并且需要主动维护复杂的服务器基础设施。这两种方法都没有提供灵活的解决方案来直接查看大型公共数据存储库中以开放格式保存的数据集,并且服务器端渲染引入的瞬态数据表示抑制了与其他可视化和分析软件的互操作性。

Fig.1 基于 web 的生物图像数据可视化和 Viv 特征的数据流和渲染方法概述
Fig.1 基于 web 的生物图像数据可视化和 Viv 特征的数据流和渲染方法概述

DT 表示数据转换为图像的位置。右栏显示 Viv 灵活的客户端渲染的子集,包括 multiscale 2D pyramids、magic lenses、3D volumes via raycasting。

Viv 实现纯粹的客户端渲染,将浏览器与服务器解耦,同时仍然提供按需多通道渲染的灵活性。现有的 Web viewers 也利用图形处理单元 (GPU) 加速渲染,但通常针对单通道体积数据集进行定制,最重要的是,缺乏为现有或新颖应用程序重用和组合功能的能力。相比之下,Viv 的模块化允许重新调整和扩展核心功能。该库由两个主要组件组成:(i) OME-TIFF 和 OME-NGFF 的数据加载模块,以及 (ii) 可在用户设备上呈现全位深度主要数据的可配置 GPU 程序。

Viv 的数据加载组件负责通过 HTTP 从二进制文件中获取和解码压缩通道数据的原子“chunks”。Viv 以 OME-TIFF 和 OME-NGFF 为目标,以满足生物成像界的多样化需求,并促进可交互操作的开放标准的使用。尽管 OME-TIFF 更为普遍,但其二进制布局和 metadata 模型限制太大,无法有效表示大容量和高维数据集。OME-NGFF 旨在解决这些限制,并且由于底层的多维 Zarr 格式 (https://doi.org/10.5281/zenodo.3773450),可以从云本地访问。Zarr 提供对各个 chunks 的直接访问,而 TIFF 需要寻求从不同平面访问 chunks,在读取具有大 c、t 或 z 维度的数据集时会引入较长的延迟。与基因组学中流行的方法类似,作者建议对 OME-TIFF 建立索引以改善随机 chunks 检索时间。作者的方法 Indexed OME-TIFF 提高了读取效率,并作为 OME-TIFF 的可选扩展实现 (https://doi.org/10.6084/m9.figshare.19416344)。

Viv 的图像层协调获取数据 chunks 和 GPU 加速渲染。所有渲染都发生在客户端 GPU 上,允许连续即时更新颜色映射、不透明度、通道可见性和仿射坐标变换等属性,而无需额外的数据传输。库用户可以使用自定义 WebGL 着色器修改渲染,这是 Viv 用来实现应用本地数据转换的 'magic lenses' 的功能:例如,重新缩放亮度或过滤特定通道。

由于所有渲染都转移到浏览器,Viv 不像以前的 Web viewers 那样依赖服务器来获取高度复用和多尺度的图像,从而使其灵活且能够嵌入到各种应用程序中 (https://doi.org/10.6084/m9.figshare.19416401)。作者通过 Imjoy 将 Viv 集成到 Jupyter Notebooks (https://github.com/hms-dbmi/vizarr) 中,以实现远程人机交互多模式图像配准工作流程和直接浏览 OME-NGFF 图像。Viv 也是 Vitessce 单细胞可视化框架成像组件的基础,展示了其与包括成像模式在内的其他模块化工具集成并为其提供动力的能力。最后,作者开发了 Avivator (http://avivator.gehlenborglab.org), 这是一个独立的图像查看器,展示了 Viv 丰富的功能集。

凭借其可扩展性和最低的部署要求,Viv 提供了一个新颖的工具包,可用于构建各种可重复使用的生物成像应用程序。它最适合显示高度多重和多尺度数据集的 2D 可视化,但也支持通过光线投射进行 3D 可视化。作者并不期望 Viv 取代现有的基于 web 的查看器,而是引导新一代基于 web 的可视化和分析工具来补充同样围绕可交互操作标准构建的桌面软件。


「结束」

注:本文为个人学习笔记,仅供大家参考学习,不得用于任何商业目的。如有侵权,请联系作者删除。

alt

本文由 mdnice 多平台发布

相关文章:

文献阅读:Viv:在 web 上多尺度可视化高分辨率多重生物成像数据

文献介绍 「文献题目」 Viv: multiscale visualization of high-resolution multiplexed bioimaging data on the web 「研究团队」 Nils Gehlenborg(美国哈佛医学院) 「发表时间」 2022-05-11 「发表期刊」 Nature Methods 「影响因子」 47.9 「DOI…...

SpringBoot整合Logback日志框架

Logback 是一个灵活而高效的日志框架,它是由 Ceki Glc 开发的,也是 Log4j 的创建者之一。Logback 旨在成为 Log4j 的替代品,并提供了一系列强大的功能和性能改进。 以下是 Logback 的一些主要特点和功能: 模块化结构:…...

知识图谱与人工智能:携手共进

知识图谱与人工智能:携手共进 一、引言:知识图谱与人工智能的融合 在这个数据驱动的时代,知识图谱与人工智能(AI)之间的融合不仅是技术发展的必然趋势,也是推动各行各业创新的关键。知识图谱,作…...

全栈的自我修养 ———— react实现滑动验证

实现滑动验证 展示依赖实现不借助create-puzzle借助create-puzzle 展示 依赖 npm install rc-slider-captcha npm install create-puzzleapi地址 实现 不借助create-puzzle 需要准备两张图片一个是核验图形,一个是原图------> 这个方法小编试了后感觉比较麻烦…...

<<、>>和>>>

1.左移操作符(<<&#xff09;: 左移操作符将数字的二进制表示向左移动指定的位数。右侧空出的位用0填充。左移操作相当于乘以2的幂。 例如&#xff1a; int num 4; // 二进制表示为 0100 int shifted num << 1; // 结果为 8&#xff0c;二进制表示为 10002.带…...

【C++进阶】RAII思想&智能指针

智能指针 一&#xff0c;为什么要用智能指针&#xff08;内存泄漏问题&#xff09;内存泄漏 二&#xff0c;智能指针的原理2.1 RAII思想2.2 C智能指针发展历史 三&#xff0c;更靠谱的shared_ptr3.1 引用计数3.2 循环引用3.3 定制删除器 四&#xff0c;总结 上一节我们在讲抛异…...

探索量子计算:打开未来技术的大门

在科技领域&#xff0c;每一次技术革命都能开启新的可能性&#xff0c;推动人类社会进入一个新的时代。当前&#xff0c;量子计算作为一种前沿技术&#xff0c;正引领着下一轮科技革命的浪潮。本文将深入探索量子计算的奥秘&#xff0c;解析其工作原理&#xff0c;并通过一个简…...

C++11 设计模式2. 简单工厂模式

简单工厂&#xff08;Simple Factory&#xff09;模式 我们从实际例子出发&#xff0c;来看在什么情况下&#xff0c;应用简单工厂模式。 还是以一个游戏举例 //策划&#xff1a;亡灵类怪物&#xff0c;元素类怪物&#xff0c;机械类怪物&#xff1a;都有生命值&#xff0…...

RabbitMQ-死信队列常见用法

目录 一、什么是死信 二、什么是死信队列 ​编辑 三、第一种情景&#xff1a;消息被拒绝时 四、第二种场景&#xff1a;. 消费者发生异常&#xff0c;超过重试次数 。 其实spring框架调用的就是 basicNack 五、第三种场景&#xff1a; 消息的Expiration 过期时长或队列TTL…...

2024/4/14周报

文章目录 摘要Abstract文献阅读题目创新点CROSSFORMER架构跨尺度嵌入层&#xff08;CEL&#xff09;CROSSFORMER BLOCK长短距离注意&#xff08;LSDA&#xff09;动态位置偏置&#xff08;DPB&#xff09; 实验 深度学习CrossFormer背景维度分段嵌入&#xff08;DSW&#xff09…...

MySQL 社区版 安装总结

很早就安装过MySQL&#xff0c;没有遇到过什么问题&#xff0c;直接next就行了&#xff0c;这次在新电脑上安装却遇到了一些问题&#xff0c;记录一下。 安装的是MySQL社区版&#xff0c;下载地址是www.mysql.com&#xff0c;进入后选择DOWNLOAD页面&#xff0c;选择MySQL Com…...

二叉排序树的增删改查(java版)

文章目录 1. 基本节点2. 二叉排序树2.1 增加节点2.2 查找&#xff08;就是遍历&#xff09;就一起写了吧2.3 广度优先遍历2.4 删除&#xff08;这个有点意思&#xff09;2.5 测试样例 最后的删除&#xff0c;目前我测试的是正确的 1. 基本节点 TreeNode: class TreeNode{pri…...

linux下coredump问题的定位分析方法

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu) 参考&#xff1a;https://blog.csdn.net/m0_73698480/article/details/130077852 最近定位了一段时间linux下的崩溃问题&#xff0c;又收集了一些思路&#xff0c;特整理记录一下。 常见coredump定位方法是&#xff1a…...

第十届蓝桥杯省赛真题(C/C++大学B组)

目录 试题 A: 组队 试题 B: 年号字串 试题 C: 数列求值 试题 D: 数的分解 试题 E: 迷宫 试题 F: 特别数的和 试题 G&#xff1a;完全二叉树的权值 试题 H&#xff1a;等差数列 试题 I&#xff1a;后缀表达式&#xff08;不一定对&#xff09; 试题 J&#xff1a;灵能…...

Scrapy 爬取m3u8视频

Scrapy 爬取m3u8视频 【一】效果展示 爬取ts文件样式 合成的MP4文件 【二】分析m3u8文件路径 视频地址&#xff1a;[在线播放我独自升级 第03集 - 高清资源](https://www.physkan.com/ph/175552-8-3.html) 【1】找到m3u8文件 这里任务目标很明确 就是找m3u8文件 打开浏览器…...

LVGL简单记录

1、 vs中代码旁边有个小锁删除git 2、Visual Studio 试图编译已删除的文件&#xff0c; 如果这个文件也是你不再需要编译的文件&#xff0c;且已经从文件系统中删除&#xff0c;你需要从 .vcxproj 文件中移除或者注释掉这一行&#xff0c;以停止Visual Studio尝试去编译一个不…...

计算机网络——ARP协议

前言 本博客是博主用于复习计算机网络的博客&#xff0c;如果疏忽出现错误&#xff0c;还望各位指正。 这篇博客是在B站掌芝士zzs这个UP主的视频的总结&#xff0c;讲的非常好。 可以先去看一篇视频&#xff0c;再来参考这篇笔记&#xff08;或者说直接偷走&#xff09;。 …...

【C++]C/C++的内存管理

这篇博客将会带着大家解决以下几个问题 1. C/C内存分布 2. C语言中动态内存管理方式 3. C中动态内存管理 4. operator new与operator delete函数 5. new和delete的实现原理 6. 定位new表达式(placement-new) 1. C/C内存分布 我们先来看下面的一段代码和相关问题 int global…...

深入理解计算机网络分层结构

一、 为什么要分层&#xff1f; 计算机网络分层的主要目的是将复杂的网络通信过程分解为多个相互独立的层次&#xff0c;每个层次负责特定的功能。这样做有以下几个好处&#xff1a; 模块化设计&#xff1a;每个层次都有清晰定义的功能和接口&#xff0c;使得网络系统更易于设…...

亚马逊云科技CTO带你学习云计算降本增效秘诀

2023亚马逊云科技一年一度的重磅春晚--Re:invent上有诸多不同话题的主题Keynote&#xff0c;这次小李哥带大家复盘来自亚马逊CTO: Wener博士的主题演讲: 云架构节俭之道1️⃣节俭对于云计算为什么重要&#xff1f; ▶️企业基础设施投入大&#xff0c;利用好降本策略可以减少巨…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...