如何将 Nifti 图像中的 header 信息写入 csv?
How to write the header information from a Nifti image into a csv?
我是医学图像处理的新手。我正在尝试读取 Nifti 图像并将 header 信息写入 csv 文件。
import nibabel as nib
img = nib.load("xxx.hdr.gz")
hdr = img.header
print(hdr)
<class 'nibabel.nifti1.Nifti1PairHeader'> object, endian='>'
sizeof_hdr : 348
data_type : b''
db_name : b''
extents : 0
session_error : 0
regular : b'r'
dim_info : 0
dim : [ 3 91 109 91 1 1 1 1]
...............
现在我该如何设法将这些信息保存到 csv 文件中?当我将数据输入 Numpy 时,它是一个 3 维 numpy,但是将此信息保存为 csv 格式的正确方法是什么。
目前我假设您希望所有 header 信息的样式与打印 hdr 导出到 csv 时看到的样式相同。您可以创建一个 header 列表,然后使用 csv python 模块将其导出。
import nibabel as nib
import csv
img = nib.load("xxx.hdr.gz")
hdr = img.header
print(hdr)
# Get all header data into list.
header = [(_key) for _key in nib_file.header]
headers_data = []
headers_data.append([img.header[_key] for _key in img.header])
# Write all headers from header into csv.
csv_file = open('headers.csv', mode='w')
csv_file_writer = csv.writer(csv_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
csv_file_writer.writerow(header)
for header_data in headers_data:
csv_file_writer.writerow(header_data)
csv_file.close()
我是医学图像处理的新手。我正在尝试读取 Nifti 图像并将 header 信息写入 csv 文件。
import nibabel as nib
img = nib.load("xxx.hdr.gz")
hdr = img.header
print(hdr)
<class 'nibabel.nifti1.Nifti1PairHeader'> object, endian='>'
sizeof_hdr : 348
data_type : b''
db_name : b''
extents : 0
session_error : 0
regular : b'r'
dim_info : 0
dim : [ 3 91 109 91 1 1 1 1]
...............
现在我该如何设法将这些信息保存到 csv 文件中?当我将数据输入 Numpy 时,它是一个 3 维 numpy,但是将此信息保存为 csv 格式的正确方法是什么。
目前我假设您希望所有 header 信息的样式与打印 hdr 导出到 csv 时看到的样式相同。您可以创建一个 header 列表,然后使用 csv python 模块将其导出。
import nibabel as nib
import csv
img = nib.load("xxx.hdr.gz")
hdr = img.header
print(hdr)
# Get all header data into list.
header = [(_key) for _key in nib_file.header]
headers_data = []
headers_data.append([img.header[_key] for _key in img.header])
# Write all headers from header into csv.
csv_file = open('headers.csv', mode='w')
csv_file_writer = csv.writer(csv_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
csv_file_writer.writerow(header)
for header_data in headers_data:
csv_file_writer.writerow(header_data)
csv_file.close()