醫學圖像數據集「盤點」

一、數據集介紹

醫學圖像數據集是一組醫學圖像的集合。這些圖像通常用於研究醫學領域中的各種問題,如診斷、治療和疾病預防。這些數據集可以包含各種類型的圖像,如X射線、CT掃描、MRI和超聲波圖像。隨着醫學成像技術的進步,醫學圖像數據集變得越來越豐富,使用這些數據集進行機器學習和深度學習研究也變得越來越重要。

下面介紹幾個常見的醫學圖像數據集。

二、數據集一:ChestX-ray8

ChestX-ray8是一種廣泛使用的醫學圖像數據集,用於胸部X射線圖像中的疾病檢測。該數據集中包含約10萬張圖像,共8種可能的疾病:心臟擴大、肺充血、間質性疾病、結節、浸潤性、肺氣腫、肺實質增厚和肺纖維化。該數據集是在國立衛生研究院標註數據集基礎上擴展而來。

ChestX-ray8數據集可以用於機器學習和深度學習研究,以幫助醫療工作者更準確地診斷疾病。

代碼示例:

import numpy as np
import pandas as pd
import tensorflow as tf
from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, BatchNormalization
from tensorflow.keras.models import Sequential
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping

train_datagen = ImageDataGenerator(rescale = 1./255,
                                   shear_range = 0.2,
                                   zoom_range = 0.2,
                                   horizontal_flip = True,
                                   validation_split = 0.2)

test_datagen = ImageDataGenerator(rescale = 1./255)

training_set = train_datagen.flow_from_directory('Data_Entry_2017',
                                                 target_size = (224, 224),
                                                 batch_size = 32,
                                                 class_mode = 'categorical',
                                                 subset = 'training')

validation_set = train_datagen.flow_from_directory('Data_Entry_2017',
                                                 target_size = (224,224),
                                                 batch_size = 32,
                                                 class_mode = 'categorical',
                                                 subset='validation')

classifier = Sequential()

classifier.add(Conv2D(32, (3, 3), activation = 'relu', input_shape = (224, 224, 3)))
classifier.add(BatchNormalization())
classifier.add(MaxPooling2D(pool_size = (2, 2)))

# add other layers

classifier.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])

classifier.fit_generator(training_set,
                         steps_per_epoch = len(training_set),
                         epochs = 30,
                         validation_data = validation_set,
                         validation_steps = len(validation_set))

三、數據集二:MURA

MURA是一種用於機器學習和深度學習研究的醫學圖像數據集,主要用於手臂、手肘、手腕等部位的正常和異常圖像分類。該數據集包含了14,863張X射線圖像,包括正常和異常的圖像。

MURA數據集可以用於研究如何使用機器學習和深度學習來幫助醫生進行圖像識別和疾病診斷。

代碼示例:

import tensorflow as tf
from tensorflow.keras.preprocessing.image import load_img, img_to_array
from tensorflow.keras.models import load_model
import numpy as np

img = load_img('MURA-v1.0/valid/XR_WRIST/patient11185/study1_positive/image1.png', target_size=(224, 224))
img = img_to_array(img)
img = np.expand_dims(img, axis=0)
img = img/255

model = load_model('my_model.h5')

prediction = model.predict(img)

if prediction < 0.5:
    print('This is a normal image.')
else:
    print('This image is abnormal.')

四、數據集三:LIDC-IDRI

LIDC-IDRI是一種開源的醫療圖像數據集,收集了肺部計算機斷層掃描(CT)圖像和醫生的肺癌診斷注釋。該數據集包含1018個病例的數據,每個病例包含一個或多個CT圖像和人工標註的肺癌標記。

LIDC-IDRI數據集可以用於機器學習和深度學習研究,以幫助醫生在肺癌診斷和治療方面做出更準確的決策。

代碼示例:

import pydicom
import numpy as np
import os

path = 'LIDC-IDRI/LIDC-IDRI-0001/01-01-2000-30178/3000566-03192/'
slices = [pydicom.dcmread(os.path.join(path, s)) for s in os.listdir(path)] 

slices.sort(key=lambda x: int(x.InstanceNumber))

image = np.stack([s.pixel_array for s in slices])
image = image.astype(np.float32)
image = np.asarray(np.clip(image, 0, 4096) / 4096 * 255, np.uint8)

print(image.shape)

五、小結

醫學圖像數據集是醫學研究和診斷中非常重要的資源。隨着醫學成像技術的不斷進步,醫學圖像數據集越來越豐富,也給機器學習和深度學習在醫學領域的應用帶來了更多機會。

原創文章,作者:OSGCL,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/331507.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
OSGCL的頭像OSGCL
上一篇 2025-01-20 14:10
下一篇 2025-01-20 14:10

相關推薦

  • Python讀取CSV數據畫散點圖

    本文將從以下方面詳細闡述Python讀取CSV文件並畫出散點圖的方法: 一、CSV文件介紹 CSV(Comma-Separated Values)即逗號分隔值,是一種存儲表格數據的…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 如何用Python統計列表中各數據的方差和標準差

    本文將從多個方面闡述如何使用Python統計列表中各數據的方差和標準差, 並給出詳細的代碼示例。 一、什麼是方差和標準差 方差是衡量數據變異程度的統計指標,它是每個數據值和該數據值…

    編程 2025-04-29
  • Python多線程讀取數據

    本文將詳細介紹多線程讀取數據在Python中的實現方法以及相關知識點。 一、線程和多線程 線程是操作系統調度的最小單位。單線程程序只有一個線程,按照程序從上到下的順序逐行執行。而多…

    編程 2025-04-29
  • 如何實現圖像粘貼到蒙版

    本文將從多個方面介紹圖像粘貼到蒙版的實現方法。 一、創建蒙版 首先,在HTML中創建一個蒙版元素,用於接收要粘貼的圖片。 <div id=”mask” style=”widt…

    編程 2025-04-29
  • Python爬取公交數據

    本文將從以下幾個方面詳細闡述python爬取公交數據的方法: 一、準備工作 1、安裝相關庫 import requests from bs4 import BeautifulSou…

    編程 2025-04-29
  • Python兩張表數據匹配

    本篇文章將詳細闡述如何使用Python將兩張表格中的數據匹配。以下是具體的解決方法。 一、數據匹配的概念 在生活和工作中,我們常常需要對多組數據進行比對和匹配。在數據量較小的情況下…

    編程 2025-04-29
  • Python數據標準差標準化

    本文將為大家詳細講述Python中的數據標準差標準化,以及涉及到的相關知識。 一、什麼是數據標準差標準化 數據標準差標準化是數據處理中的一種方法,通過對數據進行標準差標準化可以將不…

    編程 2025-04-29
  • 如何使用Python讀取CSV數據

    在數據分析、數據挖掘和機器學習等領域,CSV文件是一種非常常見的文件格式。Python作為一種廣泛使用的編程語言,也提供了方便易用的CSV讀取庫。本文將介紹如何使用Python讀取…

    編程 2025-04-29

發表回復

登錄後才能評論