LUNA16資料集肺結節顯示親測

2021-09-05 01:29:56 字數 2277 閱讀 7427

ps主要是基於該博主  的luna16資料集系列上的親測為更加小白的我一樣。博主的方法可行但是有些還有補全才能出結果,希望對你有幫助。

1.資料集太大了我就上傳我用的這個序列

import ******itk as sitk

import matplotlib.pyplot as plt

import numpy as np

filename='e:\\jls\\dcm_data\\luna\\subset1\\1.3.6.1.4.1.14519.5.2.1.6279.6001.173106154739244262091404659845.mhd'

itkimage = sitk.readimage(filename)#讀取.mhd檔案

or=itkimage.getorigin()

print(or)

sp=itkimage.getspacing()

print(sp)

numpyimage = sitk.getarrayfromimage(itkimage)#獲取資料,自動從同名的.raw檔案讀取

def show_nodules(ct_scan, nodules,origin,spacing,radius=20, pad=2, max_show_num=4):  # radius是正方形邊長一半,pad是邊的寬度,max_show_num最大展示數

show_index =

for idx in range(nodules.shape[0]):  # lable是乙個nx4維的陣列,n是肺結節數目,4代表x,y,z,以及直徑

if idx < max_show_num:

if abs(nodules[idx, 0]) + abs(nodules[idx, 1]) + abs(nodules[idx, 2]) + abs(nodules[idx, 3]) == 0: continue

x, y, z = int((nodules[idx, 0]-origin[0])/sp[0]), int((nodules[idx, 1]-origin[1])/sp[1]), int((nodules[idx, 2]-origin[2])/sp[2])

print(x, y, z)

data = ct_scan[z]

radius=int(nodules[idx, 3]/sp[0]/2)

#pad = 2*radius

# 注意 y代表縱軸,x代表橫軸

data[max(0, y - radius):min(data.shape[0], y + radius),

max(0, x - radius - pad):max(0, x - radius)] = 3000  # 豎線

data[max(0, y - radius):min(data.shape[0], y + radius),

min(data.shape[1], x + radius):min(data.shape[1], x + radius + pad)] = 3000  # 豎線

data[max(0, y - radius - pad):max(0, y - radius),

max(0, x - radius):min(data.shape[1], x + radius)] = 3000  # 橫線

data[min(data.shape[0], y + radius):min(data.shape[0], y + radius + pad),

max(0, x - radius):min(data.shape[1], x + radius)] = 3000  # 橫線

plt.show()

b = np.array([[-116.2874457,21.16102581,-124.619925,10.88839157],[-111.1930507,-1.264504521,-138.6984478,17.39699158],[73.77454834,37.27831567,-118.3077904,8.648347161]])

show_nodules(numpyimage,b,or,sp)

3.結果影象

比較好的割出了結果。

4.針對這個資料很好的理解mhd引數和dcm的文章

LUNA16肺結節檢測資料集介紹

1.luna資料集的由來 luna16資料集是最大公開肺結節資料集lidc idri的子集,lidc idri資料集包括1018個低劑量的肺部ct影像。在lidc idri資料集中,有三種區域會標註出來,直徑 3mm的結節,直徑 3mm的結節以及非結節 但是肺部畸變區域 回到luna16,在888張...

VGG16模型訓練自己資料集

vgg是由simonyan 和zisserman在文獻 very deep convolutional networks for large scale image recognition 中提出卷積神經網路模型,其名稱 於作者所在的牛津大學視覺幾何組 visual geometry group 的...

16個推薦系統開放公共資料集整理分享

本文由深度學習與nlp編譯 本文主要整理了一些與推薦系統相關的高質量的資料集。整理自stack overflow 一些文章 推薦站點和學術實驗。其中,大多數資料集都是免費 開放的,但有些不是,需要獲得許可或引用作者的工作才能使用。此外,其中也包含一些預處理資料,可用於學術實驗。鏈結和資料集描述。bo...