精华内容
下载资源
问答
  • NIfTI.jl:用于写入NIfTI MRI文件的Julia模块
  • NIfTI——MATLAB.rar

    2021-09-06 11:19:17
    MATLAB Nifti程序包用于写入、读取和处理医学影像
  • Nifti1Image 初始化nifti 图像数据

    千次阅读 2019-12-31 16:44:30
    Nifti1Image classnibabel.nifti1.Nifti1Image(dataobj,affine,header=None,extra=None,file_map=None) Bases:nibabel.nifti1.Nifti1Pair,nibabel.filebasedimages.SerializableImage Class for single fi...

    Nifti1Image

    class nibabel.nifti1.Nifti1Image(dataobjaffineheader=Noneextra=Nonefile_map=None)

    Bases: nibabel.nifti1.Nifti1Pairnibabel.filebasedimages.SerializableImage

    Class for single file NIfTI1 format image

    Initialize image

    The image is a combination of (array-like, affine matrix, header), with optional metadata in extra, and filename / file-like objects contained in the file_map mapping.

    Parameters

    dataobjobject

    Object containg image data. It should be some object that retuns an array from np.asanyarray. It should have a shape attribute or property

    affineNone or (4,4) array-like

    homogenous affine giving relationship between voxel coordinates and world coordinates. Affine can also be None. In this case, obj.affine also returns None, and the affine as written to disk will depend on the file format.

    headerNone or mapping or header instance, optional

    metadata for this image format

    extraNone or mapping, optional

    metadata to associate with image that cannot be stored in the metadata of this image type

    file_mapmapping, optional

    mapping giving file information for this image format

    以上代码将image.nii文件读取到img中,imgnibabel.nifti1.Nifti1Image类型的。 一个nibabel.nifti1.Nifti1Image类型的数据包含三个主要的部分 - image data array 存放图像数据的矩阵 - an affine array 定义了图像数据在参考空间的位置 - image metadata 存放图像的一些属性信息,采集设备名称,体素的大小,扫描层数等等。 >image data array 虽然存储了每个体素的取值信息,但是并没有存储位置信息。也就是说我们并不知道某个体素来自由大脑哪个具体的位置 >affine数组定义了一个从image data array 到标准的参考空间的映射,每个体素经过这个数组映射后都会到一个标准的参考空间,在那个空间中,我们精确的知道每个体素所处的位置。 >结构像和功能像扫描的区域和方向均有所差异,所以都需要使用affine数组映射到参考空间,以确定体素在真实大脑中的位置 ### 显示数据

    展开全文
  • NIfTI是用于在Ruby中处理NIfTI数据的纯Ruby库。 NIfTI是一种图像格式,主要用于MRI和PET成像数据的存储和分析。 Ruby NIfTI当前支持对NIfTI文件的基本访问,包括基本和扩展头信息以及图像信息。 它不会尝试触摸图像...
  • oro.nifti-源码

    2021-04-01 05:55:11
    oro.nifti R包oro.nifti包含用于输入/输出和可视化医学成像数据的函数,这些函数遵循ANALYZE,NIfTI或AFNI格式。 该软件包是捆绑包的一部分。
  • NIfTI_20140122.rar

    2021-02-23 05:04:44
    NIfTI_20140122.rar
  • DICOM to NIfTI是一款能够将DICOM图像转换为NIFTI格式的软件,软件支持批量转换,能够将常见的医学图像NIfTI文件转换为RAW、JPEG、JPEG 2000、JPEG- ls、RLE和大多数DICOM格式。功能介绍 将DICOM图像转换为NIFTI...
  • Nifti-Drop 在开发中的浏览器中读取nifti和nidm文件 查看nifti的标题详细信息 交互式坐标浏览 将图像保存到文件(导出) 查看nidm结果 将用于nidm和大脑成像图标 版本号 静态本地 存储库的基本结构(包括 , , ,...
  • 用于 NIfTI 和分析 (img/hdr) 图像可视化、编辑和 3D 渲染的 Matlab 工具箱。 查看https://github.com/elayden/NIfTI-Studio 上的自述文件,了解更多信息、安装说明和示例。
  • JNIfTI 工具箱 - 快速便携的 NIfTI-1/2 阅读器和 NIfTI-to-JNIfTI 转换器-------------------------------------------------- ------------------------------ 版本:0.5(升腾) 网址: ... [更新 10/11/2019] JNIfTI...
  • matlab图片叠加的代码NIfTI工作室 用于NIfTI和Analyze(img / hdr)图像可视化,编辑和3D渲染的Matlab工具箱 引用: EA莱登(2020年)。 NIfTI-Studio:用于NIfTI并分析图像可视化,编辑和3D渲染的Matlab工具箱。 ...
  • 基石-nifti-image-loader 用于基石库的神经影像信息学技术倡议 (NIfTI) 图像加载器 在本地运行 使用两个终端: npm run webpack:watch在一个终端中npm run webpack:watch npm run dev在第二个 发布 这个库使用...
  • dicom2nifti 将 DICOM 文件转换为 NIfTI 格式并为 DTI 文件创建梯度表。 对于 DTI 文件,会生成两个表:原始梯度表(在扫描仪坐标中)和旋转梯度表(在患者坐标中)。 可以消除特定的梯度方向和/或切片。 dicom2...
  • niftilib是用于nifti1神经图像数据格式的I / O例程的集合。 可以使用C(nifticlib),Java(niftijlib),Matlab(niftimatlib)和Python(pynifti)代码。 有关nifti格式的信息,请参见:...
  • matlab图片叠加的代码nifti_tools 这是Jimmy Shen最受欢迎的NIFTI工具的GitHub版本。 它作为存储库添加到此处,以允许将其添加到子模块中。 所有学分归沉吉米(Jimmy Shen)所有: 用于NIfTI和ANALYZE图像的工具...
  • 请始终查看 NIfTI_tools.pdf 以获取详细说明和最新更新。 如果您对 ANALYZE 图像的左/右感到困惑,请阅读 UseANALYZE.pdf。 您可能还想浏览 FAQ.pdf 以获得实用的解决方案和真实的例子。 基本程序: 1. load_...
  • Nifti 3D 查看器基于 Jimmy Shen(#8797) 所做的工作添加了一些新功能: 1 从树视图文件浏览器打开文件(菜单:文件 -> 文件浏览器) 2 支持滚轮切换视图3 单击按住并左移按钮更改视图,而不是多次单击4 使用右键(当...
  • nrrd文件格式转NIFTI

    2021-10-12 11:07:51
    nrrd文件格式转NIFTI1、NRRD批量转换成NIFTI2、Python SimpleITK读取nii.gz文件3、nii.gz格式 1、NRRD批量转换成NIFTI nii与nii.gz格式的关系 标准NIfTI图像的扩展名是.nii,包含了头文件及图像资料。由于NIfTI格式...

    1、NRRD批量转换成NIFTI

    nii与nii.gz格式的关系
    标准NIfTI图像的扩展名是.nii,包含了头文件及图像资料。由于NIfTI格式和Analyze格式的关系,因此NIfTI格式也可使用独立的图像文件[.img]和头文件[.hdr]。单独的.nii格式文件的优势就是可以用标准的压缩软件[如gzip],而且一些分析软件包[比如FSL]可以直接读取和写入压缩的.nii文件[扩展名为.nii.gz]。

    简而言之,nii格式和.nii.gz格式是一个东西,freesurfer中可以直接调用除了dicom和.nii.gz也可以直接调用.nii
    3D slicer, MITK默认会将医学图像保存为格式为NRRD的图像,但是我们还是习惯于操作NIFTI格式的数据,于是就有了NRRD转换成NIFTI的需求。
    代码中baseDir可以修改成指定的目录,files里面*后面的部分,改为自己匹配的文件名。

    import os
    from glob import glob
    import numpy as np
    import vtk
    
    
    def readnrrd(filename):
        """Read image in nrrd format."""
        reader = vtk.vtkNrrdReader()
        reader.SetFileName(filename)
        reader.Update()
        info = reader.GetInformation()
        return reader.GetOutput(), info
    
    
    def writenifti(image,filename, info):
        """Write nifti file."""
        writer = vtk.vtkNIFTIImageWriter()
        writer.SetInputData(image)
        writer.SetFileName(filename)
        writer.SetInformation(info)
        writer.Write()
    
    
    if __name__ == '__main__':
        baseDir = os.path.normpath(r'G:/aurora-nrrd/')
        files = glob(baseDir+'/*label.nrrd')
        for file in files:
            m, info = readnrrd(file)
            writenifti(m,  file.replace('label.nrrd', 'label.nii'), info)
    

    参考:NRRD批量转换成NIFTI

    2、Python SimpleITK读取nii.gz文件

     
    import SimpleITK as sitk
    labelImage = sitk.ReadImage(in_file) #in_file是nii.gz文件的路径
    imag_results = sitk.GetArrayFromImage(labelImage)
    spacing = labelImage.GetSpacing()
    origin = labelImage.GetOrigin()
    print('spacing is:', spacing) # spacing和orgin是写入的内容
    print('origin is:', origin)
    

    参考:Python SimpleITK读取nii.gz文件

    3、nii.gz格式

    nii.gz格式是医学图像常用的压缩格式,python中可用nibabel和sitk来读取保存。

    使用nibabel
    由于使用nibabel图像会旋转90度,所以读取保存的时候还得保存映射信息,3维图像格式为(z, x, y)

    读取nii.gz文件

    img = nib.load('xxxxx.nii.gz')
    img_affine  = img.affine
    img = img.get_data()
    
    

    保存nii.gz文件

    nib.Nifti1Image(img,img_affine).to_filename('xxxxx.nii.gz')
    
    

    使用sitk
    使用sitk读取nii时,读取出来的还是图片格式,可以使用他自带的函数进行处理,不过速度比较慢,建议使用GetArrayFromImage转换成numpy格式再处理,3维图像格式为(x, y, z)

    读取nii.gz文件

    img = sitk.ReadImage('xxxxx.nii.gz')
    img = sitk.GetArrayFromImage(img)
    
    

    保存nii.gz文件

    out = sitk.GetImageFromArray(img)
    sitk.WriteImage(out,'xxxxx.nii.gz')
    
    

    在numpy数组和nibabel或sitk中相互转换时,要注意数据的格式,一般保存为int或uint类型。比如输入nii为16位有符号整型时,我们可能需要转换成0~255灰度图,可用如下代码:

    img = sitk.ReadImage('xxxxx.nii.gz')
    img = sitk.Cast(sitk.RescaleIntensity(img),sitk.sitkUInt8)
    img = sitk.GetArrayFromImage(img)
    
    

    参考:python使用nibabel和sitk读取保存nii.gz文件

    展开全文
  • 1.NIFTI格式图像图像来源 很有必要自己浏览这个网址,详细介绍了NIFTI的细节 有助于代码理解的点做以下总结: nifti格式存储的数据使用了一对文件**.hdr/.img** nifti格式中,前三个维度以定义三个空间维度-x,-y和-...
  • i) 将西门子 MR 扫描仪 (IMA) 数据分类到目录中,从文件中删除患者姓名,并稍微匿名(仅 PatientName 字段,但不包括 DOB、性别、PatientID 等) ii) 转换为一个文件 (.nii) 或两个文件 (.img, .hdr) NIfTI 格式...
  • DICOM 到 NIfTI 的转换,NIfTI 工具
  • Nifti1Image图像可以用nibabel或者SimpleITK来读。 用nibabel读取的时候,可以把image.nii文件读到image中,img是nibabel.nifti1.Nifti1Image类型的。一个nibabel.nifti1.Nifti1Image类型的数据包含三个主要的部分...

    Nifti1Image图像可以用nibabel或者SimpleITK来读。
    用nibabel读取的时候,可以把image.nii文件读到image中,img是nibabel.nifti1.Nifti1Image类型的。一个nibabel.nifti1.Nifti1Image类型的数据包含三个主要的部分——image data array,这是存放图像数据的矩阵,an affine array定义了图像数据在参考空间的位置,image metadata存放图像的一些属性信息,采集设备名称,体素的大小,扫描层数等等。
    image data array虽然存储了每个体素的取值信息,但是并没有存储位置信息。也就是说我们并不知道某个体素来自一个部位具体的位置,affine数组定义了一个从iamge data array到标准的参考空间的映射,每个体素经过这个数组映射后都会到一个标准的参考空间,在这个标准的参考空间中,我们精确地知道每个体素所处的位置

    利用nibabel读取img

    import nibabel as nib
    path = r'nifti1Image文件所在的路径'
    img = nib.load(path)
    img_data = np.array(img.get_fdata())  # image data array
    img_affine = img.affine  # iamge affine array
    # 保存x,y,z三个方向上的分辨率
    pix_dimx = img.header.structarr['pixdim'][1]
    pix_dimy = img.header.structarr['pixdim'][2]
    pix_dimz = img.header.structarr['pixdim'][3]
    

    利用SimpleITK读取img

    import SimpleITK as sitk
    path = r'nifti1Image文件所在的路径'
    img = sitk.ReadImage(path)
    img = sitk.GetArrayFromImage(img)
    
    展开全文
  • 如何读取NIFTI格式图像(.nii文件)

    万次阅读 多人点赞 2019-09-01 09:08:36
    在医学图像处理中,我们经常使用一种NIFTI格式图像(.nii文件),现在我们来看看 什么是.nii文件? 该如何读取.nii文件? 1. NIFTI格式图像 什么是NIFTI(Neuroimaging Informatics Technology ...

    在医学图像处理中,我们经常使用一种NIFTI格式图像(.nii文件),现在我们来看看

    1. 什么是.nii文件?
    2. 该如何读取.nii文件?

    1. NIFTI格式图像

    1. 什么是NIFTI(Neuroimaging Informatics Technology Initiative)格式图像?
      在讲解什么是NIFTI格式之前,得先了解一下Analyze格式。Analyze格式储存的每组数据组包含2个文件,一个为数据文件,其扩展名为.img,包含二进制的图像资料;另外一个为头文件,扩展名为.hdr,包含图像的元数据。在fMRI的早期,Analyze格式最常用的格式,但现在逐渐被NIFTI格式所取代。Analyze格式主要不足就是头文件不能真正反映元数据。
      标准NIFTI图像的扩展名是.nii,也包含了头文件及图像资料。由于NIFTI格式和Analyze格式的关系,因此NIFTI格式也可使用独立的图像文件(.img)和头文件(.hdr)。单独的.nii格式文件的优势就是可以使用标准的压缩软件(如gzip)进行压缩,而且一些分析软件包(比如FSL)可以直接读取和写入压缩的.nii文件(扩展名为.nii.gz)。

    2. 为什么会出现NIFTI格式图像?
      原来的ANALYZE 7.5 format图像格式缺少一些信息,比如没有方向信息,病人的左右方位等,如果需要包括额外的信息,就需要一个额外的文件,比如ANALYZE 7.5就需要一对<.hdr, .img>文件来保存图像的完整信息。因此,解决这个问题Data Format Working Group (DFWG) 将图像格式完整的定义为NIFTI格式。

    详细了解NIFTI格式请参见: https://brainder.org/2012/09/23/the-nifti-file-format/

    2. 读取NIFTI格式图像

    2.1 ITK-SNAP

    推荐ITK-SNAP下载地址:http://www.itksnap.org/pmwiki/pmwiki.php?n=Downloads.SNAP3
    在这里插入图片描述
    可以看到:itk-snap获得了分别来自三个角度的视图(水平面、矢状面、冠状面)
    在这里插入图片描述

    2.2 itkwidgets

    详细请参见:https://pypi.org/project/itkwidgets/
    在这里插入图片描述可以查看各个视图的截面:
    在这里插入图片描述

    如果显示不了图像请参考:https://www.jianshu.com/p/0757521cdf3e

    2.3 simpleITK

    这是使用最多的一种图像处理工具

    import SimpleITK as sitk
    from matplotlib import pyplot as plt
     
    def showNii(img):
        for i in range(img.shape[0]):
            plt.imshow(img[i,:,:],cmap='gray')
            plt.show()
     
    itk_img = sitk.ReadImage('./Brats18_2013_2_1_flair.nii.gz')
    img = sitk.GetArrayFromImage(itk_img)
    print(img.shape)    # (155, 240, 240) 表示各个维度的切片数量
    showNii(img)
    

    在这里插入图片描述

    2.4 Nibabel

    import matplotlib
    matplotlib.use('TkAgg')
     
    from matplotlib import pylab as plt
    import nibabel as nib
    from nibabel import nifti1
    from nibabel.viewers import OrthoSlicer3D
     
    example_filename = './Brats18_2013_2_1_flair.nii.gz'
     
    img = nib.load(example_filename)
    print (img)
    print (img.header['db_name'])   # 输出头信息
    
    # 由文件本身维度确定,可能是3维,也可能是4维 
    width,height,queue=img.dataobj.shape
     
    OrthoSlicer3D(img.dataobj).show()
     
    num = 1
    for i in range(0,queue,10):
     
        img_arr = img.dataobj[:,:,i]
        plt.subplot(5,4,num)
        plt.imshow(img_arr,cmap='gray')
        num +=1
     
    plt.show()
    

    在这里插入图片描述

    展开全文
  • 主要介绍了使用SimpleITK读取和保存NIfTI/DICOM文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • dcm2niix旨在将神经影像数据从DICOM格式转换为NIfTI格式。 该网页包含开发源代码包含Linux,MacOS和Windows的最新稳定版本的编译版本。 该软件的完整手册以的形式提供。 执照 该软件是开源的。 BSD许可证涵盖了大...
  • 【2】NIFTI图像格式

    2021-04-30 18:00:36
    .nii文件是NIFTI格式的文件,出现的原因是原来一种图像格式是ANALYZE 7.5 format,但是这个图像格式缺少一些信息,比如没有方向信息,病人的左右方位等,如果需要包括额外的信息,就需要一个额外的文件,比如ANALYZE...
  • 医学图像笔记(二)NIFTI数据格式1、NIFTI格式的基本内容2、python读取.nii.gz文件 1、NIFTI格式的基本内容 “神经成像信息技术创新”将NIFTI格式视为ANALYZE7.5格式的替代品。NIFTI最初是用于神经成像的,但它也...
  • dcm2niix, dcm2nii到NIfTI转换器 dcm2niix是一种设计用来将neuroimaging数据从DICOM格式转换为NIfTI格式的设计。 这个网页承载开发源代码- - Linux 。macOS 和最近稳定版本的编译版本都包含在 MRIcroGL 。 这个软件
  • 3D 图像的微分形态配准,以及多种工具。... 它使用非压缩的 nifti 图像 (.nii) 工作。 在 linux ubuntu 和 mac OSX 下用 gcc 编译成功。 新:在 Windows 下使用 MS Visual C++ 2010 成功编译 19/09/12(修订版 46)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 902
精华内容 360
关键字:

nifti