在处理图像的过程中,遇到很多NRRD格式的文件。有一些程序需要读取特定的头文件信息来进行处理,所以,在这里,对部分NRRD头文件的参数进行说明。
- 示例图像出处:
http://download.alleninstitute.org/informatics-archive/current-release/mouse_ccf/average_template/average_template_25.nrrd - 图像处理软件Fiji:
https://fiji.sc/
下载示例图像,在Fiji中打开,可以看到一幅二维图像。
接着,查看NRRD的头文件。在Fiji中,选择“Image/Show Info”。
从头文件中可以发现,NRRD格式显式地保存了图像的基本信息。
我们可以按行依次查看:
- Line 1: NRRD0004
表示NRRD格式的版本,不同的版本在保存信息上存在差异。 - Line 2 and 3 # 开头,代表注释
标注NRRD标准格式的网站,对某些细节感兴趣的读者,可以自己去探索。 - Line 4: type: unsigned short
表示文件存储数据的数字范围,这里表示图像的像素值范围在0-255。 - Line 5: dimension: 3
表示图像是三维的 - Line 6: space: left-posterior-superior
表示物理空间的坐标系 - Line 7: sizes: 528 320 456
表示图像在每个坐标中的像素个数。此时可以参照图1的大小和左上角的显示信息。
这里需要注意的是,与Matlab中保存三维矩阵不同,这里的528代表的是图像长度(从左到右),对应Matlab三维矩阵的列方向(column);320代表的是图像的宽度(从上到下),对应Matlab三维矩阵的行方向(row)。
如果,我们利用Matlab三维矩阵来保存这幅图像,那么我们需要的三维矩阵应该初始化为data=zeros([320, 528, 456]);
- Line 8: space directions: (25,0,0) (0,25,0) (0,0,25)
代表了图像中的坐标空间与物理空间的对应关系。
space,space directions和space origin一起组成了,像素空间到物理空间的映射矩阵,如下图所示
图片来源:
https://slideplayer.com/slide/9866429/
https://www.na-mic.org/wiki/NAMIC_Wiki:DTI:Nrrd_format