JoVE Logo

サインイン

このコンテンツを視聴するには、JoVE 購読が必要です。 サインイン又は無料トライアルを申し込む。

この記事について

  • 要約
  • 要約
  • 概要
  • プロトコル
  • 結果
  • ディスカッション
  • 開示事項
  • 謝辞
  • 資料
  • 参考文献
  • 転載および許可

要約

動注療法は、外科的切除を受けることができない肝細胞癌患者に対するケアの標準です。これらの治療法に対する応答予測手法を提案します。技術は、治療前に応答を予測できる機械学習モデルのトレーニングに、人口統計学的、臨床的および画像については事前手続きを使用します。

要約

動注療法は、外科的切除を受けることができない肝細胞癌患者に対するケアの標準です。この研究の目的は、介入前に動脈内治療への反応を予測する方法を開発するあった。

メソッドは、動注療法の前に結果を予測するための一般的な枠組みを提供します。それは全体の患者のコホート臨床的、人口統計学および画像データをプールと機械学習モデルを訓練するこれらのデータを使用して含まれます。トレーニング済みのモデルは、新しい患者に動脈内治療への反応の可能性を予測するために適用されます。

メソッドは、買収とNにおける経動脈的治療をすでに受けている患者の臨床的、人口統計学および画像データの解析を伴います。これらのデータは離散的特徴 (年齢、性別、肝硬変、腫瘍促進等の程度) に解析され、真/偽値 (例えば、 60、男性、性別、腫瘍強化閾値を設定する等を超えて時代) に二値化します。低分散機能と低単変量の関連付けは結果と機能が削除されます。各治療患者は、彼らが答えたまたは治療に応答しなかったかどうかに従って分類されます。各トレーニング患者は従ってバイナリ機能と結果ラベルのセットによって表されます。機械学習モデルは、 N - 1 症例左アウト患者にテストを使用して訓練されます。N患者ごとにこのプロセスが繰り返されます。Nモデルの平均値に最終的なモデルに到着します。

技術では、拡張性があり、今後の追加機能を含めることを可能します。また、放射線の外の臨床研究の質問に適用される汎化可能なプロセスです。主な制限は、各患者からの機能を手動で派生する必要です。深いと呼ばれる機械学習の普及した現代的な形この制限からを受けない学習しますが、大きなデータセットが必要です。

概要

肝細胞癌手術の候補者ではない患者は、動脈内治療1,2,3を提供しています。治療が投与される前に、患者が動注療法に対応かどうかを決定する 1 つの指標はありません。本研究の目的は、機械学習からメソッドを適用することによって治療効果を予測する手法を実証することでした。治療を続行するかどうかを選択するとき、このようなモデルは医師と患者に指導を提供します。

プロトコルは、トレーニングおよびプライマリ患者データ (臨床ノート、人口統計、実験室データ、およびイメージング) から始まってモデルの更新のための再現可能なプロセスを伴います。データは、バイナリ機能のセット、およびバイナリの結果ターゲット ラベルで表される各患者の特定の機能について最初に解析されます。肝細胞療法4,5,67のイメージングに基づく応答の確立された基準を用いて結果ラベル。機能とターゲット ラベルでは、機能と学習モデル (ロジスティック回帰またはランダム フォレスト)8,9,10特定の結果の間のマッピングを学ぶ機械学習ソフトウェアに渡されます。同様の手法は、放射線とがんの診断と治療予測11,12,13研究の他の領域に適用されています。

メソッドは、放射線の分野にコンピューター科学から技術を適応します。伝統的な意義インターベンショナル放射線医学研究は、一般的に、モノラルまたは oligo の機能解析に頼っています。たとえば、末期肝臓病のモデルには、肝疾患の程度を評価する臨床指標を 5 つが組み込まれています。提案手法の利点は、自由に機能を追加する機能20-5 機能分析の例と見なされます。機能が追加されることが望ましい。

手法は、事前・事後介入の画像データが使用可能な他のレントゲン写真の介入に適用可能性があります。たとえば、次の経皮的治療の成果は、同様の方法で予測可能性が。研究の主な制限は、モデルに含めるのため手動バーテンの機能に必要です。データのキュレーションと特徴抽出はプラクティショナーのためかかり、そのような機械学習モデルの臨床導入を妨げる可能性があります。

プロトコル

1。機械学習のためのワークステーションのセットアップ

  1. システムを使用して、次のように。
    インテル Core 2 Duo または 2.0 ghz 以上の CPU
    4 GB またはより多くのシステム メモリ
    POSIX 準拠のオペレーティング システム (Linux または Mac OS) または Microsoft Windows 7
    プログラムを実行して、ファイルを保存するためのユーザー アクセス許可
  2. 次のツールをインストールします。
    アナコンダ Python3: https://www.anaconda.com/download
    DICOM NIfTI コンバーター (dcm2niix) - https://github.com/rordenlab/dcm2niix
    崇高なテキスト エディター: https://www.sublimetext.com/
    itk スナップ (オプション): http://www.itksnap.org
    1. アナコンダ Python3、dcm2nii と崇高なテキストのインストール、オペレーティング システム固有のインストール手順については、それぞれのウェブサイトをご覧ください。
    2. 作成し、アナコンダ環境をアクティブにします。
      conda を作成 - 名前 mlenv
      conda アクティブ mlenv
    3. 機械学習のアナコンダ パッケージをインストールします。
      conda インストール numpy scipy scikit-nltk nibabel を学ぶ
      注: nltk パッケージ、nibabel パッケージ医療イメージ操作のための便利な機能を提供しますが、プレーン テキスト臨床ノートの解析に役立ちます。臓器と腫瘍医用画像からセグメントの itk スナップインをインストール可能性があります。特定の地域に制限フィーチャに便利です。

2。プレーン テキスト臨床ノートと構造化された臨床データからの特徴抽出

  1. プロジェクトの親ディレクトリを作成し、各患者親フォルダー内にフォルダーを作成します。ディレクトリ構造のようにする必要があります。
    プロジェクト/
    プロジェクト/Patient_1/
    プロジェクト/Patient_2/
    プロジェクト/Patient_3/
    ...
  2. 電子医療記録 (EMR) から臨床ノートのプレーン テキストを取得します。電磁波を介して手動でまたはデータのダンプを病院情報技術 (IT) オフィスによるノートを取得します。それぞれのフォルダーに各患者のメモを保存します。
    Project/Patient_1/History_and_Physical.txt
    Project/Patient_1/Procedure_Note.txt
    1. 臨床機能モデルに含めることを決めた。これらの機能のためのプレーン テキスト クリニック ノートを解析します。Python 言語ツールキット (nltk) ライブラリは、文章にドキュメントを分割するための便利なコマンドを提供します。各文は、黄疸などの適切な用語の検索が可能します。1 行につき 1 つの機能を持つファイルに各患者の機能を保存します。
      Project/Patient_1/Features.txt:
      67 歳
      性別男性
      アルブミン 3.1
      肝硬変のないです。
      hepatitis_c ないです。
      ...
    2. バイナリ以外の機能のすべての患者間で各機能の中央値を取る。中央値に基づいて true (1) または false(0) 値として各機能を成します。
      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。医療用画像からの特徴抽出

注: 手順 3 補足資料のコード例を参照してください。

  1. 病院の PACS から事前・事後治療磁気共鳴 DICOM 画像をダウンロードします。対応する患者のフォルダーにイメージを保存します。
    プロジェクト/
    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. Dcm2niix プログラムを使用して NIfTI 形式に DICOM 画像を変換します。次のコマンドでは、指定したフォルダー内のすべての .dcm イメージに変換します。すべての患者を繰り返します。
    dcm2niix プロジェクト/Patient_1/
    dcm2niix プロジェクト/Patient_2/
  3. Python に各 NIfTI ファイルを読み込みます。
    インポート nibabel
    イメージ = nibabel.load('Project/Patient_1/Pre_TACE_MRI_Pre-Contrast.dcm')
    1. 各画像の向きを正規化します。これにより、x、y、および z 軸は同じですが、画像を取得するために使用マシンに関係なく。
      cImage = nibabel.as_closest_canonical(image)
  4. 各イメージのバイナリの肝臓や腫瘍のマスクをセグメントに itk スナップ (または相当するソフトウェア パッケージ) を使用します。
    Project/Patient_1/Pre_TACE_MRI_Pre-Contrast_Liver_Mask.bin
    Project/Patient_1/Pre_TACE_MRI_Pre-Contrast_Tumor_Mask.bin
  5. Python に肝臓や腫瘍のマスクを読み込みます。MR 画像と同じ正規の軸に沿ってマスクを方向づけるために方向の問題を修正する方法を以下に示します。
    np としてインポート numpy
    f: としてオープン (liver_mask_file、'rb') と
    liver_mask = f.read()
    liver_mask = np.fromstring (liver_mask、dtype 'uint8' =)
    liver_mask = np.reshape (liver_mask、diff.shape、順序 = 'F')
    liver_mask = liver_mask [:::-1:]
    liver_mask [liver_mask > 0] = 1
    1. 肝臓や腫瘍のマスクを使用すると、肝臓や腫瘍を含むボクセルを分離します。
      肝臓 = np.copy(cImage)
      肝臓 [liver_mask < = 0] = 0
  6. 平均肝臓強化機能を計算します。
    mean_liver_enhancement = mean(liver)
    1. 肝ボリューム機能を計算します。
      pixdim = cImage.header['pixdim']
      単位 = pre.header['xyzt_units']
      dx, dy, dz = pre_pixdim [1:4]
      liver_volume = length(liver) * dx * dx * dz
    2. (省略可能)必要に応じて機能を追加を計算します。
  7. 画像特徴と患者固有の機能ファイルを更新します。
    Project/Patient_1/Features.txt:
    67 歳
    性別男性
    アルブミン 3.1
    肝硬変のないです。
    hepatitis_c ないです。
    pre_tace_mean_liver_enhancement 78
    pre_tace_liver_volume 10000
    1. イメージング機能ごとの中央値を計算、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. 機能の集約と削減

注: 手順 4 のコード例の補足資料を参照してください。

  1. それぞれの患者の患者 y 軸と x 軸に機能のスプレッドシートに Binary_Features.txt ファイルを結合します。
    患者> 60 の年齢男性のセックスアルブミン 3.5 <肝硬変の存在C 型肝炎に存在肝臓強化 > 50 を意味します。肝ボリューム > 20000
    10110010
    21110000
    30110100
    1. QEASL 結果応答ラベルを最後の列として追加します。
      患者> 60 の年齢男性のセックスアルブミン 3.5 <肝硬変の存在C 型肝炎に存在肝臓強化 > 50 を意味します。肝ボリューム > 20000qEASL レスポンダー
      101100101
      211100001
      301101000
    2. スプレッドシートをタブ区切りファイルとしてエクスポートします。
      Project/ML_Matrix.tsv:
      PatientAge > 60 男性セックス アルブミン 3.5 < 存在の肝硬変 C 型肝炎現在平均肝臓強化 > 50 肝ボリューム > 20000 qEASL レスポンダー
      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. 低分散機能を考慮の対象から削除します。
    np としてインポート numpy
    sklearn.feature_selection から VarianceThreshold をインポートします。

    # バイナリのマトリクスで読みます。
    機能 =
    ラベル =
    私は、enumerate(sys.stdin) の L:
    もし私 = = 0
    続行
    n_fs_L = L.strip().split('\t')
    n_fs_L[1:-1]]) で _ features.append([float(_)
    labels.append(n_fs_L[-1])
    X = np.array(features)
    y = np.array(labels)

    # レスポンダーと非 respnders の少なくとも 20% で表示される機能を計算します。
    モデル = VarianceThreshold (しきい値 = 0.8 * (1 - 0.8))
    X_new = model.fit_transform (X, y)
    男性セックス、アルブミン < 3.5、肝硬変および肝ボリューム > 2000 機能の存在が削除されています。
    患者> 60 の年齢C 型肝炎に存在肝臓強化 > 50 を意味します。qEASL レスポンダー
    10011
    21001
    30100
  3. 結果、低単変量の関連付けが機能を削除します。4.2 を渡される機能のみをフィルター処理します。保持 ceil (ログ2(N)) 機能、 Nは数値の患者。Ceil (ログ2(3)) = 2。

    数学をインポートします。
    sklearn.feature_selection から SelectKBest をインポートします。
    sklearn.feature_selection からインポート カイ 2乗

    # 4.2.1 のようにバイナリのマトリクスで読む
    ...

    # 単変量協会トップの ceil(log2(N)) 機能を計算します。
    k = math.ceil(log2(length(y)))
    モデル = SelectKBest (カイ 2乗, k = k)
    X_new = model.fit_transform (X, y)

    男性年齢 > 60 機能は、4.2.1 から残りの機能から取り外されました。
患者C 型肝炎に存在肝臓強化 > 50 を意味します。qEASL レスポンダー
1011
2001
3100

5。モデルのトレーニングとテスト

ステップ 5 補足資料のコード例を参照してください。

  1. 4.3 からバイナリ機能行列を用いたロジスティック回帰モデルをトレーニングします。
    数学をインポートします。
    sklearn.linear_model から LogisticRegression をインポートします。

    # 4.2 および 4.3 のようにバイナリのマトリクスで読みます。
    ...

    # 各患者に他の患者に対するモデルをトレーニングします。
    スコア 0.0
    モデル =
    len(X) の患者。
    # 列車すべてが患者の 1 つ上のモデル。
    train_x = np.array ([私は、enumerate(X) で _ _ if i! = 患者])
    train_y = np.array ([私は、enumerate(y) で _ _ if i! = 患者])
    モデル = LogisticRegression(C=1e15)
    model.fit (train_x、train_y)

    # 左アウト患者をテストします。
    y_prediction = model.predict(X[patient])
    場合 y_prediction = = y [患者]。
    スコア + = 1
    models.append(model)
  2. 4.2.2 からバイナリ機能マトリックスを使用してランダムなフォレスト モデルをトレーニングします。手順は、モデルのインスタンスを次のように更新する必要があります除いて 5.2.1, と同じです。
    sklearn.ensemble から RandomForestClassifier をインポートします。
    ...
    モデル = RandomForestClassifier(n_estimators=100)
    ...
  3. スコアを印刷/5.1 と 5.2 の len (X)。これはそれぞれすべてのロジスティック回帰モデルとすべてのランダムなフォレスト モデルの平均認識率を表します。Nのすべてのモデルは、予測結果として平均分類と新しい患者に適用されるべき

結果

提案手法は 36 肝細胞癌における経動脈的治療を受けていた人の患者に適用されます。20-5 機能が識別され、2 値化を使用して、手順 1-5。5 つの機能は、分散と単変量協会フィルター (手順 5.1 および 5.2 を参照) を満足し、モデルのトレーニングに使用されました。各患者は、レスポンダーまたは qEASL 応答規準の下で非応答機として分類されました。機能マトリックス?...

ディスカッション

外科的切除は肝細胞癌患者は、動注療法を提供しています。患者がを応答するかどうかを決定するいくつかの方法が存在する-治療。治療後評価技術は、腫瘍の大きさや腫瘍のコントラスト取り込みの変化に依存しています。これらは、最も正確な定量的欧州肝臓 (qEASL) 条件の研究会であることと、応答の条件と呼ばれます。qEASL は、両方の体積と応答の可能性を予測する療法強化変...

開示事項

編入は健康フィデリティ社臨床ノート医療償還を最適化するためのテクニックを学習と同様のマシンを採用したソフトウェア相談として動作します。

J.F.G. は、上市医療、BTG、しきい値医薬品 (サンフランシスコ、カリフォルニア)、ボストンサイエンティフィックとテルモ (メリーランド州エルクトン); から個人料金を受け取る有料のコンサルティングは、先見ラボ (ウェスト ポート, コネチカット)。

他の作者は、利害の衝突を識別しています。

謝辞

編入は、エール大学医学部学生研究局から資金援助を受けた。

L.J.S. は、健康の国民の協会 (NIH/NCI R01CA206180)、レオポルジナ サキヤマ, 放射線科学 (アーヘン、ドイツ) ロルフ ・ w ・ グンター財団から助成金を受け取ります。

J. c. は、科学的研究と開発 (エルサレム、イスラエルおよびアメリカ); 健康の国民の協会 (NIH/NCI R01CA206180)、フィリップス ヘルスケア、およびドイツ ・ イスラエル財団から助成金を受け取る放射線科学施ベルリン研究所の健康臨床科学者プログラム (ベルリン、ドイツ) ロルフ ・ w ・ グンター財団からの奨学金

J.S.D. とミリリットルは、健康の国民の協会 (NIH/NCI R01CA206180) とフィリップス ヘルスケア (ベスト、オランダ) から助成金を受け取る。

J.F.G. は、健康の国民の協会 (NIH/NCI R01CA206180)、フィリップス ヘルスケア、BTG (ロンドン、イギリス)、ボストンサイエンティフィック (マサチューセッツ州マールボロ) および上市ヘルスケア (ヴィルパント、フランス) から補助金を受け取る

資料

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.

参考文献

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

転載および許可

このJoVE論文のテキスト又は図を再利用するための許可を申請します

許可を申請

さらに記事を探す

140

This article has been published

Video Coming Soon

JoVE Logo

個人情報保護方針

利用規約

一般データ保護規則

研究

教育

JoVEについて

Copyright © 2023 MyJoVE Corporation. All rights reserved