S'identifier

Un abonnement à JoVE est nécessaire pour voir ce contenu. Connectez-vous ou commencez votre essai gratuit.

Dans cet article

  • Résumé
  • Résumé
  • Introduction
  • Protocole
  • Résultats
  • Discussion
  • Déclarations de divulgation
  • Remerciements
  • matériels
  • Références
  • Réimpressions et Autorisations

Résumé

Intra-artérielle thérapies sont la norme de soins pour les patients atteints de carcinome hépatocellulaire qui ne peuvent pas subir une résection chirurgicale. On propose une méthode pour prédire la réponse à ces thérapies. La technique utilise des informations démographiques, cliniques et d’imagerie préalable procédurales pour former les modèles à apprentissage machine capables de prédire la réponse avant le traitement.

Résumé

Intra-artérielle thérapies sont la norme de soins pour les patients atteints de carcinome hépatocellulaire qui ne peuvent pas subir une résection chirurgicale. L’objectif de cette étude était de développer une méthode pour prédire la réponse au traitement intra-artérielle avant l’intervention.

La méthode fournit un cadre général pour la prédiction des résultats avant la thérapie intra-artérielle. Elle implique la mise en commun des données cliniques, démographiques et d’imagerie à travers une cohorte de patients et d’utiliser ces données pour former un modèle d’apprentissage machine. Le modèle formé est appliqué à de nouveaux patients afin de prédire la probabilité de réponse au traitement intra-artérielle.

La méthode implique l’acquisition et l’analyse des données cliniques, démographiques et d’imagerie de N les patients qui ont déjà subi des thérapies de trans-artériel. Ces données sont analysées dans des caractéristiques distinctes (âge, sexe, cirrhose, degré d’amélioration de la tumeur, etc.) et binarisées en valeurs true/false (p. ex., âge 60, sexe masculin, amélioration de tumeur au-delà d’un seuil fixé, etc.). Fonctionnalités de faible variance et avec les associations univariée faible avec les résultats sont supprimés. Chaque patient traité est étiqueté selon qu’ils ont répondu ou n’a pas répondu au traitement. Chaque patient de formation est donc représentée par un ensemble de fonctionnalités binaires et une étiquette de résultat. Modèles à apprentissage machine sont formés à l’aide de N - 1 les patients des tests sur le patient à gauche. Ce processus est répété pour chacun des patients N . Les modèles de N sont en moyenne pour arriver à un modèle final.

La technique est extensible et permet d’inclure des fonctionnalités supplémentaires à l’avenir. C’est également un processus généralisable qui peuvent s’appliquer aux questions de la recherche clinique en dehors de la radiologie interventionnelle. La principale limitation est la nécessité de dériver des fonctionnalités manuellement de chaque patient. Une forme populaire moderne de l’apprentissage machine appelée profonde apprentissage ne souffre pas de cette limitation, mais nécessite de plus grands ensembles de données.

Introduction

Patients atteints de carcinome hépatocellulaire qui ne sont pas candidats à la chirurgie sont offerts des thérapies intra-artérielle1,2,3. Il n’y a aucune métrique unique qui détermine si un patient répondra à une thérapie intra-artérielle avant le traitement est administré. L’objectif de cette étude était de démontrer une méthode qui prédit la réponse au traitement par des méthodes d’apprentissage automatique. Ces modèles des conseils aux praticiens et les patients au moment de choisir s’il faut procéder à un traitement.

Le protocole suppose un processus reproductible pour la formation et la mise à jour d’un modèle à partir de données primaires du patient (notes cliniques, données démographiques, données de laboratoire et d’imagerie). Les données sont initialement analysées pour des fonctionnalités spécifiques, avec chaque patient représenté par un ensemble de fonctions binaires et une étiquette cible de résultat binaire. L’étiquette de résultats est déterminée selon un critère établi réponse axée sur l’imagerie pour hépatocellulaire thérapie4,5,6,7. Les caractéristiques et les étiquettes de la cible sont passés à des logiciels d’apprentissage machine qui apprend le mappage entre les caractéristiques et les résultats sous un particulier apprentissage modèle (régression logistique ou forêts aléatoires)8,9,10. Des techniques similaires ont été appliquées en radiologie et autres domaines de la recherche sur le cancer pour le diagnostic et le traitement prédiction11,12,13.

La méthode s’adapte les techniques de l’informatique dans le domaine de la radiologie interventionnelle. Études d’importance traditionnelle en radiologie interventionnelle et de la médecine dépendent en règle générale, analyses mono - ou oligo-fonctionnalité. Par exemple, le modèle pour End-Stage Liver Disease comprend cinq paramètres cliniques pour évaluer l’étendue de la maladie du foie. L’avantage de la méthode proposée est la possibilité d’ajouter des fonctionnalités de façon libérale ; vingt-cinq caractéristiques sont considérés dans l’analyse de l’exemple. Des fonctions supplémentaires peuvent être ajoutées comme vous le souhaitez.

La technique peut être appliquée aux autres interventions radiologiques où les données d’imagerie pré et post intervention sont disponibles. Par exemple, issue de traitements percutanés pouvait prédire de manière similaire. La principale limite de l’étude est la nécessité de fonctions de vicaire manuelle pour inclusion dans le modèle. Extraction de curation et fonctionnalité de données prend du temps pour le praticien et peut faire obstacle à l’adoption clinique de ce modèles à apprentissage machine.

Protocole

1. Installation de station de travail pour l’apprentissage de la Machine

  1. Utilisez un système avec ce qui suit :
    Intel Core 2 Duo ou supérieur à 2,0 GHz
    4 Go ou plus de mémoire système
    Des système d’exploitation compatible POSIX (Linux ou Mac OS) ou Microsoft Windows 7
    Autorisations de l’utilisateur pour l’exécution de programmes et d’enregistrer des fichiers
  2. Installez les outils suivants :
    Python3 Anaconda : https://www.anaconda.com/download
    DICOM NIfTI convertisseur (dcm2niix) - https://github.com/rordenlab/dcm2niix
    Éditeur de texte sublime : https://www.sublimetext.com/
    ITK-SNAP (facultatif) : http://www.itksnap.org
    1. Installer Python3 Anaconda, dcm2nii et texte Sublime, visitez leurs sites Web respectifs pour obtenir la procédure d’installation système d’exploitation.
    2. Créer et activer un environnement Anaconda.
      Conda créer--nom mlenv
      Conda activer mlenv
    3. Installer des paquets de Anaconda pour l’apprentissage de la machine.
      Conda installer numpy scipy scikit-apprendre nltk nibabel
      Remarque : Le package nltk est utile pour l’analyse des notes cliniques en texte brut, alors que le paquet de nibabel fournit des fonctions utiles pour la manipulation d’images médicales. ITK-SNAP peut être installée pour segmenter les organes et les tumeurs des images médicales. Il est utile pour des dispositifs contraignants à des régions spécifiques.

2. Extraction de caractéristique de texte brut Notes cliniques et des données cliniques structurées

  1. Créez un répertoire parent pour le projet et créez un dossier pour chaque patient dans le dossier parent. Structure de répertoire doit ressembler à :
    Projet /
    Projet/Patient_1 /
    Projet/Patient_2 /
    Projet/Patient_3 /
    ...
  2. Obtenir en clair notes cliniques du dossier médical électronique (DME). Récupérer les notes manuellement par le biais de l’EMR ou par le biais de l’office de technologies de l’hôpital grâce à une réception des données. Stockez les notes de chaque patient dans leurs dossiers respectifs.
    Project/Patient_1/History_and_Physical.txt
    Project/Patient_1/Procedure_Note.txt
    1. Décide quelles caractéristiques cliniques à inclure dans le modèle. Analyser les notes de clinique en texte brut pour ces fonctionnalités. La bibliothèque Python Natural Language Toolkit (nltk) fournit des commandes utiles pour le partage de documents en phrases. Chaque phrase peut être cherché les termes appropriés tels que l’ictère. Stocker les caractéristiques de chaque patient dans un fichier avec un élément par ligne.
      Project/Patient_1/Features.txt :
      67 ans
      sexe masculin sexe
      3.1 l’albumine
      non cirrhotique
      hepatitis_c pas
      ...
    2. Pour les fonctionnalités non binaire, prendre la valeur médiane de chaque fonction dans l’ensemble de tous les patients. Binarize chaque fonctionnalité comme une valeur true(1) ou false(0) selon la valeur médiane.
      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. Extraction de caractéristiques d’Images médicales

Remarque : Voir étape 3 documents complémentaires pour les exemples de Code.

  1. Télécharger images DICOM de pré- et post-traitement par résonance magnétique de l’hôpital de PACS. Stocker des images dans les dossiers des patients correspondants.
    Projet /
    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. Convertir des images DICOM au format NIfTI en utilisant le programme dcm2niix. Les commandes suivantes convertit toutes les images de .dcm dans le dossier spécifié. Répétez pour tous les patients.
    dcm2niix projet/Patient_1 /
    dcm2niix projet/Patient_2 /
  3. Chargez chaque fichier NIfTI dans Python.
    importation nibabel
    image = nibabel.load('Project/Patient_1/Pre_TACE_MRI_Pre-Contrast.dcm')
    1. Canoniser l’orientation de chaque image. Cela garantit que le x, y et z axes sont identiques, quelle que soit la machine utilisée pour acquérir les images.
      cImage = nibabel.as_closest_canonical(image)
  4. Utiliser itk-SNAP (ou un logiciel équivalent) pour segmenter les masques binaires de foie et de la tumeur pour chaque image.
    Project/Patient_1/Pre_TACE_MRI_Pre-Contrast_Liver_Mask.bin
    Project/Patient_1/Pre_TACE_MRI_Pre-Contrast_Tumor_Mask.bin
  5. Lire les masques de foie et de la tumeur en Python. Le code ci-dessous montre comment corriger les problèmes d’orientation afin d’orienter les masques le long des axes canoniques mêmes que les images de Monsieur.
    Import numpy as np
    ouvert (liver_mask_file, 'rb') comme f:
    liver_mask = f.read()
    liver_mask = np.fromstring (liver_mask, dtype = 'uint8')
    liver_mask = np.reshape (liver_mask, diff.shape, order = "F")
    liver_mask = liver_mask [ :, :: -1, :]
    liver_mask [liver_mask > 0] = 1
    1. Les masques de foie et de la tumeur permet d’isoler les voxels contenant du foie et la tumeur.
      foie = np.copy(cImage)
      foie [liver_mask < = 0] = 0
  6. Calculer la fonction de moyen de mise en valeur de foie.
    mean_liver_enhancement = mean(liver)
    1. Calculer la fonction du volume du foie.
      pixdim = cImage.header['pixdim "]
      unités = pre.header['xyzt_units']
      DX, dy, dz = pre_pixdim [1,4]
      liver_volume = length(liver) * dx * dx * dz
    2. (Facultatif) Calculer des fonctions supplémentaires comme vous le souhaitez.
  7. Mise à jour fichier de fonctionnalités spécifiques au patient avec les caractéristiques de l’image.
    Project/Patient_1/Features.txt :
    67 ans
    sexe masculin sexe
    3.1 l’albumine
    non cirrhotique
    hepatitis_c pas
    pre_tace_mean_liver_enhancement 78
    pre_tace_liver_volume 10000
    1. Calculer les valeurs médianes pour chaque composant de l’imagerie et binarize comme au point 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. disposent d’agrégation et réduction

Remarque : Voir étape 4 documents complémentaires pour les exemples de Code.

  1. Combiner les fichiers Binary_Features.txt pour chaque patient dans un tableur avec les patients sur l’axe des ordonnées et des caractéristiques sur l’axe des abscisses.
    Patient> 60 ansSexe masculinAlbumine < 3,5Présence d’une cirrhoseL’hépatite C présentsignifie la mise en valeur du foie > 50du volume du foie > 20000
    10110010
    21110000
    30110100
    1. Ajouter des étiquettes de réponse qEASL résultat comme la dernière colonne.
      Patient> 60 ansSexe masculinAlbumine < 3,5Présence d’une cirrhoseL’hépatite C présentsignifie la mise en valeur du foie > 50du volume du foie > 20000qEASL répondeur
      101100101
      211100001
      301101000
    2. Exporter la feuille de calcul dans un fichier délimité par des tabulations.
      Project/ML_Matrix.tsv :
      PatientAge > 60 albumine de sexe masculin < 3,5 présence de cirrhose, l’hépatite C présent moyenne amélioration du foie > 50 volume hépatique > 20000 qEASL répondeur
      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. Supprimer des composants de faible variance de l’examen.
    Import numpy as np
    de sklearn.feature_selection importation VarianceThreshold

    # Lire dans la matrice binaire.
    caractéristiques =]
    labels =]
    car moi, L à enumerate(sys.stdin) :
    Si j’ai == 0
    continuer
    n_fs_L = L.strip().split('\t')
    Features.Append([float(_) pour _ dans n_fs_L[1:-1]])
    labels.Append(n_fs_L[-1])
    X = np.array(features)
    y = np.array(labels)

    # Calcul caractéristiques apparaissant dans au moins 20 % des répondants et de non-respnders.
    modèle = VarianceThreshold (seuil = 0,8 * (1 - 0,8))
    X_new = model.fit_transform (X, y)
    Le sexe masculin, l’albumine < 3.5, la présence d’une cirrhose et du volume du foie > 2000 caractéristiques ont été supprimées.
    Patient> 60 ansL’hépatite C présentsignifie la mise en valeur du foie > 50qEASL répondeur
    10011
    21001
    30100
  3. Supprimer des fonctionnalités avec faible univariée-liaison avec les résultats. Filtrer seulement les caractéristiques qui passé 4.2. Conserver ceil caractéristiques (journal2(N)), où N est les nombre patients. Ceil (journal2(3)) = 2.

    importer des mathématiques
    de sklearn.feature_selection importation SelectKBest
    sklearn.feature_selection importons chi2

    # Lire dans la matrice binaire comme en 4.2.1
    ...

    # Calculer ceil(log2(N)) haut de la page fonctionnalités par association unidimensionnelles.
    k = math.ceil(log2(length(y)))
    modèle = SelectKBest (chi2, k = k)
    X_new = model.fit_transform (X, y)

    La fonctionnalité de > 60 ans sexe masculin a été retirée les caractéristiques restantes du 4.2.1.
PatientL’hépatite C présentsignifie la mise en valeur du foie > 50qEASL répondeur
1011
2001
3100

5. Modèle de formation et les tests

Voir étape 5 documents complémentaires pour les exemples de Code

  1. Former un modèle de régression logistique à l’aide de la matrice binaire caractéristiques de 4,3.
    importer des mathématiques
    de sklearn.linear_model importation LogisticRegression

    # Lire dans la matrice binaire comme en 4.2 et 4.3.
    ...

    # Pour chaque patient, former un modèle sur tous les autres patients.
    score = 0,0
    les modèles =]
    pour les patients en len(X) :
    # Train modèle sur tous sauf un des patients.
    train_x = np.array ([_ i, _ en enumerate(X) if i ! = patient])
    train_y = np.array ([_ i, _ en enumerate(y) if i ! = patient])
    modèle = LogisticRegression(C=1e15)
    Model.fit (train_x, train_y)

    # Test sur le patient à gauche.
    y_prediction = model.predict(X[patient])
    Si y_prediction == y [patient] :
    score += 1
    Models.Append(Model)
  2. Former un modèle de forêt aléatoire à l’aide de la matrice binaire caractéristiques de 4.2.2. Étapes sont identiques à 5.2.1, sauf l’instanciation du modèle doit être mis à jour comme suit :
    de sklearn.ensemble importation RandomForestClassifier
    ...
    modèle = RandomForestClassifier(n_estimators=100)
    ...
  3. Imprimer partition / len (X) pour 5.1 et 5.2. Cela représente la précision moyenne de tous les modèles de régression logistique et tous les modèles de forêts aléatoires, respectivement. Tous les modèles N devraient s’appliquer aux nouveaux patients avec le classement moyen considéré comme le résultat de prédiction

Résultats

La méthode proposée a été appliquée aux 36 patients ayant subissent des traitements trans-artériel pour carcinome hépatocellulaire. Vingt-cinq caractéristiques ont été identifiés et binarisées en utilisant les étapes 1-5. Cinq fonctionnalités satisfait la variance et filtres d’association univariée (voir étapes 5.1 et 5.2) et ont été utilisées pour la formation de modèle. Chaque patient a été étiqueté comme un répondeur ou non-répondeur selon les critères de r...

Discussion

Patients atteints de carcinome hépatocellulaire qui ne sont pas candidats à la résection chirurgicale sont offerts des thérapies intra-artérielle. Peu de méthodes existe pour déterminer si un patient répondra pre-traitement. Techniques d’évaluation de post-traitement s’appuient sur les changements dans la taille de la tumeur ou tumeur contraste absorption. Ce sont les critères de réponse, dont la plus précise est l’Association européenne Quantitative pour l’étude du critère du foie (qEASL)...

Déclarations de divulgation

A.A. fonctionne comme un logiciel consult pour santé Fidelity, Inc. qui emploie machine similaire, apprentissage des techniques sur des notes cliniques permettant d’optimiser le remboursement médical.

J.F.G. reçoit des frais personnels de soins de santé de Guerbet, BTG, seuil Pharmaceuticals (San Francisco, Californie), Boston Scientific et Terumo (Elkton, Maryland) ; et a un Conseil pour les laboratoires de Prescience (Westport, Connecticut).

Aucun des autres auteurs ont identifié un conflit d’intérêts.

Remerciements

A.A. a reçu un soutien financier de l’Office de la recherche des étudiants, Yale School of Medicine.

L.J.S. reçoit des subventions de la National Institutes of Health (NIH/NCI R01CA206180), bourse de recherche postdoctorale Leopoldina et le Rolf W. Guenther Foundation des Sciences radiologiques (Aachen, Allemagne).

J.C. reçoit des subventions de la National Institutes of Health (NIH/NCI R01CA206180), Philips Healthcare et la Fondation allemande-israélien pour la recherche scientifique et le développement (Jérusalem, Israël et Neuherberg, Allemagne) ; et bourses d’études de la Foundation de Guenther Rolf W. des Sciences radiologiques et la charité Berlin Institut de santé clinique scientifique programme (Berlin, Allemagne).

J.S.D. et M.L. reçoivent des subventions du National Institutes of Health (NIH/NCI R01CA206180) et Philips Healthcare (Best, Pays-Bas).

J.F.G. reçoit des subventions du National Institutes of Health (NIH/NCI R01CA206180), Philips Healthcare, BTG (Londres, Royaume-Uni), Boston Scientific (Marlborough, Massachusetts) et soins de santé de Guerbet (Villepinte, France)

matériels

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.

Références

  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).

Réimpressions et Autorisations

Demande d’autorisation pour utiliser le texte ou les figures de cet article JoVE

Demande d’autorisation

Explorer plus d’articles

M decinequestion 140Machine learningintelligence artificielleradiologie interventionnellecarcinome h patocellulairetrans art riel chimio embolisationsous la supervision d apprentissage machinepr dictive mod lisationpr dire des r sultatsla proc dure de planification

This article has been published

Video Coming Soon

JoVE Logo

Confidentialité

Conditions d'utilisation

Politiques

Recherche

Enseignement

À PROPOS DE JoVE

Copyright © 2025 MyJoVE Corporation. Tous droits réservés.