JoVE Logo

Accedi

È necessario avere un abbonamento a JoVE per visualizzare questo. Accedi o inizia la tua prova gratuita.

In questo articolo

  • Riepilogo
  • Abstract
  • Introduzione
  • Protocollo
  • Risultati
  • Discussione
  • Divulgazioni
  • Riconoscimenti
  • Materiali
  • Riferimenti
  • Ristampe e Autorizzazioni

Riepilogo

Le terapie intra-arteriose sono lo standard di cura per pazienti con carcinoma epatocellulare che non può subire la resezione chirurgica. Viene proposto un metodo per predire la risposta a queste terapie. La tecnica utilizza informazioni demografiche, formazione immagine e cliniche pre-procedurale per addestrare modelli di apprendimento macchina in grado di predire la risposta prima del trattamento.

Abstract

Le terapie intra-arteriose sono lo standard di cura per pazienti con carcinoma epatocellulare che non può subire la resezione chirurgica. L'obiettivo di questo studio era di sviluppare un metodo per predire la risposta al trattamento intra-arteriosa prima dell'intervento.

Il metodo fornisce un quadro generale per la stima dei risultati prima della terapia intra-arteriosa. Si tratta di pool di dati demografici, formazione immagini e clinici in una coorte di pazienti e utilizzando questi dati di training di un modello di apprendimento della macchina. Il modello addestrato è applicato a nuovi pazienti al fine di prevedere la loro probabilità di risposta alla terapia intra-arteriosa.

Il metodo comporta l'acquisizione e l'analisi dei dati demografici, formazione immagini e clinici da N pazienti già sottoposti a terapie di trans-arteriosa. Questi dati vengono analizzati in caratteristiche discrete (età, sesso, cirrosi, grado di tumore enhancement, ecc.) e binarizzati in valori true/false (ad es., età oltre 60, sesso maschile, valorizzazione del tumore oltre una soglia impostata, ecc.). Caratteristiche di basso-varianza e caratteristiche con basso monovariante associazioni con il risultato vengono rimossi. Ogni paziente curato è etichettato secondo loro ha risposto o non ha risposto al trattamento. Ogni paziente di formazione così è rappresentato da un insieme di caratteristiche binari e un'etichetta di esito. Modelli di apprendimento della macchina sono formati utilizzando N - 1 pazienti con test sul paziente sinistra-out. Questo processo viene ripetuto per ciascuno dei pazienti N . I modelli N sono media per arrivare a un modello finale.

La tecnica è estensibile e consente l'inclusione di ulteriori funzionalità in futuro. È anche un processo generalizzabile che può essere applicato alle domande di ricerca clinica di fuori della radiologia interventistica. La principale limitazione è la necessità di derivare funzioni manualmente da ogni paziente. Una forma moderna popolare di apprendimento automatico chiamato profondo apprendimento non soffre di questa limitazione, ma richiede più grandi set di dati.

Introduzione

Pazienti con carcinoma epatocellulare che non sono candidati chirurgici sono offerti terapie intra-arteriosa1,2,3. Non c'è nessuna singola metrica che determina se un paziente risponderà ad una terapia intra-arteriosa prima il trattamento viene somministrato. L'obiettivo di questo studio era di dimostrare un metodo che prevede la risposta del trattamento mediante l'applicazione di metodi di apprendimento automatico. Tali modelli forniscono indicazioni a medici e pazienti, quando si sceglie se procedere con un trattamento.

Il protocollo comporta un processo riproducibile per la formazione e l'aggiornamento di un modello a partire da dati pazienti primario (note cliniche, dati demografici, dati di laboratorio e imaging). Inizialmente, i dati vengono analizzati per funzionalità specifiche, con ogni paziente rappresentato da un set di funzionalità binario e un'etichetta di destinazione risultato binario. L'etichetta di risultato è determinato utilizzando un criterio di risposta basata su formazione immagine consolidata epatocellulare terapia4,5,6,7. Le caratteristiche e le etichette di destinazione vengono passate al software di apprendimento macchina che impara il mapping tra caratteristiche e risultati sotto uno specifico modello (regressione logistica o foresta casuale)8,9,10di apprendimento. Tecniche simili sono state applicate in radiologia e altri settori della ricerca sul cancro per diagnosi e trattamento Pronostico11,12,13.

Il metodo si adatta tecniche dall'informatica nel campo della radiologia interventistica. Studi di significato tradizionale in radiologia interventistica e della medicina in generale, si basano su analisi mono - o oligo-caratteristica. Ad esempio, il modello per End-Stage Liver Disease incorpora cinque cliniche metriche per valutare l'entità della malattia epatica. Il vantaggio del metodo proposto è la possibilità di aggiungere funzionalità liberalmente; venti-cinque caratteristiche sono considerati nell'analisi di esempio. Funzionalità aggiuntive possono essere aggiunti come desiderato.

La tecnica può essere applicata ad altri interventi radiografici dove sono disponibili dati di imaging pre- e post-intervento. Ad esempio, i seguenti trattamenti percutanei risultati potrebbero essere previsto in modo simile. La limitazione principale dello studio è la necessità di funzionalità manuale curato per l'inclusione nel modello. Estrazione di curation e funzionalità di dati richiede molto tempo per il professionista e può ostacolare la clinica adozione di tali modelli di apprendimento automatico.

Protocollo

1. Installazione di workstation per apprendimento automatico

  1. Utilizzare un sistema con il seguente:
    Intel Core 2 Duo o superiore CPU a 2,0 GHz
    4 GB o più memoria di sistema
    Sistema operativo POSIX-compliant (Linux o Mac OS) o Microsoft Windows 7
    Autorizzazioni utente per l'esecuzione di programmi e salvataggio dei file
  2. Installare gli strumenti seguenti:
    Anaconda Python3: https://www.anaconda.com/download
    DICOM NIfTI convertitore (dcm2niix) - https://github.com/rordenlab/dcm2niix
    Sublime Text Editor: https://www.sublimetext.com/
    ITK-SNAP (opzionale): http://www.itksnap.org
    1. Installazione Anaconda Python3, dcm2nii e Sublime Text, visitare i rispettivi siti Web per la procedura di installazione specifiche del sistema operativo.
    2. Creare e attivare un ambiente di Anaconda.
      conda creare-- nome mlenv
      conda attivare mlenv
    3. Installare pacchetti di Anaconda per apprendimento automatico.
      conda installare numpy scipy scikit-imparare nltk nibabel
      Nota: Il pacchetto nltk è utile per l'analisi di note cliniche di testo normale, mentre il pacchetto di nibabel fornisce utili funzioni per la manipolazione di immagini mediche. ITK-SNAP può essere installato per segmentare gli organi e i tumori da immagini mediche. È utile per caratteristiche vincolanti a regioni specifiche.

2. Estrazione di caratteristiche da note cliniche Plaintext e dati clinici strutturati

  1. Creare una directory padre del progetto e creare una cartella per ogni paziente all'interno della cartella padre. Struttura di directory dovrebbe essere simile:
    Progetto /
    Progetto/Patient_1 /
    Progetto/Patient_2 /
    Progetto/Patient_3 /
    ...
  2. Ottenere plaintext note cliniche dal elettronico medical record (EMR). Recuperare le note manualmente attraverso l'EMR o mediante l'ufficio di tecnologia (IT) Ospedale informazioni attraverso un dump dei dati. Memorizzare le note di ogni paziente nelle rispettive cartelle.
    Project/Patient_1/History_and_Physical.txt
    Project/Patient_1/Procedure_Note.txt
    1. Deciso quali caratteristiche cliniche da includere nel modello. Analizzare le note di clinica di testo normale per queste caratteristiche. La libreria Python Natural Language Toolkit (nltk) fornisce comandi utili per dividere documenti in frasi. Ogni frase può essere cercato di termini appropriati quali l'ittero. Conservare caratteristiche di ogni paziente in un file con una caratteristica per ogni riga.
      Project/Patient_1/Features.txt:
      età di 67 anni
      sesso maschio
      albumina 3.1
      non cirrotici
      hepatitis_c non
      ...
    2. Per le caratteristiche non binari, prendere il valore mediano di ogni caratteristica attraverso tutti i pazienti. Binarize ogni funzionalità come un valore true(1) o false(0) in base al valore mediano.
      Project/Patient_1/Binary_Features.txt:
      age_over_60 0
      male_sex 1
      albumin_less_than_3.5 1
      presence_of_cirrhosis 0
      hepatitis_c 0
      ...

3. Estrazione di caratteristiche da immagini mediche

Nota: Vedere passaggio 3 materiali supplementari per esempi di codice.

  1. Scarica immagini DICOM di pre- e post-terapia a risonanza magnetica dall'ospedale PACS. Memorizzare le immagini in cartelle paziente corrispondenti.
    Progetto /
    Project/Patient_1/Pre_TACE_MRI_Pre-Contrast.dcm
    Project/Patient_1/Pre_TACE_MRI_Arterial.dcm
    Project/Patient_1/Post_TACE_MRI_Pre-Constrast.dcm
    Project/Patient_1/Post_TACE_MRI_Arterial.dcm
  2. Convertire immagini DICOM nel formato NIfTI utilizzando il programma dcm2niix. I seguenti comandi converte tutti. DCM immagini nella cartella specificata. Ripetere per tutti i pazienti.
    Progetto dcm2niix/Patient_1 /
    Progetto dcm2niix/Patient_2 /
  3. Caricare ogni file NIfTI in Python.
    importazione nibabel
    immagine = nibabel.load('Project/Patient_1/Pre_TACE_MRI_Pre-Contrast.dcm')
    1. Conversione in formato canonico l'orientamento di ogni immagine. Questo assicura che la x, y e z assi sono identici, indipendentemente dalla macchina utilizzata per acquisire le immagini.
      cImage = nibabel.as_closest_canonical(image)
  4. Utilizzare itk-SNAP (o un pacchetto di software equivalente) per segmento binario fegato e tumore maschere per ogni immagine.
    Project/Patient_1/Pre_TACE_MRI_Pre-Contrast_Liver_Mask.bin
    Project/Patient_1/Pre_TACE_MRI_Pre-Contrast_Tumor_Mask.bin
  5. Leggere le maschere di fegato e tumore in Python. Il codice riportato di seguito viene illustrato come correggere problemi di orientamento al fine di orientare le maschere lungo gli stessi assi canonici come le immagini di MR.
    Import numpy as np
    con Apri (liver_mask_file, 'rb') come f:
    liver_mask = f.read()
    liver_mask = np.fromstring (liver_mask, dtype = 'uint8')
    liver_mask = np.reshape (liver_mask, diff.shape, ordine = 'F')
    liver_mask = liver_mask [:,:: -1,:]
    liver_mask [liver_mask > 0] = 1
    1. Utilizzare le maschere di fegato e tumore per isolare i voxel contenenti fegato e tumore.
      fegato = np.copy(cImage)
      fegato [liver_mask < = 0] = 0
  6. Calcolare la funzione di media miglioramento del fegato.
    mean_liver_enhancement = mean(liver)
    1. Calcolare la funzione volume del fegato.
      pixdim = cImage.header['pixdim']
      unità = pre.header['xyzt_units']
      DX, dy, dz = pre_pixdim [1:4]
      liver_volume = length(liver) * dx * dx * dz
    2. (Opzionale) Calcolare funzioni aggiuntive come desiderato.
  7. Aggiornare file di caratteristiche specifiche della paziente con le caratteristiche di immagine.
    Project/Patient_1/Features.txt:
    età di 67 anni
    sesso maschio
    albumina 3.1
    non cirrotici
    hepatitis_c non
    pre_tace_mean_liver_enhancement 78
    pre_tace_liver_volume 10000
    1. Calcolare i valori mediani per ogni funzionalità di imaging e binarize come descritto al punto 2.2.2.
      Project/Patient_1/Binary_Features.txt:
      age_over_60 0
      male_sex 1
      albumin_less_than_3.5 1
      presence_of_cirrhosis 0
      hepatitis_c 0
      pre_tace_mean_liver_enhancement 1
      pre_tace_liver_volume 0

4. dispongono di aggregazione e riduzione

Nota: Vedere passaggio 4 materiali supplementari per esempi di codice.

  1. Combinare i file di Binary_Features.txt per ogni paziente in un foglio di calcolo con i pazienti sull'asse y e caratteristiche sull'asse x.
    PazienteEtà > 60Sesso maschileAlbumina < 3.5Presenza di cirrosiEpatite C presentedire la valorizzazione del fegato > 50volume del fegato > 20000
    10110010
    21110000
    30110100
    1. Aggiungere qEASL risultato risposta etichette come la colonna finale.
      PazienteEtà > 60Sesso maschileAlbumina < 3.5Presenza di cirrosiEpatite C presentedire la valorizzazione del fegato > 50volume del fegato > 20000qEASL risponditore
      101100101
      211100001
      301101000
    2. Esportare il foglio di calcolo come un file delimitato da tabulazioni.
      Project/ML_Matrix.tsv:
      PatientAge > 60 maschio sesso albumina < 3.5 presenza di cirrosi epatite C presente significa valorizzazione del fegato > 50 volume del fegato > 20000 qEASL risponditore
      1 0 1 1 0 0 1 0 1
      2 1 1 1 0 0 0 0 1
      3 0 1 1 0 1 0 0 0
  2. Rimuovere caratteristiche di basso-varianza da considerazione.
    Import numpy as np
    importare da sklearn.feature_selection VarianceThreshold

    # Leggi nella matrice binaria.
    caratteristiche =]
    etichette =]
    per i, L a enumerate(sys.stdin):
    Se io = = 0
    continuare
    n_fs_L = L.strip().split('\t')
    Features.Append([float(_) per _ in n_fs_L[1:-1]])
    Labels.Append(n_fs_L[-1])
    X = np.array(features)
    y = np.array(labels)

    # Calcolare caratteristiche che compaiono in almeno il 20% dei radar-risponditore sia non-respnders.
    modello = VarianceThreshold (soglia = 0,8 * (1 - 0.8))
    X_new = model.fit_transform (X, y)
    Il sesso maschile, l'albumina < 3.5, la presenza di cirrosi e di volume del fegato > 2000 caratteristiche sono state rimosse.
    PazienteEtà > 60Epatite C presentedire la valorizzazione del fegato > 50qEASL risponditore
    10011
    21001
    30100
  3. Rimuovere funzionalità con basso monovariante-associazione con il risultato. Filtrare solo quelle caratteristiche che passato 4.2. Mantenere ceil caratteristiche (registro2(N)), dove N è il numero di pazienti. Ceil (Log2(3)) = 2.

    matematica di importazione
    importare da sklearn.feature_selection SelectKBest
    da sklearn.feature_selection importazione chi2

    # Leggi nella matrice binaria come 4.2.1
    ...

    # Calcolare ceil(log2(N)) top caratteristiche dall'associazione univariata.
    k = math.ceil(log2(length(y)))
    modello = SelectKBest (chi2, k = k)
    X_new = model.fit_transform (X, y)

    La caratteristica di sesso maschile età > 60 è stato rimosso dalle restanti caratteristiche da 4.2.1.
PazienteEpatite C presentedire la valorizzazione del fegato > 50qEASL risponditore
1011
2001
3100

5. Training del modello e test

Vedere passaggio 5 materiali supplementari per esempi di codice

  1. Training di un modello di regressione logistica utilizzando la matrice binaria caratteristiche da 4.3.
    matematica di importazione
    importare da sklearn.linear_model LogisticRegression

    # Leggi nella matrice binaria come 4.2 e 4.3.
    ...

    # Per ogni paziente, training di un modello su tutti gli altri pazienti.
    Punteggio = 0.0
    modelli =]
    per paziente in len(X):
    # Treno modello su tutti, ma uno dei pazienti.
    train_x = np.array ([_ per i, _ a enumerate(X) se i! = paziente])
    train_y = np.array ([_ per i, _ a enumerate(y) se i! = paziente])
    modello = LogisticRegression(C=1e15)
    Model.Fit (train_x, train_y)

    # Test sul paziente sinistra-out.
    y_prediction = model.predict(X[patient])
    Se y_prediction = = y [paziente]:
    Punteggio ottenuto + = 1
    Models.Append(Model)
  2. Training di un modello di foresta casuale usando la matrice binaria caratteristiche da 4.2.2. Passaggi sono identici a 5.2.1, tranne la creazione di istanze di modello deve essere aggiornato come segue:
    importare da sklearn.ensemble RandomForestClassifier
    ...
    modello = RandomForestClassifier(n_estimators=100)
    ...
  3. Stampa Punteggio / len (X) per 5.1 e 5.2. Questo rappresenta la precisione media di tutti i modelli di regressione logistica e tutti i modelli di foreste casuali, rispettivamente. Tutti i modelli di N devono essere applicati a nuovi pazienti con la classificazione media presa come il risultato di previsione

Risultati

Il metodo proposto è stato applicato a 36 pazienti che avevano subito le terapie trans-arteriosa per carcinoma epatocellulare. Venti-cinque caratteristiche sono state identificate e binarizzato utilizzando i passaggi 1-5. Cinque caratteristiche soddisfatto sia la varianza e filtri di associazione monovariante (Vedi punti 5.1 e 5.2) e sono stati utilizzati per il training del modello. Ogni paziente è stato etichettato come un risponditore in linea o non-responsivi secondo i criteri di ri...

Discussione

Pazienti con carcinoma epatocellulare che non sono candidati per la resezione chirurgica sono offerti terapie intra-arteriose. Esistono alcuni metodi per determinare se un paziente risponderà pre-trattamento. Tecniche di valutazione post-trattamento si basano sull'osservazione dei cambiamenti nelle dimensioni del tumore o assorbimento di contrasto del tumore. Questi sono chiamati criteri di risposta, con la più accurata è quantitativa associazione europea per lo studio del criterio di fegato (qEASL). qEASL si...

Divulgazioni

A.A. funziona come un consulto software per salute fedeltà, Inc., che si avvale di macchine simili tecniche su note cliniche per l'ottimizzazione di rimborso medico di apprendimento.

J.F.G. riceve commissioni personali da Guerbet Healthcare, BTG, soglia Pharmaceuticals (San Francisco, California), Boston Scientific e Terumo (Elkton, Maryland); e ha una società di consulenza pagata per preveggenza Labs (Westport, Connecticut).

Nessuno degli altri autori hanno identificato un conflitto di interessi.

Riconoscimenti

A.A. ha ricevuto finanziamenti a sostegno dall'Office of Student Research, Yale School of Medicine.

L.J.S. riceve sovvenzioni dal National Institutes of Health (NIH/NCI R01CA206180), Leopoldina Postdoctoral Fellowship e il Rolf W. Guenther Foundation di Scienze radiologiche (Aquisgrana, Germania).

J.C. riceve sovvenzioni dal National Institutes of Health (NIH/NCI R01CA206180), Philips Healthcare e la Fondazione di tedesco-israeliano per la ricerca scientifica e lo sviluppo (Gerusalemme, Israele e Neuherberg, Germania); e borse di studio della Rolf W. Guenther Foundation di Scienze radiologiche e la Charité Berlino Istituto di salute scienziato programma clinico (Berlino, Germania).

J.S.D e M.L. ricevere sovvenzioni dal National Institutes of Health (NIH/NCI R01CA206180) e Philips Healthcare (Best, Paesi Bassi).

J.F.G. riceve sovvenzioni dal National Institutes of Health (NIH/NCI R01CA206180), Philips Healthcare, BTG (Londra, Regno Unito), Boston Scientific (Marlborough, Massachusetts) e Guerbet Healthcare (Villepinte, Francia)

Materiali

NameCompanyCatalog NumberComments
Computer workstationN/AN/AIntel Core 2 Duo or higher CPU at 2.0 GHz; 4 GB or more system memory; POSIX-compliant operating system (Linux or Mac OS) or Microsoft Windows 7; User permissions for executing programs and saving files
Anaconda Python 3Anaconda, Inc.Version 3.6Python 3 system and libraries packaged for scientists and researchers
DICOM to NIfTINeuroImaging Tools & Resources CollaboratoryVersion 1.0 (4/4/2018 release)Standalone program for converting DICOM imaging files to NIfTI format
Sublime Text EditorSublime HQ Pty LtdVersion 3 (Build 3143)Text-editor for writing Python code
Required Python LibrariesN/AVersion 3.2.25 (nltk)
Version 0.19.1 (scikit-learn)
Natural Language Toolkit (nltk)
Scikit-learn
ITK-SNAPN/AVersion 3.6.0Optional toolkit for performing segmentation of organ systems in medical images.

Riferimenti

  1. Benson, A., et al. NCCN clinical practice guidelines in oncology: hepatobiliary cancers. J National Comprehensive Cancer Network. 7 (4), 350-391 (2009).
  2. Siegel, R., Miller, K., Jemal, A. Cancer statistics, 2016. CA Cancer J Clin. 66 (1), 7-30 (2016).
  3. Bruix, J., et al. Clinical management of hepatocellular carcinoma. Conclusions of the Barcelona-2000 European Association for the Study of the Liver conference. Journal of Hepatology. 35 (3), 421-430 (2001).
  4. Eisenhauer, E., et al. New response evaluation criteria in solid tumours: revised RECIST guideline (version 1.1). European Journal of Cancer. 45 (2), 228-247 (2009).
  5. Gillmore, R., et al. EASL and mRECIST responses are independent prognostic factors for survival in hepatocellular cancer patients treated with transarterial embolization. Journal of Hepatology. 55 (6), 1309-1316 (2011).
  6. Lin, M., et al. Quantitative and volumetric European Association for the Study of the Liver and Response Evaluation Criteria in Solid Tumors measurements: feasibility of a semiautomated software method to assess tumor response after transcatheter arterial chemoembolization. Journal of Vascular and Interventional Radiology. 23 (12), 1629-1637 (2012).
  7. Tacher, V., et al. Comparison of Existing Response Criteria in Patients with Hepatocellular Carcinoma Treated with Transarterial Chemoembolization Using a 3D Quantitative Approach. Radiology. 278 (1), 275-284 (2016).
  8. Pedregosa, F., et al. Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research. 12, 2825-2830 (2011).
  9. Bishop, C. . Pattern recognition and machine learning. , 738 (2006).
  10. Alpaydin, E. . Introduction to machine learning. Third edition. , 613 (2014).
  11. Kim, S., Cho, K., Oh, S. Development of machine learning models for diagnosis of glaucoma. PLoS One. 12 (5), (2017).
  12. Son, Y., Kim, H., Kim, E., Choi, S., Lee, S. Application of support vector machine for prediction of medication adherence in heart failure patients. Healthcare Informatics Research. 16 (4), 253-259 (2010).
  13. Wang, S., Summers, R. Machine learning and radiology. Medical Image Analysis. 16 (5), 933-951 (2012).
  14. Abajian, A., et al. Predicting Treatment Response to Intra-arterial Therapies for Hepatocellular Carcinoma with the Use of Supervised Machine Learning-An Artificial Intelligence Concept. Journal of Vascular and Interventional Radiology. , (2018).

Ristampe e Autorizzazioni

Richiedi autorizzazione per utilizzare il testo o le figure di questo articolo JoVE

Richiedi Autorizzazione

Esplora altri articoli

Medicinaproblema 140Machine learningintelligenza artificialeradiologia interventisticacarcinoma epatocellularechemioembolizzazione trans arteriosaapprendimento automaticopredittiva sotto la supervisione di modellazionestima dei risultatipianificazione pre procedura

This article has been published

Video Coming Soon

JoVE Logo

Riservatezza

Condizioni di utilizzo

Politiche

Ricerca

Didattica

CHI SIAMO

Copyright © 2025 MyJoVE Corporation. Tutti i diritti riservati