【问题标题】:How to compute the volume of a single voxel of nifti medical image?如何计算 nifti 医学图像的单个体素的体积?
【发布时间】:2020-06-03 21:50:30
【问题描述】:

我已经使用 nibabel 工具加载了一个 nifti 图像文件,并且我已经使用了一些属性。 但我不知道如何计算单个体素的体积(以 mm³ 为单位)。

【问题讨论】:

  • 欢迎来到 Stack Overflow!请使用tour 并阅读How to Ask。请edit 发布您自己的努力来解决这个问题。后者最好在代码中,这称为minimal reproducible example
  • 计算单个体素的体积(以 mm³ 为单位)您可以计算每个切片中的像素数,然后您相乘 您的像素以 像素间距 计算,如果您可以提供您用于读取数据的代码、您的数据样本以及您想要计算其体积的器官的详细信息它,那么也许我可以提供更多帮助。

标签: volume voxel medical nifti nibabel


【解决方案1】:

按照 OP 的要求,这是使用 NiBabel 的答案:

import nibabel as nib
nii = nib.load('t1.nii.gz')
sx, sy, sz = nii.header.get_zooms()
volume = sx * sy * sz

【讨论】:

    【解决方案2】:

    我不是 NiBabel 专家,但我可以推荐 Python 的 SimpleITK 包。我经常用它来读取 NifTi 图像文件。它有一个方法GetSpacing(),它返回以毫米为单位的像素间距。

    import SimpleITK as sitk
    
    # read image
    im = sitk.ReadImage("/path/to/input/image.nii")
    
    # get voxel spacing (for 3-D image)
    spacing = im.GetSpacing()
    spacing_x = spacing[0]
    spacing_y = spacing[1]
    spacing_z = spacing[2]
    
    # determine volume of a single voxel
    voxel_volume = spacing_x * spacing_y * spacing_z
    

    【讨论】:

    • 在 Nibabel 中你会得到图像的标题,然后你会得到间距:header.get_zooms()
    猜你喜欢
    • 1970-01-01
    • 2022-11-21
    • 2022-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    相关资源
    最近更新 更多