ZS Viewer
ZS Viewer 是 ZEMStudio 中的高性能图像查看器插件,专门设计用于浏览超大尺寸图像(支持高达 100 亿像素)。
功能特性
- 超大图像支持: 使用 OpenSeadragon + DZI 金字塔技术,流畅查看 100 亿像素级别的图像
- TIFF/BigTIFF 支持: 原生支持电子显微镜常用的 TIFF 和 BigTIFF 格式
- 两种加载模式:
- 预处理模式: 将大图预先转换为 DZI 金字塔结构,后续加载极快
- 实时模式: 按需动态生成瓦片,无需等待预处理
- 高性能架构: LRU 缓存、瓦片预加载、并发控制
- 流畅浏览体验: 平滑缩放、拖拽导航、导航器缩略图
系统要求
- VS Code / ZEMStudio 1.85.0 或更高版本
- Node.js 18.0 或更高版本
- 建议 8GB+ 内存(处理超大图像时)
安装
# 安装依赖
npm install
# 编译
npm run compile
使用方法
方式一:命令面板
- 按
Ctrl+Shift+P 打开命令面板
- 输入 "ZS Viewer: Open Image"
- 选择要打开的 TIFF 文件
方式二:右键菜单
- 在文件资源管理器中右键点击 TIFF 文件
- 选择 "Open with ZS Viewer"
配置选项
| 设置项 |
默认值 |
说明 |
zsViewer.tileSize |
512 |
瓦片大小(像素) |
zsViewer.jpegQuality |
85 |
JPEG 压缩质量 (50-100) |
zsViewer.cacheDirectory |
工作区/.zs_viewer_cache |
DZI 缓存目录 |
zsViewer.maxConcurrentTiles |
8 |
最大并发瓦片生成数 |
zsViewer.enableRealTimeMode |
true |
启用实时瓦片生成 |
技术架构
┌─────────────────────────────────────────────────────┐
│ VS Code Extension │
├─────────────────────────────────────────────────────┤
│ Extension Host │
│ ├── Image Processor (sharp/libvips) │
│ ├── Local Tile Server (Express) │
│ └── Webview Manager │
├─────────────────────────────────────────────────────┤
│ Webview Panel │
│ ├── OpenSeadragon │
│ └── Custom TileSource │
└─────────────────────────────────────────────────────┘
开发
# 监听模式编译
npm run watch
# 代码检查
npm run lint
# 打包扩展
vsce package
许可证
MIT License
| |