Rilevazione e localizzazione di tumori cerebrali

Contenuti

  • Conta i valori di ogni classe.
cervello_df['maschera'].value_counts()
623403-1459003
  • Visualizza in modo casuale un'immagine MRI dal set di dati.
immagine = cv2.imread(brain_df.image_path[1301])
plt.imshow(Immagine)
907024-5349408

Image_path memorizza il percorso MRI del cervello in modo che possiamo visualizzare l'immagine usando matplotlib.

Suggerimento: la parte verdastra dell'immagine sopra può essere considerata come il tumore.

  • Cosa c'è di più, mostra l'immagine della maschera corrispondente.
immagine1 = cv2.imread(brain_df.mask_path[1301])
plt.imshow(immagine1)
215495-5315675

Ora, potresti aver capito cosa sia veramente la maschera. La maschera è l'immagine della parte del cervello colpita da un tumore dall'immagine MRI corrispondente. Qui, la maschera proviene dalla risonanza magnetica cerebrale mostrata sopra.

  • Analizza i valori dei pixel dell'immagine della maschera.
cv2.imread(brain_df.mask_path[1301]).max()

Partenza: 255

Il valore massimo di pixel nell'immagine della maschera è 255, cosa indica il colore bianco.

cv2.imread(brain_df.mask_path[1301]).min()

Partenza: 0

Il valore minimo di pixel nell'immagine della maschera è 0, cosa indica il colore nero.

  • Visualizzazione della risonanza magnetica del cervello, la máscara correspondiente y la resonancia magnética con la máscara.
conteggio = 0
Fig, assi = plt.sottotrame(12, 3, dimensione del fico = (20, 50))
per io nel raggio d'azione(len(cervello_df)):
  if brain_df['maschera'][io] ==1 and count <5:
    img = io.imread(brain_df.image_path[io])
    assi[contare][0].title.set_text('Brain MRI')
    assi[contare][0].imshow(img)
    
    mask = io.imread(brain_df.mask_path[io])
    assi[contare][1].title.set_text('Mask')
    assi[contare][1].imshow(maschera, cmap = 'gray')
    
    img[maschera == 255] = (255, 0, 0) #Red color
    axs[contare][2].title.set_text('MRI with Mask')
    assi[contare][2].imshow(img)
    count+=1

fig.tight_layout()
437678-2925223
  • Elimine la identificación, ya que no es necesaria para su procesamiento.
# Drop the patient id column
brain_df_train = brain_df.drop(colonne = ['patient_id'])
brain_df_train.shape

Obtendrá el tamaño del marco de datos en la salida: (3929, 3)

  • Convierta los datos en la columna de máscara de formato entero a formato de cadena, ya que necesitaremos los datos en formato de cadena.
brain_df_train['maschera'] = brain_df_train['maschera'].applicare(lambda x: str(X))
brain_df_train.info()
349879-8334281

Come potete vedere, ahora cada característica tiene el tipo de datos como objeto.

  • Divida los datos en conjuntos de prueba y de tren.
# split the data into train and test data
from sklearn.model_selection import train_test_split
train, test = train_test_split(brain_df_train, test_size = 0.15)
  • Aumente más datos con ImageDataGenerator. ImageDataGenerator genera lotes de datos de imágenes de tensores con aumento de datos en tiempo real.

Fare riferimento qui para obtener más información sobre ImageDataGenerator y los parámetros en detalle.

Crearemos un train_generator y validation_generator a partir de los datos del tren y un test_generator a partir de los datos de prueba.

# create an image generator
from keras_preprocessing.image import ImageDataGenerator

#Create a data generator which scales the data from 0 a 1 and makes validation split of 0.15
datagen = ImageDataGenerator(rescale=1./255., validation_split = 0.15)

train_generator=datagen.flow_from_dataframe(
dataframe=train,
directory= './',
x_col="percorso_immagine",
y_col="maschera",
sottoinsieme="addestramento",
batch_size=16,
casuale=Vero,
class_mode="categorico",
target_size=(256,256))

valid_generator=datagen.flow_from_dataframe(
dataframe=train,
directory= './',
x_col="percorso_immagine",
y_col="maschera",
sottoinsieme="validation",
batch_size=16,
casuale=Vero,
class_mode="categorico",
target_size=(256,256))

# Create a data generator for test images
test_datagen=ImageDataGenerator(rescale=1./255.)

test_generator=test_datagen.flow_from_dataframe(
dataframe=test,
directory= './',
x_col="percorso_immagine",
y_col="maschera",
batch_size=16,
shuffle=Falso,
class_mode="categorico",
target_size=(256,256))
Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.