JoVE Logo

Entrar

É necessária uma assinatura da JoVE para visualizar este conteúdo. Faça login ou comece sua avaliação gratuita.

Neste Artigo

  • Resumo
  • Resumo
  • Introdução
  • Protocolo
  • Resultados
  • Discussão
  • Divulgações
  • Agradecimentos
  • Materiais
  • Referências
  • Reimpressões e Permissões

Resumo

Intra-arterial terapias são o padrão de atendimento para pacientes com carcinoma hepatocelular, que não se submetem a ressecção cirúrgica. Propõe-se um método de previsão de resposta a essas terapias. A técnica utiliza informações clínicas, demográficas e de imagem pré-processuais para treinar modelos de aprendizagem de máquina capazes de prever a resposta antes do tratamento.

Resumo

Intra-arterial terapias são o padrão de atendimento para pacientes com carcinoma hepatocelular, que não se submetem a ressecção cirúrgica. O objetivo deste estudo foi desenvolver um método para prever a resposta ao tratamento intra-arterial antes da intervenção.

O método fornece um quadro geral para prever os resultados antes da terapia intra-arterial. Envolve pool de dados clínicos, demográficos e de imagem através de uma coorte de pacientes e usar esses dados para treinar um modelo de aprendizagem de máquina. O modelo treinado é aplicado aos novos pacientes para prever a probabilidade de resposta à terapia intra-arterial.

O método implica a aquisição e análise de dados clínicos, demográficos e da imagem latente de N pacientes que já tenham sido submetidos a terapias de trans-arterial. Estes dados são analisados em discretas características (idade, sexo, cirrose, grau de aprimoramento de tumor, etc.) e binarized em valores verdadeiro/falso (por exemplo, a idade mais de 60, sexo masculino, realce do tumor para além de um limiar definido, etc.). Características de baixa-variância e características com baixa univariada associações com o resultado são removidas. Cada paciente tratada é rotulado de acordo com se eles responderam ou não respondeu ao tratamento. Cada paciente de formação, portanto, é representado por um conjunto de características binárias e um rótulo de resultado. Modelos de aprendizagem de máquina são treinados usando N - 1 pacientes com testes sobre o paciente da esquerda-para fora. Este processo é repetido para cada um dos pacientes N . Os modelos de N são em média para chegar a um modelo final.

A técnica é extensível e permite a inclusão de recursos adicionais no futuro. É também um processo generalizável que pode ser aplicado às perguntas de pesquisa clínica fora da radiologia intervencionista. A principal limitação é a necessidade de derivar características manualmente de cada paciente. Uma popular forma moderna de aprendizado de máquina, chamado profunda aprendizagem não sofre essa limitação, mas exige maior datasets.

Introdução

Pacientes com carcinoma hepatocelular, que não são candidatos cirúrgicos são oferecidos terapias intra-arterial1,2,3. Não há nenhuma única métrica que determina se um paciente responderá a uma terapia intra-arterial, antes que o tratamento é administrado. O objetivo deste estudo foi demonstrar um método que prediz a resposta do tratamento através da aplicação de métodos de aprendizado de máquina. Esses modelos fornecem orientações para médicos e pacientes quando escolher se deseja prosseguir com um tratamento.

O protocolo implica um processo reprodutível para treinar e atualizar um modelo a partir de dados primários do paciente (notas clínicas, demografia, dados laboratoriais e imagem). Os dados inicialmente analisados para características específicas, com cada paciente, representada por um conjunto de recursos binários e um rótulo de destino resultado binário. O rótulo de resultado é determinado usando um critério estabelecido resposta baseada em imagem para hepatocelular terapia4,5,6,7. As características e destino rótulos são passados para o software de aprendizagem de máquina que aprende o mapeamento entre recursos e resultados sob um determinado modelo (regressão logística ou floresta aleatória)8,9,10de aprendizagem. Técnicas similares foram aplicadas em radiologia e outras áreas de pesquisa do câncer para diagnóstico e tratamento previsão11,12,13.

O método adapta-se a técnicas de informática para o campo da radiologia intervencionista. Estudos de significado tradicional em radiologia intervencionista e medicina em geral, dependem de análises mono - ou oligo-recurso. Por exemplo, o modelo para doença de fígado do extremidade-estágio incorpora cinco clínicas métricas para avaliar a extensão da doença hepática. A vantagem do método proposto é a capacidade de adicionar características liberalmente; Vinte e cinco características são consideradas na análise do exemplo. Recursos adicionais podem ser adicionados como desejado.

A técnica pode ser aplicada a outras intervenções radiográficas onde os dados de imagem pré e pós-intervenção estão disponíveis. Por exemplo, os resultados a seguir tratamentos percutâneas poderiam ser previstos de forma semelhante. A principal limitação do estudo é a necessidade de recursos de cura manual para inclusão no modelo. Curadoria e recurso de extração de dados é demorada para o praticante e pode impedir a clínica adoção de tal modelos de aprendizagem de máquina.

Protocolo

1. Instalação de estação de trabalho para a aprendizagem de máquina

  1. Use um sistema com o seguinte:
    Intel Core 2 Duo ou superior CPU de 2,0 GHz
    4 GB ou mais de memória de sistema
    Sistema operacional compatível com POSIX (Linux ou Mac OS) ou Microsoft Windows 7
    Permissões de usuário para executar programas e salvar arquivos
  2. Instale as seguintes ferramentas:
    Anaconda Python3: https://www.anaconda.com/download
    DICOM para NIfTI conversor (dcm2niix) - https://github.com/rordenlab/dcm2niix
    Editor de texto sublime: https://www.sublimetext.com/
    ITK-SNAP (opcional): http://www.itksnap.org
    1. Instalar o Python3 Anaconda, dcm2nii e texto Sublime, visite seus respectivos websites para etapas de instalação específicas do sistema operacional.
    2. Criar e ativar um ambiente de Anaconda.
      Conda criar..--nome mlenv
      Conda ativar mlenv
    3. Instale pacotes de Anaconda para aprendizado de máquina.
      Conda instalar numpy scipy scikit-aprender a nltk nibabel
      Nota: O pacote nltk é útil para analisar notas clínicas de texto sem formatação, enquanto o pacote de nibabel fornece funções úteis para manipulação de imagens médicas. ITK-SNAP pode ser instalado para segmentar órgãos e tumores de imagens médicas. É útil para restringir recursos para regiões específicas.

2. Extração de notas clínicas de texto sem formatação e estruturado de dados clínicos

  1. Criar um diretório pai para o projeto e criar uma pasta para cada paciente dentro da pasta pai. Estrutura de diretório deve ser semelhante:
    Projeto /
    Projeto/Patient_1 /
    Projeto/Patient_2 /
    Projeto/Patient_3 /
    ...
  2. Obter texto sem formatação de notas clínicas do registro médico eletrônico (EMR). Recuperar as notas manualmente através do EMR ou por meio do escritório de tecnologia (TI) hospital informações através de um depósito de dados. Armazene notas de cada paciente em suas respectivas pastas.
    Project/Patient_1/History_and_Physical.txt
    Project/Patient_1/Procedure_Note.txt
    1. Decidiu que características clínicas para incluir no modelo. Analisa as notas de clínica de texto sem formatação para esses recursos. A Biblioteca Python Natural Language Toolkit (nltk) fornece comandos úteis para dividir documentos em frases. Cada frase pode ser procurado termos apropriados, tais como icterícia. Armazene as características de cada paciente em um arquivo com uma característica por linha.
      Project/Patient_1/Features.txt:
      idade 67
      macho de sexo
      albumina 3.1
      cirrose não
      hepatitis_c não
      ...
    2. Para recursos não-binários, tome o valor mediano de cada recurso em todos os pacientes. Binarize cada recurso como um valor true(1) ou false(0), com base no valor médio.
      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. Extração de características de imagens médicas

Nota: Consulte o passo 3 materiais complementares para exemplos de código.

  1. Baixe imagens DICOM terapia pré e pós-ressonância magnética do hospital PACS. Armazenar imagens nas pastas correspondentes do paciente.
    Projeto /
    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. Converta imagens DICOM em formato NIfTI usando o programa dcm2niix. Os comandos a seguir converte todas as imagens de DCM na pasta especificada. Repita para todos os pacientes.
    Projeto de dcm2niix/Patient_1 /
    Projeto de dcm2niix/Patient_2 /
  3. Carrega cada arquivo NIfTI em Python.
    nibabel de importação
    imagem = nibabel.load('Project/Patient_1/Pre_TACE_MRI_Pre-Contrast.dcm')
    1. Canoniza a orientação de cada imagem. Isso garante que o x, y e z eixos são idênticos, independentemente da máquina usada para adquirir as imagens.
      cImage = nibabel.as_closest_canonical(image)
  4. Use o SNAP-itk (ou um pacote de software equivalente) para binário fígado e tumor máscaras para cada imagem do segmento.
    Project/Patient_1/Pre_TACE_MRI_Pre-Contrast_Liver_Mask.bin
    Project/Patient_1/Pre_TACE_MRI_Pre-Contrast_Tumor_Mask.bin
  5. Ler as máscaras de fígado e tumor em Python. O código a seguir demonstra como corrigir problemas de orientação a fim de orientar as máscaras ao longo dos eixos canônicos mesmos como as imagens do senhor.
    Import numpy como np
    com aberta (liver_mask_file, 'rb') como f:
    liver_mask = f.read()
    liver_mask = np.fromstring (liver_mask, dtype = 'uint8')
    liver_mask = np.reshape (liver_mask, diff.shape, ordem = 'F')
    liver_mask = liver_mask [:,:: -1,:]
    liver_mask [liver_mask > 0] = 1
    1. Use as máscaras de fígado e tumor para isolar voxels que contém fígado e tumor.
      fígado = np.copy(cImage)
      fígado [liver_mask < = 0] = 0
  6. Calcule o recurso de realce de fígado mau.
    mean_liver_enhancement = mean(liver)
    1. Calcule a característica de volume do fígado.
      pixdim = cImage.header['pixdim']
      unidades = pre.header['xyzt_units']
      DX, dy, dz = pre_pixdim [1:4]
      liver_volume = length(liver) * dx * dx * dz
    2. (Opcional) Calcule os recursos adicionais, conforme desejado.
  7. Arquivo de atualização de características específicas do paciente com as características de imagem.
    Project/Patient_1/Features.txt:
    idade 67
    macho de sexo
    albumina 3.1
    cirrose não
    hepatitis_c não
    pre_tace_mean_liver_enhancement 78
    pre_tace_liver_volume 10000
    1. Calcular valores medianos para cada recurso de imagem e binarize como na etapa 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. apresentam agregação e redução

Nota: Consulte a etapa 4 materiais complementares para exemplos de código.

  1. Combine os arquivos Binary_Features.txt para cada paciente em uma planilha com pacientes no eixo y e recursos no eixo x.
    Paciente> 60 anosSexo masculinoAlbumina 3.5 <Presença de cirroseHepatite C presentesQuer dizer fígado aprimoramento > 50fígado de volume > 20000
    10110010
    21110000
    30110100
    1. Adicione rótulos de resposta qEASL resultado como a coluna final.
      Paciente> 60 anosSexo masculinoAlbumina 3.5 <Presença de cirroseHepatite C presentesQuer dizer fígado aprimoramento > 50fígado de volume > 20000qEASL Respondente
      101100101
      211100001
      301101000
    2. Exporte a planilha como um arquivo delimitado por tabulação.
      Project/ML_Matrix.tsv:
      PatientAge > 60 masculino sexo albumina < 3.5 presença de cirrose hepatite C presente significa aprimoramento fígado > 50 fígado volume > 20000 qEASL Respondente
      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. Remova recursos de baixo-variância de consideração.
    Import numpy como np
    de importação de sklearn.feature_selection VarianceThreshold

    # Ler na matriz binária.
    características =]
    rótulos =]
    para mim, L em enumerate(sys.stdin):
    Se eu = = 0
    Continue
    n_fs_L = L.strip().split('\t')
    Features.Append([float(_) para _ em n_fs_L[1:-1]])
    Labels.Append(n_fs_L[-1])
    X = np.array(features)
    y = np.array(labels)

    # Calcule características aparecendo em pelo menos 20% dos respondentes e não-respnders.
    modelo = VarianceThreshold (limiar = 0,8 * (1 - 0,8))
    X_new = model.fit_transform (X, y)
    O sexo masculino, a albumina < 3.5, a presença de cirrose e características de fígado volume > 2000 ter sido removido.
    Paciente> 60 anosHepatite C presentesQuer dizer fígado aprimoramento > 50qEASL Respondente
    10011
    21001
    30100
  3. Remova recursos com baixa univariada-associação com o resultado. Filtre somente os recursos que passaram a 4.2. Manter Cely características (log2(N)), onde N é os números pacientes. Ceil (Log2(3)) = 2.

    matemática de importação
    de importação de sklearn.feature_selection SelectKBest
    de chi2 de importação sklearn.feature_selection

    # Ler na matriz binária como 4.2.1
    ...

    # Calcule características top ceil(log2(N)), associação univariada.
    k = math.ceil(log2(length(y)))
    modelo = SelectKBest (chi2, k = k)
    X_new = model.fit_transform (X, y)

    O recurso de > 60 do sexo masculino idade foi removido os recursos restantes do 4.2.1.
PacienteHepatite C presentesQuer dizer fígado aprimoramento > 50qEASL Respondente
1011
2001
3100

5. Modelo de treinamento e testes

Consulte a etapa 5 materiais complementares para exemplos de código

  1. Treine um modelo de regressão logística, usando a matriz de características binárias de 4.3.
    matemática de importação
    de importação de sklearn.linear_model LogisticRegression

    # Ler na matriz binária como em 4.2 e 4.3.
    ...

    # Para cada paciente, treina um modelo em todos os outros pacientes.
    resultado = 0,0
    modelos =]
    para o paciente em len(X):
    # Trem modelo em todos, mas um dos pacientes.
    train_x = np.array ([_ para eu, _ em enumerate(X) se i! = paciente])
    train_y = np.array ([_ para eu, _ em enumerate(y) se i! = paciente])
    modelo = LogisticRegression(C=1e15)
    Model.Fit (train_x, train_y)

    # Teste sobre o paciente da esquerda-para fora.
    y_prediction = model.predict(X[patient])
    se y_prediction = = y [paciente]:
    Pontuação + = 1
    Models.Append(Model)
  2. Treine um modelo de floresta aleatória usando a matriz de características binárias de 4.2.2. As etapas são idênticas às 5.2.1, exceto a instanciação do modelo deve ser atualizada como segue:
    de importação de sklearn.ensemble RandomForestClassifier
    ...
    modelo = RandomForestClassifier(n_estimators=100)
    ...
  3. Imprimir partitura / len (X) para 5.1 e 5.2. Isto representa a precisão média de todos os modelos de regressão logística e todos os modelos aleatórios de floresta, respectivamente. Todos os modelos de N devem ser aplicados para novos pacientes com a classificação média tomada como o resultado de previsão

Resultados

O método proposto foi aplicado a 36 pacientes que tinham sofrido trans-arterial terapias para carcinoma hepatocelular. Vinte e cinco características foram identificadas e binarized usando os passos 1-5. Cinco características satisfeito tanto a variância e filtros de associação univariada (consulte as etapas 5.1 e 5.2) e foram usadas para treinamento de modelo. Cada paciente foi rotulado como um Respondente ou não-Respondente sob os critérios de resposta qEASL. A matriz de recursos...

Discussão

Pacientes com carcinoma hepatocelular, que não são candidatos à ressecção cirúrgica são oferecidos terapias intra-arterial. Existem alguns métodos para determinar se um paciente responderá pre-tratamento. Técnicas de avaliação pós-tratamento dependem de mudanças no tamanho do tumor ou captação de contraste do tumor. Estes são chamados critérios de resposta, sendo o mais exato quantitativo Associação Europeia para o estudo do critério do fígado (qEASL). qEASL depende de ambos volumétrico e ...

Divulgações

A.A. funciona como uma consulta de software para saúde fidelidade, Inc. que emprega a máquina similar, aprendendo as técnicas clínicas notas para otimizar o reembolso médico.

J.F.G. recebe honorários de pessoais de saúde Guerbet, BTG, fármacos Threshold (San Francisco, Califórnia), Boston Scientific e Terumo (Elkton, Maryland); e tem uma empresa de consultoria paga para laboratórios de presciência (Westport, Connecticut).

Nenhum dos outros autores têm identificado um conflito de interesses.

Agradecimentos

A.A. receberam financiamento de apoio o escritório de pesquisa estudantil, escola de medicina de Yale.

L.J.S. recebe subsídios de Leopoldina Postdoctoral Fellowship, o National Institutes of Health (NIH/ICN R01CA206180) e o Rolf W. Guenther Foundation de Ciências radiológicas (Aachen, Alemanha).

J.C. recebe subvenções da Philips Healthcare, o National Institutes of Health (NIH/ICN R01CA206180) e a Fundação alemã-israelense para investigação científica e desenvolvimento (Jerusalém, Israel e Neuherberg, Alemanha); e bolsas de estudo da W. Rolf Guenther Foundation de Ciências radiológicas e o Charite Berlim Instituto de saúde cientista programa clínico (Berlim, Alemanha).

J.S.D. e M.L. recebem subvenções do National Institutes of Health (NIH/ICN R01CA206180) e Philips Healthcare (melhor, Países Baixos).

J.F.G. recebe subvenções do National Institutes of Health (NIH/ICN R01CA206180), Philips Healthcare, BTG (Londres, Reino Unido), Boston Scientific (Marlborough, Massachusetts) e Guerbet Healthcare (Villepinte, França)

Materiais

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.

Referências

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

Reimpressões e Permissões

Solicitar permissão para reutilizar o texto ou figuras deste artigo JoVE

Solicitar Permissão

Explore Mais Artigos

Medicinaquest o 140aprendizagemintelig ncia artificialradiologia intervencionistacarcinoma hepatocelularQuimioemboliza o trans arterialde m quina supervisionado de aprendizado de m quinapreditivo de modelagemprevendo resultadospr procedimento planejamento

This article has been published

Video Coming Soon

JoVE Logo

Privacidade

Termos de uso

Políticas

Pesquisa

Educação

SOBRE A JoVE

Copyright © 2025 MyJoVE Corporation. Todos os direitos reservados