医学图像笔记(二)nrrd数据格式
1、nrrd数据格式
灵活的NRRD格式中包含了一个单个的数据头文件和既能分开又能合并的图像文件。一个NRRD数据头能够为科学可视化和医学图像处理准确地表示N维度的栅格信息。“国家医学图像计算联盟”(NA-MIC)开发了一种用NRRD格式来表示“扩散加权图像”(DWI)和“扩散张量图像”(DTI)的方法。NRRD的“扩散加权图像”和“扩散张量图像”数据可以被解读为一个“3D切片机”,能够直观地确定张量图像的方向与神经解剖的预期是一致的。 一个NRRD文件的大致格式(带有数据头)如下图所示:
2、python读取nrrd数据
需要安装pynrrd
pip install pynrrd
测试程序:
# -*- coding : UTF-8 -*-
# @file : rd_wt_nrrd.py
# @Time : 2021-09-14 17:01
# @Author : wmz
import numpy as np
import nrrd
if __name__ == "__main__":
# Some sample numpy data
filename = './img/test.nrrd'
#
# # Write to a NRRD file
# nrrd.write(filename, data)
# Read the data back from file
readdata, header = nrrd.read(filename)
print(readdata.shape)
print(header)
对于图像处理处理数据本身外,还可以使用的信息包括:
数据类型 | type |
---|---|
维度信息 | dimension |
坐标系信息 | left-posterior-superior |
尺寸信息 | sizes |
方向信息 | space directions |
原点信息 | space origin |
输出信息:
(128, 128, 256)
OrderedDict([('type', 'int'), ('dimension', 3), ('space', 'left-posterior-superior'), ('sizes', array([128, 128, 256])), ('space directions', array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])), ('kinds', ['domain', 'domain', 'domain']), ('endian', 'little'), ('encoding', 'raw'), ('space origin', array([-154.5, -30.5, -732. ]))])
调试信息: