Как записать информацию заголовка из изображения Nifti в CSV? - PullRequest
0 голосов
/ 24 марта 2020

Я новичок в обработке медицинских изображений. Я пытаюсь прочитать изображение Nifti и записать информацию заголовка в файл 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.

1 Ответ

1 голос
/ 03 апреля 2020

В настоящий момент я предполагаю, что вы хотите, чтобы вся информация заголовка была в том же стиле, который вы можете видеть при печати hdr, экспортируемого в csv. Вы можете создать список заголовков, а затем экспортировать его с помощью модуля 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()
...