山哥的岛屿:
医疗图像处理算法、优化算法分享.....
医学影像之LPS坐标系
对于医学影像, 算法处理的坐标系为真实物理坐标, 具有长度、方向等物理性质, 本文将介绍如何获得 voxel 离散坐标 IJK 与物理坐标 xyz 之间的相关转换关系.
按照人体的位置我们可以定义6个方向: 左右 Left-Right, 前后 Anterior-Posterior 以及上下 Superior-Inferior. 规定 Left, Posterior 以及 Superior 方向分别为标准正交坐标系的 +x +y 和 +z 方向.
MeVisLab Filter可视化助手
MeVisLab 是一款强大的医学图像处理软件, 是医疗 CT 图像领域快速原型开发平台, 该软件针对学术研究和个人学习是免费自由使用的, 可详见其官方网站:
https://www.mevislab.de/.
MeVisLab 的最主要功能之一正是, 将前文中提到的 ITK VTK 通过 C++ 代码构建 pipeline 的过程进行了无代码化、可视化、易交互化. 其中包括360多 ITK 模块、1470个 VTK 模块, 基本涵盖了所有的医学图像处理算法: 图像分割、模态学、区域增长、磨光等.
MeVisLab 可以帮助我们快速实现 “灵光闪现” 的一些想法, 免去了搭建 ITK VTK 环境和编写 C++ 代码、调试运行的繁琐过程; 同时, 也方便了我们做一些算法上的快速验证和结果预览; 也很适合科研工作组的 PPT 制作以及论文的撰写.
但是 MeVisLab 确实无法用于生产环境, 其一是由于商业化的过程会触及该软件版权的一些法律问题; 另一方面就是在工程化部署时, 处理速度太慢. 平常用来做渲染还是不错的选择, 毕竟 3D 渲染几乎不逊色于一般的 3D 建模软件.
因此, 我们在项目或者科研的前期, 可以使用 MeVisLAb 来验证、测试、调配各种算法的思路, 一旦得到可以接受的结果, 则使用 ITK VTK 复现 GUI 中 pipeline 的全部过程即可.
AMIDE 数据可视化工具
对于二维的自然影像, 我们通常使用 PNG JPG 的格式保存, 并使用常规的视图软件查看.
但对于三维的医学影像该如何查看横断面、冠状面、矢状面的图像? 之前的文章介绍过, 常用的医学影像格式有 DICOM NIFTI MHD NRRD等, 有很多商用软件或者开源软件均可以查看这些格式的影像数据. 其中 3D Slicer 是一款非常值得推荐的开源医学影像查看工具, 其实它的功能不仅仅在于图像查看, 还包含了大部分 VTK ITK 的功能以及一大批优秀的第三方插件, 以后有机会可以详细介绍这些功能.
然而在图像算法的调试中或者最终的输出结果时, 时常会使用 raw 二进制(Binary) 数据格式, 其优势在于不依赖其他工具库即可快速将数据记录保存.
Amide: A Medical Image Data Examiner.
读入文件的 bytes 和我们填入的图像尺寸计算得到 bytes 是匹配的! 成功读入数据后, 可在界面里看到三视图.
Normalized Gradient Fields网格影像配准
Normalized Gradient Fields 归一化梯度场是多模态影像配准中一类非常有效的度量
通过图像梯度检测图像强度变化. 由于梯度的大小取决于图像的模态, 因此它将是 基于梯度幅度进行图像相似性度量是不明智的. 因此, 我们 考虑归一化梯度场, 即局部方向, 注意到它纯粹是几何信息.
另一方面, 对于一三角网格曲面T(x), 其三角面片的法方向, 即曲面的近似法方向m. 该方向某种意义也是其水平集的归一化梯度场.
因此我们可以将这两个梯度的"重合程度"视作融合的标准度量. 考虑到向量的重合度可以使用cos夹角的最大化.