码迷,mamicode.com
首页 > 其他好文 > 详细

SimpleITK 和 Nibabe

时间:2020-05-07 00:53:18      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:pre   add   nump   triangle   project   plt   get   个数   net   

SimpleITK 和 Nibabel 的区别:

SimpleITK 加载数据是channel_first,即(155,240,240);

Nibabel 是 channel_last,即(240,240,155),其中155是图像通道数,也就是155张图像,可以把nii看成二维图像,也可以看成三维。

import SimpleITK as sitk
from matplotlib import pyplot as plt

def showNii(img):
    for i in range(img.shape[1]):
        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) 155表示个数,240,240表示图片长度和宽度
# showNii(img)

itk_img = sitk.ReadImage(‘./id001-128x128x64.nii.gz‘)
img = sitk.GetArrayFromImage(itk_img)
showNii(img)

3D Plot:

import scipy.ndimage
import matplotlib.pyplot as plt
import numpy as np
from skimage import measure, morphology
from mpl_toolkits.mplot3d.art3d import Poly3DCollection


def plot_3d(image, threshold=-300):
    
    # Position the scan upright, 
    # so the head of the patient would be at the top facing the camera
    image = image.astype(np.int16)
    p = image.transpose(2,1,0)
#     p = p[:,:,::-1]
    
    print(p.shape)
    verts, faces, _, x = measure.marching_cubes_lewiner(p, threshold) #marching_cubes_classic measure.marching_cubes

    fig = plt.figure(figsize=(10, 10))
    ax = fig.add_subplot(111, projection=‘3d‘)

    # Fancy indexing: `verts[faces]` to generate a collection of triangles
    mesh = Poly3DCollection(verts[faces], alpha=0.1)
    face_color = [0.5, 0.5, 1]
    mesh.set_facecolor(face_color)
    ax.add_collection3d(mesh)

    ax.set_xlim(0, p.shape[0])
    ax.set_ylim(0, p.shape[1])
    ax.set_zlim(0, p.shape[2])

    plt.show()
plot_3d(img, 100)

 

参考文献:

1. SimpleITK

SimpleITK 和 Nibabe

标签:pre   add   nump   triangle   project   plt   get   个数   net   

原文地址:https://www.cnblogs.com/ylHe/p/12840082.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!