python实现批量nii文件转换为png图像

之前介绍过单个nii文件转换成png图像:

https://www.jb51.net/article/165693.htm

这里介绍将多个nii文件(保存在一个文件夹下)转换成png图像。且图像单个文件夹的名称与nii名字相同。

import numpy as np
import os    #遍历文件夹
import nibabel as nib #nii格式一般都会用到这个包
import imageio   #转换成图像

def nii_to_image(niifile):
 filenames = os.listdir(filepath) #读取nii文件夹
 slice_trans = []

 for f in filenames:
  #开始读取nii文件
  img_path = os.path.join(filepath, f)
  img = nib.load(img_path)    #读取nii
  img_fdata = img.get_fdata()
  fname = f.replace('.nii','')   #去掉nii的后缀名
  img_f_path = os.path.join(imgfile, fname)
  #创建nii对应的图像的文件夹
  if not os.path.exists(img_f_path):
   os.mkdir(img_f_path)    #新建文件夹

  #开始转换为图像
  (x,y,z) = img.shape
  for i in range(z):      #z是图像的序列
   silce = img_fdata[i, :, :]   #选择哪个方向的切片都可以
   imageio.imwrite(os.path.join(img_f_path,'{}.png'.format(i)), silce)
            #保存图像

if __name__ == '__main__':
 filepath = 'nii的文件夹'
 imgfile = 'image的文件夹'
 nii_to_image(filepath)

代码是我自己写的,用于处理ADNI的nii格式完全有效。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Ubuntu+python将nii图像保存成png格式

    这里介绍一个nii文件保存为png格式的方法. 这篇文章是介绍多个nii文件保存为png格式的方法: https://www.jb51.net/article/165692.htm 系统:Ubuntu 16.04 软件: python 3.5 先用pip安装nibabel.numpy.imageio.os. import nibabel as nib import numpy as np import imageio import os def read_niifile(niifile): #读

  • python实现批量nii文件转换为png图像

    之前介绍过单个nii文件转换成png图像: https://www.jb51.net/article/165693.htm 这里介绍将多个nii文件(保存在一个文件夹下)转换成png图像.且图像单个文件夹的名称与nii名字相同. import numpy as np import os #遍历文件夹 import nibabel as nib #nii格式一般都会用到这个包 import imageio #转换成图像 def nii_to_image(niifile): filenames =

  • Python实现批量转换文件编码的方法

    本文实例讲述了Python实现批量转换文件编码的方法.分享给大家供大家参考.具体如下: 这里将某个目录下的所有文件从一种编码转换为另一种编码,然后保存 import os import shutil def match(config,fullpath,type): flag=False if type == 'exclude': for item in config['src']['exclude']: if fullpath.startswith(config['src']['path']+o

  • python 如何将office文件转换为PDF

    在平时的工作中,难免需要一些 小Tip 来解决工作中遇到的问题,今天的文章给大家安利一个方便快捷的小技巧,将 Office(doc/docx/ppt/pptx/xls/xlsx)文件批量或者单一文件转换为 PDF 文件. 不过在做具体操作之前需要在 PC 安装好 Office,再利用 Python 的 win32com 包来实现 Office 文件的转换操作. 安装 win32com 在实战之前,需要安装 Python 的 win32com,详细安装步骤如下: 使用 pip 命令安装 pip i

  • Python实现批量下载文件

    Python实现批量下载文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from gevent import monkey monkey.patch_all() from gevent.pool import Pool import requests import sys import os def download(url): chrome = 'Mozilla/5.0 (X11; Linux i86_64) AppleWebKit/537.36

  • python实现批量改文件名称的方法

    本文实例讲述了python实现批量改文件名称的方法.分享给大家供大家参考.具体分析如下: 发现python中提供了大量的模块函数,有时候一些系统操作在python中非常简单 下面的文件关键是要放到要操作的目录下, 下面是把当前目录下的图片批量命名,从00开始,其中小于10 的我们在名称前面补零,或者可以利用os设置路径 #-*- coding: UTF-8 -*- import os filenames = os.listdir(os.getcwd()) for name in filename

  • Python之批量创建文件的实例讲解

    批量创建文件其实很简单,只需要按照需要创建写文件.写完关闭当前写文件.创建新的写文件.写完关闭当前文件...不断循环即可,以下是一个简单例子,将大文件big.txt按照每1000行分割成一个个小文件. 具体做法如下: # -*- coding: utf-8 -*- index = 0 count = 0 f_in = open("%d.txt" % index, "w") with open("big.txt", "r") a

  • python scp 批量同步文件的实现方法

    该脚本用于将源主机列表路径下的所有文件同步于目标主机的/tmp下面 #!/usr/bin/python # -*- coding:utf-8 -*- import pexpect import os import os.path src_path = ['/tmp/', '/opt/', '/root/'] dest_host = "192.168.143.201" dest_path = "/tmp" for path in src_path: file_list

  • python 实现批量xls文件转csv文件的方法

    引言:以前写的一个批量xls转csv的python简单脚本,用的是python2.7 #coding=utf-8 import os import time import logging import xlrd import csv #xls文件存放路径 INPUTPATH= u"D:\\lsssl\\桌面\\xls文件" #生成的csv文件存放路径 OUTPATH = u"D:\\lsssl\桌面\\csv" class changeCenter: def __i

  • python实现npy格式文件转换为txt文件操作

    如下代码会将npy的格式数据读出,并且输出来到控制台: import numpy as np ##设置全部数据,不输出省略号 import sys np.set_printoptions(threshold=sys.maxsize) boxes=np.load('./input_output/boxes.npy') print(boxes) np.savetxt('./input_output/boxes.txt',boxes,fmt='%s',newline='\n') print('----

  • python实现批量移动文件

    本文通过实例为大家分享了python实现批量移动文件的具体代码,供大家参考,具体内容如下 任务:每个大文件夹下有许多小文件夹,将小文件夹里的pdf文件移动到指定文件夹.如图: 最终效果: 废话不多说 上源码: import os import shutil path_main = r"C:\Users\e2164\Desktop\待处理文件夹"#待处理文件夹路径 filelist_main = os.listdir(path_main) #将"待处理文件夹"下的文件

随机推荐