脳動脈瘤における血流の計算流体力学シミュレーション

Biomedical Engineering

Your institution must subscribe to JoVE's Engineering collection to access this content.

Fill out the form below to receive a free trial or learn more about access:

 

Overview

ソース:ジョセフ・C・マスカット、ヴィタリー・L・レイズ、クレイグ・J・ゲルゲン、ウェルドン・スクール・オブ・バイオメディカル・エンジニアリング、パデュー大学、ウェスト・ラファイエット、インディアナ州

このビデオの目的は、患者または動物特有の血管系に基づく計算流体動的(CFD)シミュレーションの最近の進歩を記述することです。ここでは、被験者ベースの容器セグメンテーションを作成し、オープンソースと商用ツールを組み合わせて、フローモデル内で高分解能数値解を決定した。多くの研究は、血管内の出血力学的状態がアテローム性動脈硬化症、動脈瘤、および他の末梢動脈疾患の発症および進行に影響を与えることを実証している。それに加えて、ルミナル圧、壁せん断応力(WSS)、および粒子滞留時間(PRT)の直接測定は、生体内で取得することが困難である。

CFDは、そのような変数を非侵襲的に評価することを可能にする。さらに、CFDは手術後の流れの状態に関するよりよい先見性を医師に提供する外科技術をシミュレートするために使用される。磁気共鳴画像(MRI)、磁気共鳴血管造影(MRA)、飛行時間(TOF-MRA)またはコントラスト増強MRA(CE-MRA)と位相コントラスト(PC-MRI)の2つの方法により、船舶の形状と時間分解3D速度場を得ることができます。それぞれ。TOF-MRAは、画像化されたボリュームに適用される繰り返しRFパルスによる静的組織からの信号の抑制に基づいている。信号は、流れる血液と共に体積に移動する不飽和スピンから得られる。CE-MRAは、ガドリニウムなどの造影剤を使用して信号を増加させるため、複雑な再循環流を有する血管をイメージングするためのより良い技術です。

これとは別に、PC-MRIはバイポーラ勾配を利用して流体の速度に比例する位相シフトを生成し、時間分解速度分布を提供します。PC-MRIは血流速度を提供することができるが、この方法の精度は限られた時空間分解能および速度のダイナミックレンジの影響を受ける。CFDは優れた解像度を提供し、高速ジェットから疾患血管で観察される遅い再循環渦まで速度の範囲を評価することができます。したがって、CFDの信頼性はモデリングの仮定に依存するが、それは診断および治療を導くことができる患者特有の流れ分野の高品質、包括的な描写のための可能性を開く。

Cite this Video

JoVE Science Education Database. バイオメディカルエンジニアリング. 脳動脈瘤における血流の計算流体力学シミュレーション. JoVE, Cambridge, MA, (2020).

Principles

TOF-MRA、CE-MRA、PC-MRIは、CFDシミュレーションの入力ジオメトリおよびフロー境界条件としてよく使用されます。上で説明したように、容器の形状と流入境界条件(断面を通る速度プロファイル)は、被験者ごとに測定されます。本研究に含まれるデータでは、TOF-MRA分解能は0.26 x 0.26 x 0.50 mm、PC-MRI分解能は1.00 x 1.00 x 1.20 mmであった。4DフローMRI配列は、心臓サイクルを介して三次元速度分布を獲得するために使用された。TOF データは、さまざまなツールを使用して擬似自動的にセグメント化されます。画像解像度、すなわちボクセルのサイズは、ジオメトリの結果モデルの品質に直接影響を与えます。4D フロー MRI はEquation 1、次の式に従って位相シフトEquation 2を使用して、各ボクセルの血液速度を決定します。

Equation 3(1)

Equation 4(2)

測定された位相シフトと速度は、勾Equation 5配場、ジャイロ磁気比Equation 6、スピンの初期位置、スピンEquation 7速度Equation 8、およびスピン加速度Equation 9によって異なります。磁界と材料定数は、MRIスキャンの初期化中に定義されます。4DフローMRIは3つの直交方向にエンコードし、3次元速度場を得ます。次いで、患者または動物特有の症例ごとに3Dモデルを生成することができる。手順セクションで詳しく説明する方法は、次のように一般化された Navier-Stokes 方程式を数値的に解くことで、CFD シミュレーションに役立ちます。

Equation 10(3)

ここでEquation 11密度、Equation 12流速、pは圧力、muは流れの動的粘度です。

Procedure

チュートリアルの前駆体は、患者固有の血管モデルの作成です。このデモでは、MRA データから四面体ボリューム メッシュを生成するために、[ミテリアス]、[3D システム ジオマジック デザイン X]、および [アルテア ハイパーメッシュ] ツールを使用して、MRA データから四面体ボリューム メッシュを生成しました。

1. モデルの船舶中心線の生成

  1. vmtk ランチャー Python GUI を開きます。PypePad で、次のように入力します。
  2. [実行] を選択し、[すべて実行] を選択して、データをプログラムに読み込みます。入力モデルの命令とレンダリングを表示する新しいウィンドウが開きます。モデルを回転し、各入口の位置に curser を配置します。スペースバーを押してシードを配置します。
  3. すべての入口に種子を置いた後、「Q」を押して続行します。すべてのコンセントに対して同じシードの配置を繰り返します。出口の種子を置いた後、もう一度「Q」を押して、プログラムを実行します。これにより、中央のファイルがデスクトップに保存されます。

2. 可視化ソフトウェアにおけるデータ設定

  1. オープンソースの視覚化ツール ParaView (この手順で使用するバージョン 5.4.1) を起動します。
  2. [ファイル]、[開く...]、以前に作成したファイル(患者固有のボリューム メッシュ、センターライン ファイル、EnSight.case ファイル)を選択します。[OK]をクリックすると、すべてのデータがインターフェイスに読み込まれます。
  3. 左下の[プロパティ]テーブルで、[適用] を選択します。このコマンドは、ユーザーが ParaView で読み込みまたは変更したすべての情報を読み込んで読み取ります。パイプライン ブラウザ内でボリューム メッシュの名前をクリックして、ボリューム メッシュをハイライト表示し、この選択をアクティブにします。
  4. ここでも、[プロパティ]テーブルで[不透明度]の値を0.2 ~ 0.5の間にスクロールして変更します。ここで、中心線とジオメトリレンダリングが表示されます。

3. 体積メッシュグリッドを使用して4DフローMRIデータを再マップし、ノイズを削除する

  1. 上部のメニューから、[フィルタ]、[アルファベット順]、[リサンプルWithデータセット]の順に選択します。新しいウィンドウが開きます。ソースをボリューム メッシュとして設定し、入力を EnSight.case ファイルとして設定します。これらが設定されたら、[OK] を選択します
  2. [プロパティ]テーブルで、[適用] を選択してフィルターを適用します。
  3. 前と同様に、新しいResampleWith データセット# 名を強調表示してアクティブにします。前述のように、この新しいレンダリングの不透明度を下げます。また、中心線をサーフェスから上部メニューのに変更します。

4. 流入口と出口の流れ境界条件を決定する

  1. インターフェイスの右側で、レンダリング オプションを最大化して最小化する横で、[ビューを作成]ツール(垂直線付きの正方形)を選択します。[スプレッドシート ビュー ]オプションを選択します。
  2. [表示] ドロップダウン ボックスから、中心線ファイルを選択します。一度に選択できるファイルの種類は 1 つだけです。データを循環し、さまざまなポイントを選択して、各入口と出口内の位置を特定します。
  3. 次に、[ポイント]の下にあるスプレッドシート ビューを使用して、(4.2) で見つかった同じ位置付近の 2 点間の法線ベクトルを計算します。
  4. 各入口と出口の位置の法線ベクトルを見つけた後、[フィルター]、[アルファベット順]、[スライス] の順に選択します。事前にリサンプル With データセット#をアクティブにしてください。
  5. スライスフィルターは、 ResampleWithDataset#から取得した新しい分岐の下に表示される必要があります。[プロパティ]テーブルで、法線ベクトルの計算に使用する 2 つの点の 1 つに対して、平面の原点を同じ XYZ 点の位置として設定します。(4.3)の法線ベクトルを使用して、法線の値を入力します。[適用] を選択します。
  6. 作成したSlice#フィルタを強調表示/アクティブ化し、[フィルタ]、[アルファベット順]、[サーフェス フロー] の順に選択し、[適用] を選択します。[ パイプライン ブラウザ] で新しいSurfaceFlow#アイテムをアクティブにし、[フィルタ]、[アルファベット順]、[グループ時間ステップ]、[適用] などの[フィルタ]、[アルファベット順]、[グループの時間ステップ] の順に適用します。
  7. [スプレッドシート ビュー] で、グループタイムステップ#データを開きます。このデータを Excel にエクスポートするには、スプレッドシートをコピーして貼り付け、または使用します
  8. Excel では、各流出口の流量の比率に対応する加重値を合計流入口流量に対して計算します。4D Flow MRIデータの固有のノイズと誤差により、質量の保全を確保するために「オープン」のままにしておく最小の(一般的に信頼性の低いデータを持つ)船を特定します。
  9. CFD シミュレーションソフトウェアでは、一時的な流れ波形は読み取り-一時的テーブルコマンドを使用して読み込まれます。したがって、オンライン チュートリアルで説明されている互換性のある .txt 形式で入口フロー データを保存します。

5. CFD シミュレーションのセットアップ

  1. CFDシミュレーションソフトウェアを開きます。ここでは、ANSYS Fluent (この手順で説明されているバージョン 18.1 をデフォルトとして使用します) を使用します。[ファイル]、[読み取り]、および [ケース...] を選択し、ParaView で以前使用していたボリューム メッシュ .cas ファイルを開きます。[表示] を選択してメッシュを表示します(この手順では Altair HyperMesh で生成された .cas ファイルを使用します)。
  2. モデルの正しい物理サイズを確保するために、ジオメトリをスケーリングすることが重要です。[スケール...]を選択し、特定のケースに必要な単位変換を適用してから[閉じる] を選択します。
  3. [マテリアル]を選択し、[作成/編集]を選択して、血液の材料特性を入力します。このチュートリアルでは、密度と粘度にそれぞれ 1060 kg/s と 0.0035 kg/ms の生理的に関連する値を使用します。
  4. 各流入口の時間の関数として質量流量または速度流量を指定して、非定常流れ境界条件を設定します。4DフローMRI測定から得られた波形を使用して、入口境界条件を規定します。アウトレットには、(4.8)に含まれる加重値が与えられます。
  5. [ソリューション]、[方法] で、Navier-Stokes 方程式の空間的および時間的離散化に使用する数値スキームを設定します。この手順では、全圧力速度結合を有効にする結合済み (最小二乗セル ベース(勾配)、圧力の2 次スキーム、運動量方程式の3 次 MUSCLスキーム、および時間内の離散化のための2 次暗黙的スキームを使用します。左上のTimeパラメーターが[Transient]に設定されていることを確認します。
  6. [ソリューション] の[初期化] で、[標準初期化]を選択します。すべての初期値0に設定した後、[初期化] を選択します。これで、プログラムが実行するように設定されます。[計算アクティビティ] の下にある [自動保存間隔 (時間ステップ)]の下に、すべての自動保存 (時間ステップ) の結果を保存するソリューション フォルダーを指定します。
  7. 最後の手順では、[ 実行計算] の [時間ステップ サイズ]を設定します。この値を決定するには、(4.7) の Excel 境界条件データを使用します。時間ステップを短縮すると、収束が容易になり、数値解の精度が向上すると同時に、解析時間が長くなります。初期の一過性の影響を排除するために、少なくとも3つの完全な心周期のシミュレーションを実行することをお勧めします。
  8. 最後に、300 ~ 500の各時間ステップの最大反復回数を設定します。収束に達すると、ソフトウェアは自動的に各時間ステップで反復を停止し、次の時間ステップに進みます。収束は、平均速度値を持つ安定した流れシミュレーションを実行し、その結果を拍動流シミュレーションの初期条件として使用することで改善できます。ソルバーを実行する準備ができたら、[計算] を選択します。
  9. 収束が達成されるか、最大反復が発生して反復が続行されるまで、ソフトウェアは各反復を実行します。ファイルは(5.5)の場所に自動的に保存され、ソリューションデータはANSYS CFD-PostまたはParaViewソフトウェアのいずれかで視覚化することができます。

計算流体力学シミュレーションは、患者の血管系の血流を分析し、診断と治療を導くために使用されます。計算流体力学(CFD)は、数値解析法を使用して流体の流れをモデル化し、高速飛行機周辺の流体の流れ、複雑な配管ネットワークを介した流れなど、さまざまな流れシナリオの現実的な条件をシミュレートします。心血管系。

医療用途では、血管形状を得るために様々な画像技術が使用されています。次に、冠状動脈性心疾患、動静脈奇形、動脈瘤などの血管機能障害の疾患の進行とモデル治療シナリオを予測するために使用されるCFDシミュレーションが実行されます。

このビデオでは、CFDの原理を示し、血管の形状を使用して高解像度の血行力学をモデル化する方法を示し、CFDのいくつかのアプリケーションについて説明します。

まず、心血管のダイナミクスとCFDの原理を理解しましょう。

心血管血行力学は、左右の心室や心房を通る心臓の血流、心臓から身体の他の部分への血管の血流を含む心臓の血流のダイナミクスを記述する。複雑な血管ネットワークは、磁気共鳴血管造影とベロシメトリーまたはX線透視法を使用して可視化することができます。これらの方法は、患者の血管の幾何学的形状を概説し、流れ境界条件を定義する。

これが取得されると、血液速度データは 3D 空間を定義するグラフィカル情報の単位であるボクセルに分割され、各ボクセルで位相シフトが取得されます。これらは、ジャイロ磁気比、主磁場、適用された勾配場、およびスピンの位置によって異なります。これは、スピンの初期位置、スピン速度、およびスピン加速度によって異なります。タウは、4 番目の次元を定義する時間です。

これらのパラメータは MRI によって定義され、CFD シミュレーションに入力されます。3D流速は、ナビエ・ストークス方程式またはNS方程式を数値で解くことによって決定されます。NS方程式は、速度と圧力分布を決定するために解決された流体運動の支配方程式です。それらは流れの密度、速度、圧力および動的な粘度を考慮に入れる。

次に、流体力学の原理を実際の血管形状にどのように適用し、高解像度のCFDシミュレーションを生成するかを見ていきます。

開始する前に、MRA データから患者固有の血管モデルを作成します。これは、画像セグメンテーションのためのオープンソースソフトウェアを使用して行うことができます。

このデモでは、四面体ボリューム メッシュが生成されました。次に、vmtk ランチャー Python GUI を開きます。PypePad で、必要なファイル名を入力します。このベア ボーン コマンドは、入力 STL ファイルをデスクトップからプルします。[実行]、[すべて実行] の選択して、データをプログラムに読み込みます。入力モデルの命令とレンダリングを表示する新しいウィンドウが開きます。

モデルを回転し、各入口位置にカーソルを置きます。スペースバーを押して、1つの入口にシードを配置します。すべての入口に対してこの手順を繰り返します。次に Q キーを押して続行します。次に、すべてのコンセントに対して同じシードの配置を繰り返します。Q をもう一度押して、プログラムを実行します。中心線ファイルが生成され、デスクトップに保存されます。

これで、オープンソースの可視化ツールParaViewを使用して、フローデータを含むボクセルを静止組織から分離する準備ができました。患者固有のボリューム メッシュ、センターライン ファイル、および EnSight.case ファイルのファイルを見つけて、[OK] をクリックしてデータをインターフェイスにロードします。[プロパティ] テーブルに移動し、[適用] を選択してすべての情報を読み込んで読み取ります。次に、パイプライン ブラウザで体積メッシュをハイライト表示します。

[プロパティ] テーブルで、不透明度の値を 0.2 ~ 0.5 の間に変更します。中心線とジオメトリレンダリングが表示されます。次に、トップ メニューに移動し、[フィルター]、[アルファベット順]、[データセットでリサンプリング] の順に選択し、ソースをボリューム メッシュとして設定し、入力を EnSight.case ファイルとして設定します。[OK] をクリックして続行し、[プロパティ] テーブルにフィルタを適用します。次に、新しい [データセットを使用したリサンプル] をハイライト表示し、不透明度を下げます。

上部のメニューから、中心線をサーフェスからポイントに変更します。境界条件を決定するには、インタフェースの右側に移動し、[水平作成ビューを分割]ツールを選択します。[スプレッドシート ビュー]オプションを選択します。[表示]ドロップダウン ボックスから[中心線ファイル]を選択し、ファイルを切り替えて、各入口と流出口内の位置を識別するさまざまなポイントを選択します。次に、スプレッドシート ビューを使用して、2 つの点間の法線ベクトルを計算します。

ベクトルを見つけた後、リサンプルWithデータセットをアクティブにし、[フィルター]、[アルファベット順]、[スライス]の順に選択します。スライスフィルタが表示されていることを確認し、[プロパティ]テーブルに移動し、法線ベクトルの計算に使用した 2 つの点の 1 つに対して、平面の原点を同じ X、Y、Z ポイントの位置として設定します。これを使用して法線の値を入力し、[適用]を選択します。新しく作成したスライス フィルタをアクティブにし、[フィルタ]、[アルファベット順]、[サーフェス フロー]の順に選択します。[適用] をクリックし、新しい [サーフェス フロー] アイテムをアクティブにし、[フィルター]、[アルファベット順]、[グループ時間ステップ]、[適用] の順に続きます。

スプレッドシート ビューで GroupTimeSteps データを開き、[スプレッドシートのエクスポート] または [コピーと貼り付け] を使用して、このデータを Excel にエクスポートします。ParaView 内で、時間ステップと時間ステップサイズを決定します。シミュレーションでは、心臓サイクルをゼロに等しく開始します。したがって、適切なタイム スケールを生成します。次に、スライスフィルターをアクティブにし、[フィルター]、[アルファベット順]、[変数の統合] の順に選択します。

ポップアップで[属性]を変更して[セルデータ]を表示します。これにより、入口スライスの断面積が表示されます。流れデータをANSYS Fluentと互換性を持たせるために、秒の単位で時間スケールを決定し、毎秒メートル単位で入口速度を決定します。

最初の行には、データ名、列数、行数、および繰り返し可能なバイナリ トリガーが含まれている必要があります。次の行には、各データ列の名前が含まれています。レートではなく流れの速度は、それぞれの列ヘッダーの下に設定されます。複数の心周期をスムーズにシミュレートするには、初期速度と最終速度の値が同等である必要があります。

[ファイル]、[読み取り]、[ケース]を選択し、以前に使用したボリューム メッシュ .cas ファイルを開きます。読み込み後にメッシュを表示するには、[読み取り後にメッシュを表示]チェック ボックスをオンにします。[尺度]を選択し、必要な単位変換を適用して、モデルの物理的なサイズが正しいことを確認します。[マテリアルの作成/編集]を選択し、血液の材料プロパティを入力します。

次に、コンソールのコマンド ウィンドウと入力ファイル/ を選択します。読み取り非定常テーブルを使用して、ボリューム メッシュの .cas ファイルと同じ場所にある一時的なフロー 波形を読み込みます。4DフローMRI測定から得られた波形を使用して、入口境界条件を設定します。次に、出口への入口の加重比を使用して、流出口境界条件を設定します。

ナビエ・ストークス方程式の圧力速度結合と離散化に使用する数値スキームを設定します。次に、ソリューションの初期化で、すべての初期値を 0 に設定します。[計算アクティビティ] で、結果を保存するソリューション フォルダーを指定し、[自動保存]、[毎回のステップ] で頻度を指定します。[計算の実行] で、Excel 境界条件データから時間ステップ サイズを設定します。多くの場合、より小さな時間ステップを選択し、Fluent が補間できるようにすることをお勧めします。少なくとも 3 つの心周期について繰り返します。

最後に、最大反復回数を 300 ~ 500 の間に設定します。収束が発生すると、各時間ステップで自動的に反復が停止します。シミュレーションが完全に設定されたら、[初期化]、[初期化]に戻します。[計算の実行] に戻り、[計算]を選択してソルバーを実行します。ソリューションデータは、ANSYS CFD-PostまたはParaViewソフトウェアのいずれかで視覚化できるようになりました。

次に、代表的なデータをいくつか調べます。脳動脈瘤の一例を以下に示します。4DフローMRIデータから、動脈瘤領域内の複雑な再循環流パターンが検出された。しかしながら、分解能は病変の上下部で観察される停滞流の領域において制限される。CFDシミュレーションを実行した後、特に容器壁の近くで、速度場のより高い分解能が得られました。

CFDはまた、同じ容器内の異なる流れ条件を比較するために使用することができます。例えば、左右前大脳動脈の外科的クリッピングのシミュレーションは、流れダイナミクスに対する処置の効果を可視化するのに役立つ。

血流の計算流体力学シミュレーションは、様々な生物医学用途で使用される有用なツールである。

例えば、血管内の出血力学的状態は、アテローム性動脈硬化症および動脈瘤を含む動脈疾患の発症および進行に影響を及ぼす。直接測定は生体内での取得が困難であるため、CFDは血流ダイナミクスのモデル化に使用される標準的な研究ツールです。それは診断のための医者の指導、また異なった処置のシナリオを提供できる。

血管モデリングに加えて、CFDシミュレーションは鼻気道モデルに基づいて気流をシミュレートするのに役立ちます。脳と直接相互作用する標的嗅覚領域に、適切かつ制御された方法で医薬品エアロゾルを提供するプロトコルを設計することは特に有用である。

JoVE の血流をシミュレートするための計算流体力学の紹介を見たところです。次に、3 次元血管形状に基づいて、高分解能血流ダイナミクスをモデル化する方法を理解する必要があります。見ていただきありがとうございます!

Results

このデモでは、脳動脈瘤の被験者特異的モデルが生成され、CFDを使用して流れ場をシミュレートしました。画像データから得られない詳細なフロー機能を提供し、ヘモダイナミクス力を定量化することで、CFDを使用して低分解能の4DフローMRIデータを増強できます。 図 1は、CFD が近壁の再循環領域の流れをより完全に説明する方法を示しています。

Figure 1
1:A)船舶形状内の4DフローMRIデータの可視化B) CFDシミュレーション結果の可視化一般に、CFDの合理化は、この脳動脈瘤内の血流パターンのより完全な理解を与える。

図1は、CFDの結果が生体内4DフローMRIと一致していることを示しています。図1(A)は、動脈瘤領域内の複雑な再循環流れパターンを示し、動脈のバルーン状膨張を、4DフローMRIで検出した。しかし、病変の上部および下部の停滞した流れの領域は、合理化で満たされていません。これは、これらの領域における信号対雑音比が低いためです。図 1 (B) に示す CFD シミュレートされたフローは、特に容器壁の近くにある高分解能速度フィールドを提供します。したがって、CFDモデルは、動脈瘤疾患の進行を予測するために使用することができる圧力、WSS、PRTなどの臨床的に関連する、フロー由来のメトリックのより高い精度の推定値を提供することができる。

さらに、CFD シミュレーションを使用して、代替治療オプションに起因する術後の流れ条件をモデル化できます。例えば、図2(A)と(B)は、流入速度が異なる同じ容器を通る流れを比較します。流れのない血管閉塞をシミュレートするなど、様々な境界条件を処方することにより、様々な外科的治療の後の流れが示される。

Figure 2
2:A)右前大脳動脈(ACA)の外科的クリッピングのためのシミュレーションB)左ACAの外科的クリッピングのためのシミュレーション。わかりやすくするために、この図は非修飾入口での術前流入速度を維持する。実際には、流量は補償するために開いた容器で増加します。C)正常な血流速度は、このモデルの入口条件を規定する。4DフローMRIからの忍耐強いデータは流れパターンの現実的な視覚化のための入口条件を提供する。

様々な外科的治療から生じる術後の流れ場をシミュレートする能力は、CFDモデルの重要な利点です。現実的な患者固有のジオメトリと流入データを適用することにより、異なる治療シナリオを実証して、計画された手順がフローパターンに及ぼす影響に関する情報を医師に提供することができます。たとえば、図 2 (A) と (B) は、一方または他方の近位動脈がクリップされた場合に発生する循環流れを示しています。血管のクリッピングやフローダイバータの展開などの治療をシミュレートできるため、医師や患者は特定のケースで最適なものを決定できます。

Applications and Summary

ここで説明するフレームワークは、患者固有のCFDシミュレーションを実行するために使用することができます。高解像度メッシュは、低解像度の4DフローMRIデータを補間するために使用されます。これにより、フロー データが分離され、船舶壁の外部ノイズに関連するエラーが最小限に抑えられます。流入口と出口の流れに患者ベースの境界条件を使用することにより、シミュレーションはMRIで画像化された血行力学的条件を一致させることができる。

PC-MRIの新しい方法は、速度のより大きな、動的な範囲を示すことが可能です。しかし、これは患者のスキャン時間によって厳しく制限される。多くの場合、患者データはスキャナー内で費やす時間を短縮するために、より低い解像度で取得されます。残念ながら、これは、ダイアライシングされたデータまたは信号ドロップオフのいずれかが発生する可能性があります, 速度符号化勾配(VENC)が高すぎると問題が悪化します.これにより、フロー データの循環が遅くなり、再循環する可能性があります。患者固有のフローとジオメトリをCFDと組み合わせることで、高解像度の血流ダイナミクスを捕捉するための効果的な方法を提供します。

患者ベースのモデリングが本質的に有用なのは、一般的に非常に異なる特性を有する患者、疾患、または治療全体で一般化することなく、詳細な情報を提供する能力です。シミュレーションにより、医師やエンジニアは、実際の手順を実行する前に代替治療シナリオをモデル化できます。血流ダイナミクスのシミュレーションは、ステント、動脈バイパス移植、およびカテーテルベースのコントラスト注入を転用する流れをモデル化するために使用することができます。臨床医と患者は最良の結果を望むが、CFDはより良い先見性を提供する術後の流れを見るための方法を提供する。装置または処置を導入した後の流れを描写することとは別に、CFDは壁のせん断応力の推定を可能にする。これは、低WSSがしばしば動脈疾患の進行に相関するという知識と組み合わせることで、予測または確率モデリングを可能にする。計算ツールを使用して動脈瘤の成長、血栓形成、または出血の前駆体を識別すると、リスクの高い患者を早期に特定する可能性が生じます。要約すると、患者固有の画像データとCFDシミュレーションの組み合わせは、疾患評価と外科的予測のための強力なツールです。

確認

著者たちは、ノースウェスタン大学のスザンヌ・シュネル博士とマイケル・マークル博士に、私たちの数字で使用される4D患者データを提供してくれたことに感謝したいと思います。

チュートリアルの前駆体は、患者固有の血管モデルの作成です。このデモでは、MRA データから四面体ボリューム メッシュを生成するために、[ミテリアス]、[3D システム ジオマジック デザイン X]、および [アルテア ハイパーメッシュ] ツールを使用して、MRA データから四面体ボリューム メッシュを生成しました。

1. モデルの船舶中心線の生成

  1. vmtk ランチャー Python GUI を開きます。PypePad で、次のように入力します。
  2. [実行] を選択し、[すべて実行] を選択して、データをプログラムに読み込みます。入力モデルの命令とレンダリングを表示する新しいウィンドウが開きます。モデルを回転し、各入口の位置に curser を配置します。スペースバーを押してシードを配置します。
  3. すべての入口に種子を置いた後、「Q」を押して続行します。すべてのコンセントに対して同じシードの配置を繰り返します。出口の種子を置いた後、もう一度「Q」を押して、プログラムを実行します。これにより、中央のファイルがデスクトップに保存されます。

2. 可視化ソフトウェアにおけるデータ設定

  1. オープンソースの視覚化ツール ParaView (この手順で使用するバージョン 5.4.1) を起動します。
  2. [ファイル]、[開く...]、以前に作成したファイル(患者固有のボリューム メッシュ、センターライン ファイル、EnSight.case ファイル)を選択します。[OK]をクリックすると、すべてのデータがインターフェイスに読み込まれます。
  3. 左下の[プロパティ]テーブルで、[適用] を選択します。このコマンドは、ユーザーが ParaView で読み込みまたは変更したすべての情報を読み込んで読み取ります。パイプライン ブラウザ内でボリューム メッシュの名前をクリックして、ボリューム メッシュをハイライト表示し、この選択をアクティブにします。
  4. ここでも、[プロパティ]テーブルで[不透明度]の値を0.2 ~ 0.5の間にスクロールして変更します。ここで、中心線とジオメトリレンダリングが表示されます。

3. 体積メッシュグリッドを使用して4DフローMRIデータを再マップし、ノイズを削除する

  1. 上部のメニューから、[フィルタ]、[アルファベット順]、[リサンプルWithデータセット]の順に選択します。新しいウィンドウが開きます。ソースをボリューム メッシュとして設定し、入力を EnSight.case ファイルとして設定します。これらが設定されたら、[OK] を選択します
  2. [プロパティ]テーブルで、[適用] を選択してフィルターを適用します。
  3. 前と同様に、新しいResampleWith データセット# 名を強調表示してアクティブにします。前述のように、この新しいレンダリングの不透明度を下げます。また、中心線をサーフェスから上部メニューのに変更します。

4. 流入口と出口の流れ境界条件を決定する

  1. インターフェイスの右側で、レンダリング オプションを最大化して最小化する横で、[ビューを作成]ツール(垂直線付きの正方形)を選択します。[スプレッドシート ビュー ]オプションを選択します。
  2. [表示] ドロップダウン ボックスから、中心線ファイルを選択します。一度に選択できるファイルの種類は 1 つだけです。データを循環し、さまざまなポイントを選択して、各入口と出口内の位置を特定します。
  3. 次に、[ポイント]の下にあるスプレッドシート ビューを使用して、(4.2) で見つかった同じ位置付近の 2 点間の法線ベクトルを計算します。
  4. 各入口と出口の位置の法線ベクトルを見つけた後、[フィルター]、[アルファベット順]、[スライス] の順に選択します。事前にリサンプル With データセット#をアクティブにしてください。
  5. スライスフィルターは、 ResampleWithDataset#から取得した新しい分岐の下に表示される必要があります。[プロパティ]テーブルで、法線ベクトルの計算に使用する 2 つの点の 1 つに対して、平面の原点を同じ XYZ 点の位置として設定します。(4.3)の法線ベクトルを使用して、法線の値を入力します。[適用] を選択します。
  6. 作成したSlice#フィルタを強調表示/アクティブ化し、[フィルタ]、[アルファベット順]、[サーフェス フロー] の順に選択し、[適用] を選択します。[ パイプライン ブラウザ] で新しいSurfaceFlow#アイテムをアクティブにし、[フィルタ]、[アルファベット順]、[グループ時間ステップ]、[適用] などの[フィルタ]、[アルファベット順]、[グループの時間ステップ] の順に適用します。
  7. [スプレッドシート ビュー] で、グループタイムステップ#データを開きます。このデータを Excel にエクスポートするには、スプレッドシートをコピーして貼り付け、または使用します
  8. Excel では、各流出口の流量の比率に対応する加重値を合計流入口流量に対して計算します。4D Flow MRIデータの固有のノイズと誤差により、質量の保全を確保するために「オープン」のままにしておく最小の(一般的に信頼性の低いデータを持つ)船を特定します。
  9. CFD シミュレーションソフトウェアでは、一時的な流れ波形は読み取り-一時的テーブルコマンドを使用して読み込まれます。したがって、オンライン チュートリアルで説明されている互換性のある .txt 形式で入口フロー データを保存します。

5. CFD シミュレーションのセットアップ

  1. CFDシミュレーションソフトウェアを開きます。ここでは、ANSYS Fluent (この手順で説明されているバージョン 18.1 をデフォルトとして使用します) を使用します。[ファイル]、[読み取り]、および [ケース...] を選択し、ParaView で以前使用していたボリューム メッシュ .cas ファイルを開きます。[表示] を選択してメッシュを表示します(この手順では Altair HyperMesh で生成された .cas ファイルを使用します)。
  2. モデルの正しい物理サイズを確保するために、ジオメトリをスケーリングすることが重要です。[スケール...]を選択し、特定のケースに必要な単位変換を適用してから[閉じる] を選択します。
  3. [マテリアル]を選択し、[作成/編集]を選択して、血液の材料特性を入力します。このチュートリアルでは、密度と粘度にそれぞれ 1060 kg/s と 0.0035 kg/ms の生理的に関連する値を使用します。
  4. 各流入口の時間の関数として質量流量または速度流量を指定して、非定常流れ境界条件を設定します。4DフローMRI測定から得られた波形を使用して、入口境界条件を規定します。アウトレットには、(4.8)に含まれる加重値が与えられます。
  5. [ソリューション]、[方法] で、Navier-Stokes 方程式の空間的および時間的離散化に使用する数値スキームを設定します。この手順では、全圧力速度結合を有効にする結合済み (最小二乗セル ベース(勾配)、圧力の2 次スキーム、運動量方程式の3 次 MUSCLスキーム、および時間内の離散化のための2 次暗黙的スキームを使用します。左上のTimeパラメーターが[Transient]に設定されていることを確認します。
  6. [ソリューション] の[初期化] で、[標準初期化]を選択します。すべての初期値0に設定した後、[初期化] を選択します。これで、プログラムが実行するように設定されます。[計算アクティビティ] の下にある [自動保存間隔 (時間ステップ)]の下に、すべての自動保存 (時間ステップ) の結果を保存するソリューション フォルダーを指定します。
  7. 最後の手順では、[ 実行計算] の [時間ステップ サイズ]を設定します。この値を決定するには、(4.7) の Excel 境界条件データを使用します。時間ステップを短縮すると、収束が容易になり、数値解の精度が向上すると同時に、解析時間が長くなります。初期の一過性の影響を排除するために、少なくとも3つの完全な心周期のシミュレーションを実行することをお勧めします。
  8. 最後に、300 ~ 500の各時間ステップの最大反復回数を設定します。収束に達すると、ソフトウェアは自動的に各時間ステップで反復を停止し、次の時間ステップに進みます。収束は、平均速度値を持つ安定した流れシミュレーションを実行し、その結果を拍動流シミュレーションの初期条件として使用することで改善できます。ソルバーを実行する準備ができたら、[計算] を選択します。
  9. 収束が達成されるか、最大反復が発生して反復が続行されるまで、ソフトウェアは各反復を実行します。ファイルは(5.5)の場所に自動的に保存され、ソリューションデータはANSYS CFD-PostまたはParaViewソフトウェアのいずれかで視覚化することができます。

計算流体力学シミュレーションは、患者の血管系の血流を分析し、診断と治療を導くために使用されます。計算流体力学(CFD)は、数値解析法を使用して流体の流れをモデル化し、高速飛行機周辺の流体の流れ、複雑な配管ネットワークを介した流れなど、さまざまな流れシナリオの現実的な条件をシミュレートします。心血管系。

医療用途では、血管形状を得るために様々な画像技術が使用されています。次に、冠状動脈性心疾患、動静脈奇形、動脈瘤などの血管機能障害の疾患の進行とモデル治療シナリオを予測するために使用されるCFDシミュレーションが実行されます。

このビデオでは、CFDの原理を示し、血管の形状を使用して高解像度の血行力学をモデル化する方法を示し、CFDのいくつかのアプリケーションについて説明します。

まず、心血管のダイナミクスとCFDの原理を理解しましょう。

心血管血行力学は、左右の心室や心房を通る心臓の血流、心臓から身体の他の部分への血管の血流を含む心臓の血流のダイナミクスを記述する。複雑な血管ネットワークは、磁気共鳴血管造影とベロシメトリーまたはX線透視法を使用して可視化することができます。これらの方法は、患者の血管の幾何学的形状を概説し、流れ境界条件を定義する。

これが取得されると、血液速度データは 3D 空間を定義するグラフィカル情報の単位であるボクセルに分割され、各ボクセルで位相シフトが取得されます。これらは、ジャイロ磁気比、主磁場、適用された勾配場、およびスピンの位置によって異なります。これは、スピンの初期位置、スピン速度、およびスピン加速度によって異なります。タウは、4 番目の次元を定義する時間です。

これらのパラメータは MRI によって定義され、CFD シミュレーションに入力されます。3D流速は、ナビエ・ストークス方程式またはNS方程式を数値で解くことによって決定されます。NS方程式は、速度と圧力分布を決定するために解決された流体運動の支配方程式です。それらは流れの密度、速度、圧力および動的な粘度を考慮に入れる。

次に、流体力学の原理を実際の血管形状にどのように適用し、高解像度のCFDシミュレーションを生成するかを見ていきます。

開始する前に、MRA データから患者固有の血管モデルを作成します。これは、画像セグメンテーションのためのオープンソースソフトウェアを使用して行うことができます。

このデモでは、四面体ボリューム メッシュが生成されました。次に、vmtk ランチャー Python GUI を開きます。PypePad で、必要なファイル名を入力します。このベア ボーン コマンドは、入力 STL ファイルをデスクトップからプルします。[実行]、[すべて実行] の選択して、データをプログラムに読み込みます。入力モデルの命令とレンダリングを表示する新しいウィンドウが開きます。

モデルを回転し、各入口位置にカーソルを置きます。スペースバーを押して、1つの入口にシードを配置します。すべての入口に対してこの手順を繰り返します。次に Q キーを押して続行します。次に、すべてのコンセントに対して同じシードの配置を繰り返します。Q をもう一度押して、プログラムを実行します。中心線ファイルが生成され、デスクトップに保存されます。

これで、オープンソースの可視化ツールParaViewを使用して、フローデータを含むボクセルを静止組織から分離する準備ができました。患者固有のボリューム メッシュ、センターライン ファイル、および EnSight.case ファイルのファイルを見つけて、[OK] をクリックしてデータをインターフェイスにロードします。[プロパティ] テーブルに移動し、[適用] を選択してすべての情報を読み込んで読み取ります。次に、パイプライン ブラウザで体積メッシュをハイライト表示します。

[プロパティ] テーブルで、不透明度の値を 0.2 ~ 0.5 の間に変更します。中心線とジオメトリレンダリングが表示されます。次に、トップ メニューに移動し、[フィルター]、[アルファベット順]、[データセットでリサンプリング] の順に選択し、ソースをボリューム メッシュとして設定し、入力を EnSight.case ファイルとして設定します。[OK] をクリックして続行し、[プロパティ] テーブルにフィルタを適用します。次に、新しい [データセットを使用したリサンプル] をハイライト表示し、不透明度を下げます。

上部のメニューから、中心線をサーフェスからポイントに変更します。境界条件を決定するには、インタフェースの右側に移動し、[水平作成ビューを分割]ツールを選択します。[スプレッドシート ビュー]オプションを選択します。[表示]ドロップダウン ボックスから[中心線ファイル]を選択し、ファイルを切り替えて、各入口と流出口内の位置を識別するさまざまなポイントを選択します。次に、スプレッドシート ビューを使用して、2 つの点間の法線ベクトルを計算します。

ベクトルを見つけた後、リサンプルWithデータセットをアクティブにし、[フィルター]、[アルファベット順]、[スライス]の順に選択します。スライスフィルタが表示されていることを確認し、[プロパティ]テーブルに移動し、法線ベクトルの計算に使用した 2 つの点の 1 つに対して、平面の原点を同じ X、Y、Z ポイントの位置として設定します。これを使用して法線の値を入力し、[適用]を選択します。新しく作成したスライス フィルタをアクティブにし、[フィルタ]、[アルファベット順]、[サーフェス フロー]の順に選択します。[適用] をクリックし、新しい [サーフェス フロー] アイテムをアクティブにし、[フィルター]、[アルファベット順]、[グループ時間ステップ]、[適用] の順に続きます。

スプレッドシート ビューで GroupTimeSteps データを開き、[スプレッドシートのエクスポート] または [コピーと貼り付け] を使用して、このデータを Excel にエクスポートします。ParaView 内で、時間ステップと時間ステップサイズを決定します。シミュレーションでは、心臓サイクルをゼロに等しく開始します。したがって、適切なタイム スケールを生成します。次に、スライスフィルターをアクティブにし、[フィルター]、[アルファベット順]、[変数の統合] の順に選択します。

ポップアップで[属性]を変更して[セルデータ]を表示します。これにより、入口スライスの断面積が表示されます。流れデータをANSYS Fluentと互換性を持たせるために、秒の単位で時間スケールを決定し、毎秒メートル単位で入口速度を決定します。

最初の行には、データ名、列数、行数、および繰り返し可能なバイナリ トリガーが含まれている必要があります。次の行には、各データ列の名前が含まれています。レートではなく流れの速度は、それぞれの列ヘッダーの下に設定されます。複数の心周期をスムーズにシミュレートするには、初期速度と最終速度の値が同等である必要があります。

[ファイル]、[読み取り]、[ケース]を選択し、以前に使用したボリューム メッシュ .cas ファイルを開きます。読み込み後にメッシュを表示するには、[読み取り後にメッシュを表示]チェック ボックスをオンにします。[尺度]を選択し、必要な単位変換を適用して、モデルの物理的なサイズが正しいことを確認します。[マテリアルの作成/編集]を選択し、血液の材料プロパティを入力します。

次に、コンソールのコマンド ウィンドウと入力ファイル/ を選択します。読み取り非定常テーブルを使用して、ボリューム メッシュの .cas ファイルと同じ場所にある一時的なフロー 波形を読み込みます。4DフローMRI測定から得られた波形を使用して、入口境界条件を設定します。次に、出口への入口の加重比を使用して、流出口境界条件を設定します。

ナビエ・ストークス方程式の圧力速度結合と離散化に使用する数値スキームを設定します。次に、ソリューションの初期化で、すべての初期値を 0 に設定します。[計算アクティビティ] で、結果を保存するソリューション フォルダーを指定し、[自動保存]、[毎回のステップ] で頻度を指定します。[計算の実行] で、Excel 境界条件データから時間ステップ サイズを設定します。多くの場合、より小さな時間ステップを選択し、Fluent が補間できるようにすることをお勧めします。少なくとも 3 つの心周期について繰り返します。

最後に、最大反復回数を 300 ~ 500 の間に設定します。収束が発生すると、各時間ステップで自動的に反復が停止します。シミュレーションが完全に設定されたら、[初期化]、[初期化]に戻します。[計算の実行] に戻り、[計算]を選択してソルバーを実行します。ソリューションデータは、ANSYS CFD-PostまたはParaViewソフトウェアのいずれかで視覚化できるようになりました。

次に、代表的なデータをいくつか調べます。脳動脈瘤の一例を以下に示します。4DフローMRIデータから、動脈瘤領域内の複雑な再循環流パターンが検出された。しかしながら、分解能は病変の上下部で観察される停滞流の領域において制限される。CFDシミュレーションを実行した後、特に容器壁の近くで、速度場のより高い分解能が得られました。

CFDはまた、同じ容器内の異なる流れ条件を比較するために使用することができます。例えば、左右前大脳動脈の外科的クリッピングのシミュレーションは、流れダイナミクスに対する処置の効果を可視化するのに役立つ。

血流の計算流体力学シミュレーションは、様々な生物医学用途で使用される有用なツールである。

例えば、血管内の出血力学的状態は、アテローム性動脈硬化症および動脈瘤を含む動脈疾患の発症および進行に影響を及ぼす。直接測定は生体内での取得が困難であるため、CFDは血流ダイナミクスのモデル化に使用される標準的な研究ツールです。それは診断のための医者の指導、また異なった処置のシナリオを提供できる。

血管モデリングに加えて、CFDシミュレーションは鼻気道モデルに基づいて気流をシミュレートするのに役立ちます。脳と直接相互作用する標的嗅覚領域に、適切かつ制御された方法で医薬品エアロゾルを提供するプロトコルを設計することは特に有用である。

JoVE の血流をシミュレートするための計算流体力学の紹介を見たところです。次に、3 次元血管形状に基づいて、高分解能血流ダイナミクスをモデル化する方法を理解する必要があります。見ていただきありがとうございます!

JoVE Science Education is free through June 15th 2020.

RECOMMEND JoVE