FastDiag Toolkit
高效的医学影像处理工具包
问题背景
在笔者投身医学图像AI领域的这些年里,深刻体会到这个学科的独特魅力与挑战。Python与PyTorch无疑已成为我们探索未知、构建模型的通用语言,推动着整个领域的飞速发展。我们站在巨人的肩膀上,python 生态中的 pydicom、SimpleITK、nibabel 等经典工具链为我们处理复杂的医学影像数据提供了可能,前人的卓越贡献值得我们每一个人致敬。
然而,我们也不得不承认,这些传统的轮子在面对今天的深度学习工作流时,显得有些“水土不服”。笔者和身边的许多同行,都曾或多或少地在一些基础问题上反复挣扎:老旧的数据格式与现代AI框架的接口难以严丝合缝地对接;新人需要耗费大量时间,在无数次踩坑和试错后,才能建立起对医学影像坐标系、数据加载等问题的基本认知。
更让人难受的是,这个领域的“说明书”实在太少了。除了3D Slicer等少数项目提供了相对完善的文档外,大量的关键内容都深埋在ITK和VTK庞杂的代码库深处。很多时候,我们为了定位一个看似简单的bug,不得不翻遍GitHub issue、stackoverflow、各路神仙的博客,从零散的讨论中拼凑出问题的成因。这种探索过程虽然不乏“解谜”的乐趣,但对于追求高效研发的我们而言,无疑是一种巨大的时间成本。
正是这些日常工作中的痛点,促使笔者开始思考:我们是否能有一套更现代、更高效、更符合AI时代开发习惯的基础工具,来将我们从这些重复性的泥潭中解放出来,从而能更专注于算法和模型本身的创新?这便是我们开发FastDiag Toolkit的初衷。
解决方案
FastDiag Toolkit 提供了三个核心库:
📦 DiCube - 医学影像存储库
高效的 3D 医学影像存储格式,dicom 的上位替代。
核心特性:
- 单文件存储(.dcbs),消除 dicom 零散化给文件系统的负担
- HTJ2K 无损压缩,3倍存储压缩,5倍速度提升
- 元数据去重,减少冗余信息
- 完整 DICOM 往返转换支持
🎭 MedMask - 医学掩膜处理库
专业的医学影像分割掩膜压缩和处理解决方案,nii.gz 的上位替代。
核心特性:
- 50+ 倍压缩比(Zstandard 算法)
- 16 倍读取速度提升
- 内嵌语义映射
- 支持多粒度器官组合和重叠掩膜
🌐 SpaceTransformer - 3D 空间变换库
优雅的 3D 医学影像几何变换处理方案,simpleitk 的上位替代。
核心特性:
- Space 优先几何抽象:通过形状/间距/原点/方向,自动推导精确坐标映射
- 规划与执行分离:在抽象的 space 上链式描述各种空间变换,实际变换只要单次采样
- 精准对齐零偏差:图像/掩膜/关键点严格一致,规避 align_corners 与轴序陷阱
- GPU 加速与生态互通:PyTorch 后端重采样
GitHub:
安装方法
# 分别安装各个库
pip install dicube
pip install medmask
pip install spacetransformer-core
pip install spacetransformer-torch # GPU 加速版本详细文档
欢迎查看左侧导航栏中的相关技术文档,深入了解各个库的实现细节和使用方法。
如需技术支持或贡献代码,请访问相应的 GitHub 仓库