[英]how to convert a nift folder to png images?
*圖書館
有一個從 NumPy 和 imageio import NumPy as np import os import nibabel as nib import imageio // 方法我寫代碼將 nift 轉換為 png
Method convert a nift(.nii) image to png image def nii_to_image(niifile): filenames = os.listdir(filepath) #read nii folder slice_trans = [] #filename是nii image的路徑
for f in filenames:
#Start reading nii files
img_path = os.path.join(filepath, f)
img = nib.load(img_path) #read nii
img_fdata = img.get_fdata()
fname = f.replace('.nii','')
# Remove the nickname of nii
img_f_path = os.path.join(imgfile, fname)
#Create a folder corresponding to the image of nii
if not os.path.exists(img_f_path):
os.mkdir(img_f_path) #New folder
# to image
(x,y,z) = img.shape
for i in range(z): #x is the sequence of images
silce = img_fdata[i, :, :] #Select which direction the slice can be
imageio.imwrite(os.path.join(img_f_path,'{}.png'.format(i)), silce) #Save image
#main function where fill path was gived
主要的
if __name__ == '__main__':
filepath = '/content/drive/MyDrive/sem 8/dataset/pr'
imgfile = '/content/drive/MyDrive/sem 8/dataset/propi'
nii_to_image(filepath)
像您一樣將 nifti 文件加載為 NumPy 數組后,在每個切片(來自 img.shape 的 z)上運行,然后將數組保存到 png。
確保在每個切片上運行時只保存現有切片(z_slice_number):
slice = img_fdata[:, :, z_slice_numer]
要保存此切片,您可以執行以下操作(或此處的其他方式):
matplotlib.image.imsave('name.png', slice)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.