如何确定NifTi文件的字节序

How do I determine the endianness of a NifTi file?

本文关键字:字节 文件 何确定 NifTi      更新时间:2023-10-16

我有一个NifTi文件,当我加载它时,值奇怪地分散在int_32的范围内。但是,当我通过NifTi Python绑定加载同一个文件时,值范围是不同的并且是正确的。(我知道这是正确的,因为文件(FSL)的生产者声称只产生该范围内的值。)因此,我想检查这些值是否真的存储在不同的endianness中(与其他文件相比),如果是,那么就正确地解释这些值。

您可以使用nifti_1_header结构中的第一个字段。它是sizeof_hdr,它包含头的大小(在我的情况下是一个348字节的结构,而不是三个较小的结构)。

只需读取头的前4个字节,它就应该是348(别名0x0000015C),如果它是用big-endian写的,那么你就会得到0x5C010000(所以在磁盘上,你会为little-endian读取5C 01 00 00,为big-endi安读取00 00 01 5C)。