(58)【調査した分野】(Int.Cl.,DB名)
  心臓の3次元モデル、前記心臓の挙動シミュレーション上のタイムステップごとの前記心臓の形状を示す心臓挙動データ、患者から測定された心筋上の電気信号の強度の時間変化を示す心電図データを記憶する記憶部と、
  前記心臓挙動データに基づいて、電気信号の第1の波に応じた第1の挙動が前記心臓に現れたときの第1のタイムステップと、電気信号の第2の波に応じた第2の挙動が前記心臓に現れたときの第2のタイムステップとを判断し、前記心電図データに基づいて、再現時間の進行に伴う心筋の電気信号の強度変化を再現すると共に、前記心臓の拍動一拍分の期間を、一拍の電気信号の出力開始から前記第1の波のピークまでの第1の区間、前記第1の波のピークから前記第2の波のピークまでの第2の区間、および前記第2の波のピークから一拍の電気信号終了までの第3の区間に分け、電気信号の前記第1の波がピークになったときを前記第1のタイムステップでの前記心臓の形状の再現時期に決定し、電気信号の前記第2の波がピークになったときを前記第2のタイムステップでの前記心臓の形状を再現時期に決定し、同一区間内での1タイムステップあたりの進行時間が同一になるように、前記第1および第2のタイムステップ以外の各タイムステップでの前記心臓の形状の再現時期を決定し、前記心臓挙動データに基づいて、前記再現時間の進行に伴い、タイムステップごとの前記心臓の形状を、決定された再現時期に前記3次元モデルで再現する演算部と、
  を有する可視化装置。
  前記第1のタイムステップは心房の収縮が開始したときのタイムステップであり、前記第2のタイムステップは心室の収縮が開始したときのタイムステップであることを特徴とする請求項1または2に記載の可視化装置。
  心臓の3次元モデル、前記心臓の挙動シミュレーション上のタイムステップごとの前記心臓の形状を示す心臓挙動データ、患者から測定された心筋上の電気信号の強度の時間変化を示す心電図データを記憶する記憶部と、
  前記心臓挙動データに基づいて、心房を横断する直線と心房の自由壁との交差点における心房の心筋が、該交差点から最初に移動したタイムステップを、電気信号の第1の波に応じた第1の挙動が前記心臓に現れたときの第1のタイムステップと判断し、心室を横断する直線と心室の自由壁との交差点における心室の心筋が、該交差点から最初に移動したタイムステップを、電気信号の第2の波に応じた第2の挙動が前記心臓に現れたときの第2のタイムステップと判断し、前記心電図データに基づいて、再現時間の進行に伴う心筋の電気信号の強度変化を再現すると共に、電気信号の前記第1の波が再現されたときに前記第1のタイムステップでの前記心臓の形状が再現され、電気信号の前記第2の波が再現されたときに前記第2のタイムステップでの前記心臓の形状が再現されるように、前記心臓挙動データに基づいて、前記再現時間の進行に伴う前記心臓の挙動を前記3次元モデルで再現する演算部と、
  を有する可視化装置。
【発明を実施するための形態】
【0012】
  以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
  〔第1の実施の形態〕
  まず第1の実施の形態について説明する。
 
【0013】
  図1は、第1の実施の形態に係る可視化装置の機能構成例を示す図である。可視化装置10は、記憶部11と演算部12とを有している。
  記憶部11には、心臓の3次元モデル1、心臓挙動データ2、および心電図データ3が格納されている。心臓挙動データ2は、心臓の挙動シミュレーション上のタイムステップごとの心臓の形状を示すデータである。タイムステップは、心臓の動作を再現する際の時系列に沿って、0から昇順の番号が付与されている。心電図データ3は、患者から測定された心筋上の電気信号の強度の時間変化を示すデータである。電気信号は、例えば電圧である。
 
【0014】
  演算部12は、心臓挙動データ2に基づいて、電気信号の第1の波に応じた第1の挙動が心臓に現れたときの第1のタイムステップと、電気信号の第2の波に応じた第2の挙動が心臓に現れたときの第2のタイムステップとを判断する(ステップS1)。第1の波は、例えば心電図に現れるP波である。その場合、第1のタイムステップは、心房の収縮が開始したときのタイムステップである。また第2の波は、心電図に現れるR波である。その場合、第2のタイムステップは、心室の収縮が開始したときのタイムステップである。
 
【0015】
  また演算部12は、心電図データ3に基づいて、再現時間の進行に伴う心筋の電気信号の強度変化を再現すると共に、心臓挙動データ2に基づいて、再現時間の進行に伴う心臓の挙動を3次元モデル1で再現する(ステップS2)。演算部12は、心臓の挙動を再現する際に、電気信号の第1の波が再現されたときに第1のタイムステップでの心臓の形状が再現され、電気信号の第2の波が再現されたときに第2のタイムステップでの心臓の形状が再現されるようにする。例えば、演算部12は、再現された電気信号が第1の波のピーク(最大値)となったときに第1のタイムステップでの心臓の形状が再現され、再現された電気信号が第2の波のピークとなったときに第2のタイムステップでの心臓の形状が再現されるようにする。演算部12は、再現した心電図と心臓の挙動とを、例えば画面4に表示する。
 
【0016】
  このような可視化装置10によれば、演算部12により、シミュレーションの結果として得られた心臓挙動データ2において、心房が収縮を開始したときの第1のタイムステップが判断される。この第1のタイムステップの番号をi(iは0以上の整数)とする。また演算部12により、心室が収縮を開始したときの第2のタイムステップが判断される。この第2のタイムステップの番号をj(jは0以上の整数)とする。
 
【0017】
  次に演算部12により、心電図と心臓の挙動とが同期して再現される。例えば演算部12により、心臓挙動データ2のタイムステップごとの再現時期が、心電図データに基づいて決定される。例えば、心房の収縮が開始したi番目のタイムステップは、心電図において電気信号がP波のピークとなる時間(ti)が再現時期となる。また心室の収縮が開始したj番目のタイムステップは、心電図において電気信号がR波のピークとなる時間(tj)が再現時期となる。
 
【0018】
  このようにして決定された再現時期に従って、心電図を再現する際の電気信号の時間変化に合わせ、各タイムステップの心臓の形状を再現することで、心電図と心臓の挙動とが連携し、正しく同期して再現される。心電図の再現では、例えば横軸に時間、縦軸に電気信号強度を採った心電図を示すグラフが表示される。そして心電図のグラフ上を、電
気信号強度の再現箇所を示すマークが、再現時間の進行に伴って移動する。
 
【0019】
  同期して再現された心電図と心臓の挙動とが画面4に表示されることで、心電図に現れた電気信号により心臓がどのような挙動を示すのかが、容易に把握できるようになる。しかも、心電図のP波のピークに心房の収縮開始時期を合わせ、R波のピークに心室の収縮開始時期を合わせることで、心筋への電気信号の到達から心筋収縮までの時間の遅延を反映させて、心電図と心臓挙動とを正確に同期させることができる。すなわちP波の立ち上がり時に心房の心筋に電気信号が発生しているが、すぐにその心房が収縮するわけではなく、ある程度の時間をおいて収縮が開始する。そのため心電図のP波がピークになるまで待って、再現する心臓挙動における心房の収縮を開始させることで、現実に即した心臓挙動を再現できる。
 
【0020】
  なお、演算部12は、例えば可視化装置10が有するプロセッサにより実現することができる。また、記憶部11は、例えば可視化装置10が有するメモリにより実現することができる。
 
【0021】
  また、
図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
  〔第2の実施の形態〕
  次に第2の実施の形態について説明する。第2の実施の形態は、心電図を採取した患者の心臓についての挙動のシミュレーションを行い、心電図と心臓の挙動とを正確に同期して表示させるものである。
 
【0022】
  図2は、第2の実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。コンピュータ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
 
【0023】
  メモリ102は、コンピュータ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
 
【0024】
  バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
 
【0025】
  HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、コンピュータ100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置を使用することもできる。
 
【0026】
  グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
 
【0027】
  入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
 
【0028】
  光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
 
【0029】
  機器接続インタフェース107は、コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
 
【0030】
  ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
 
【0031】
  以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した可視化装置10も、
図2に示したコンピュータ100と同様のハードウェアにより実現することができる。
 
【0032】
  コンピュータ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コンピュータ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またコンピュータ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
 
【0033】
  図3は、第2の実施の形態に係るコンピュータの機能を示すブロック図である。コンピュータ100は、非構造格子データ記憶部110、心臓シミュレータ120、シミュレーション結果記憶部130、心電図データ記憶部140、および可視化部150を有する。
 
【0034】
  非構造格子データ記憶部110は、心臓の形状を3次元で表す非構造格子データを記憶する。非構造格子データでは、例えば複数の4面体の要素によって心臓の形状が表される。その場合、心臓が存在する空間に、多数の節点が設けられる。そして4つの節点を頂点とする多数の4面体が定義される。1つの4面体が、例えば心臓の心筋細胞を表す要素である。非構造格子データ記憶部110としては、例えばメモリ102またはHDD103の記憶領域の一部が使用される。
 
【0035】
  心臓シミュレータ120は、心臓の3次元モデルに基づいて、拍動を含む心臓の挙動をシミュレートする。また心臓シミュレータ120は、心臓の血液の流れ(冠循環)をシミュレートすることもできる。そして心臓シミュレータ120は、シミュレーション結果を、シミュレーション結果記憶部130に格納する。例えば心臓シミュレータ120は、シミュレーション上の時刻(タイムステップ)を所定時間ずつ進行させ、その都度、3次元モデルの節点の位置、および要素や節点における物理量(例えば血圧や血流量など)を算出する。各時刻での節点の位置や物理量は、その前の時刻における節点の位置や物理量に基づいて算出される。心臓シミュレータ120は、シミュレーション上の時刻における所定のタイミングで、その時点での節点の位置、および要素や節点における物理量を、シミュレーション結果として出力する。
 
【0036】
  シミュレーション結果記憶部130は、シミュレーション結果を記憶する。シミュレーション結果記憶部130としては、例えばメモリ102またはHDD103の記憶領域の一部が使用される。
 
【0037】
  心電図データ記憶部140は、患者から計測した心電図の元データを記憶する。心電図の元データとは、心臓に生じた電気信号の強度を示すデータである。心電図データ記憶部140としては、例えばメモリ102またはHDD103の記憶領域の一部が使用される。
 
【0038】
  可視化部150は、心電図と心臓の挙動とを同期させて、モニタ21に表示する。例えば可視化部150は、再現された心臓の挙動における心房の収縮開始時と、心電図のP波のピークとを一致させ、心室の収縮開始時と、心電図のR波のピークとを一致させる。
 
【0039】
  なお可視化部150は、
図1に示した第1の実施の形態における演算部12の一例である。また非構造格子データ記憶部110、シミュレーション結果記憶部130、および心電図データ記憶部140を合わせた機能は、
図1に示した第1の実施の形態における記憶部11の一例である。なお、
図3に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、
図3に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
 
【0040】
  次に、非構造格子データ記憶部110のデータ構造例について説明する。
  
図4は、非構造格子データ記憶部のデータ構造の一例を示す図である。非構造格子データ記憶部110には、例えば節点情報テーブル111と要素情報テーブル112とが含まれる。節点情報テーブル111と要素情報テーブル112とによって、非構造格子データが構成される。節点情報テーブル111には、節点ごとに、節点番号と節点の位置を示す座標とが設定されている。なお、節点情報テーブル111に設定されている各節点の座標は、シミュレーション開始前の節点の位置を示しており、シミュレーションにより心臓の拍動が再現されると、節点の位置が変化する。要素情報テーブル112には、要素ごとに、要素番号と4面体の要素の頂点となる節点の節点番号とが設定されている。
 
【0041】
  図4に示した非構造格子データ記憶部110に格納されたデータに基づいて、心臓の3次元モデルが生成できる。
  
図5は、心臓の3次元モデルの一例を示す図である。
図5の例では、3次元モデル31は、4面体の要素の集合体である。このような3次元モデル31に対して、電気信号の初期条件を与えることで、心臓の心筋を介した電気信号の伝播状況(興奮伝播)の再現シミュレーションを実行できる。また3次元モデル31に対して、心筋の収縮や拡張の動作に関する条件を与えることで、心臓の動きのシミュレーションが可能となる。シミュレーションが行われると、シミュレーション結果が、シミュレーション結果記憶部130に格納される。
 
【0042】
  図6は、シミュレーション結果記憶部のデータ構造の一例を示す図である。シミュレーション結果記憶部130には、1回分のシミュレーション結果の記録時点を1タイムステップとし、タイムステップごとの心筋データ131,132,133,・・・が格納されている。心筋データ131,132,133,・・・は、タイムステップのときの心臓の状態(形状を含む)を示す情報である。心筋データ131,132,133,・・・には、タイムステップの番号(タイムステップインデックス)が付与されている。
 
【0043】
  例えば心筋データ131,132,133,・・・には、要素・節点IDに対応付けて、要素または節点の位置、様々な物理量の値が設定されている。タイムステップごとの節点の位置により、各タイムステップでの心臓の形状が決まる。なお要素の位置は、例えば4面体の要素の重心位置である。また1つの物理量に関し、要素と節点の両方に値が設定されていてもよく、要素または節点の一方にのみ値が設定されていてもよい。
 
【0044】
  次に、心電図データ記憶部140に格納される心電図データについて説明する。
  
図7は、心電図データ記憶部のデータ構造の一例を示す図である。心電図データ記憶部140には、患者の複数の箇所で測定した心電図データ141,142,143,・・・が格納されている。例えば12誘導心電図のデータであれば、誘導ごとの12個の心電図データが格納される。心電図データ141,142,143,・・・には、電気信号の測定開始からの時間に対応づけて、その時間に測定された電圧が設定されている。
 
【0045】
  このような心電図データは、患者の体に複数の電極を取り付け、心筋に生じる電圧を測定することで得られる。心筋に生じる電圧は、興奮伝播による電気信号の強度を表している。
 
【0046】
  以下、興奮伝播と、興奮伝播により心筋上で検出される電気信号とについて説明する。
  
図8は、興奮伝播の一例を示す図である。心臓40は、右心房41、左心房42、右心室43、および左心室44を有する。右心房41、左心房42、右心室43、および左心室44それぞれは、興奮伝播で送られた電気信号に応じて収縮する。心臓40の興奮伝播は、刺激伝達系を介して行われる。刺激伝達系は、筋肉が収縮するための電気信号を伝える筋肉である。
 
【0047】
  刺激伝達系の開始点は、右心房にある洞結節45である。洞結節45は、外部からの刺激を受けなくても、一定時間ごとに繰り返し電気信号を発生する。洞結節45で発生した電気信号は、まず右心房41と左心房42に送られる。そして電気信号は、心房の筋肉を伝わって房室結節46に到達する。右心房41と左心房42との筋肉は、電気信号に応じて収縮する。房室結節46は、所定の時間待ってから、電気信号を心室へ伝達する。伝達された電気信号は、左右に分かれて、心室の底部まで達し、その後、心室の筋肉全体に伝搬する。
 
【0048】
  このような興奮伝播における電気信号は、心筋での電圧として測定できる。測定された電圧の変動の様子が、心電図である。
  
図9は、心電図の一例を示す図である。正常な心臓の心電図では、P波、Q波、R波、S波、T波、U波の6つの波が現れる。このうち、Q波、R波、S波は、連続して現れ、まとめて「QRS波」と呼ばれる。これらの波のうち、P波は、心房の脱分極(興奮)によって生じる波である。興奮伝播による電
気信号の伝播が始まって最初の上向き(正の方向)の波が、P波である。QRS波は、心室の脱分極(興奮)によって生じる波である。QRS波のうちの、最初の下向き(負の方向)の波がQ波、次の上向きの波がR波、次の下向きの波がS波である。
 
【0049】
  図10は、心電図と興奮伝播との関係を示す図である。洞結節45における電気信号の発生により、P波が開始する。そして、電気信号が房室結節46で到達したときに、P波が終了する。房室結節46に達した電気信号がヒス束47を伝わる。ヒス束47から左右の脚に分岐するときに、QRS波が開始する。そして、心室の心筋内の左右の脚を先端部まで電気信号が伝わったときに、QRS波が終了する。
 
【0050】
  なお、多くの場合、心電図は12誘導(12種類)取得される。
  
図11は、12誘導心電図の例を示す図である。12誘導心電
図51では、12種の誘導の心電図が表示される。12誘導心電図のうち、多くの誘導の心電図では、R波の方が、その次に起こるS波(陰の波形)よりも大きいが、誘導によってはR波よりも、その次に起こるS波の方が大きくなるものもある。また一部の波形が現れない心電図もある。また、計測された心電図には、ノイズが波形として現れる場合もある。
 
【0051】
  このような心電図を表示する際に、シミュレーション結果として得られた心臓の挙動を同時に表示することで、心電図に現れる電気信号に応じた心臓の挙動とを容易に把握できる。
 
【0052】
  患者の心臓の挙動のシミュレーションを行う際には、その患者の心電図データを用いて、シミュレーションのパラメータを決定することができる。心電図データに合わせたパラメータでシミュレーションを実行することで、患者の心臓における興奮伝播状況を反映させたシミュレーションを行うことができる。例えば不整脈の症状を有する患者から測定した心電図データを用いてシミュレーションを行えば、不整脈を起こした心臓の挙動を再現することができる。
 
【0053】
  心電図と心臓の挙動の再現とを同期させるために、可視化部150は、心電図のP波と洞結節45からの電気信号に基づく心房収縮とのタイミングを合わせ
、心電図のR波と洞結節45からの電気信号に基づく心室収縮とのタイミングを合わせる。すなわち可視化部150は、心電図におけるP波のピーク時に、再現された心臓挙動において心房の収縮が開始するようにする。また可視化部150は、心電図におけるR波のピーク時に、再現された心臓挙動において心室の収縮が開始するようにする。
 
【0054】
  次に、心電図と3次元モデルを用いて再現した心臓挙動との同期表示処理の手順について説明する。
  
図12は、表示処理の手順を示すフローチャートである。
 
【0055】
  [ステップS101]可視化部150は、心房と心室との初期位置を設定する。初期位置は、例えば心房・心室それぞれの拍動前の状態における、できるだけ離れた2点に設定される。心房が初期位置から移動したときに、心房の収縮が開始したものと判断できる。また心室が初期位置から移動したときに、心室の収縮が開始したものと判断できる。心房と心室の初期位置設定処理の詳細については後述する(
図13参照)。
 
【0056】
  [ステップS102]可視化部150は、心臓挙動のタイムステップごとの再現タイミングを示す同期情報を生成する。同期情報生成処理の詳細は後述する(
図17参照)。
  [ステップS103]可視化部150は、心電図と、3次元モデルによる心臓挙動の再現とを同期させて、モニタ21に表示する。
 
【0057】
  次に、心房と心室との初期位置の設定処理について詳細に説明する。
  
図13は、心房・心室の初期位置設定処理の手順を示すフローチャートである。
  [ステップS111]可視化部150は、非構造格子データ記憶部110から、心臓の3次元モデル31のデータを取得する。
 
【0058】
  [ステップS112]可視化部150は、心臓の3次元モデル31に対して、心軸(長軸)を設定する。長軸は、心臓の上下方向の軸である。
  [ステップS113]可視化部150は、心臓の3次元モデル31に対して、心房短軸と心室短軸とを設定する。心房短軸は、長軸に垂直に交わる、心房の横方向の軸である。心室短軸は、長軸に垂直に交わる、心室の横方向の軸である。
 
【0059】
  [ステップS114]可視化部150は、心房短軸と心筋自由壁との交差点座標を、心房の初期位置に設定する。また可視化部150は、心室
短軸と心筋自由壁との交差点座標を、心室の初期位置に設定する。
 
【0060】
  以下、初期位置の具体的な設定例を、
図14〜
図16を参照して説明する。まず、拍動前の状態の心臓の3次元モデルに対して、心室内側の最低部を通る長軸が設定される。
  
図14は、心室内側の最低部を示す図である。心臓の3次元モデル31における、心室の最低部60を通る直線が、長軸となる。
 
【0061】
  図15は、長軸と短軸との例を示す図である。可視化部150は、心臓の3次元モデル31における大動脈弁の中心と僧帽弁の中心とを結ぶ線分61を生成する。そして可視化部150は、線分61の中点と最低部60とを通る直線を長軸62とする。
 
【0062】
  次に可視化部150は、長軸62に直交する2つの直線63,64を生成する。直線63は、最低部60を通る。直線64は、長軸62が心臓内にある最上位の点を通る。ここで線分61と直線64との間隔を、Laとする。そして可視化部150は、線分61からla(=2La/5)の距離に、長軸62に直交する直線を生成し、その直線を心房短軸65とする。また線分61と直線63との間隔を、Lvとする。そして可視化部150は、直線63からlv(=2Lv/5)の距離に、長軸62に直交する直線を生成し、その直線を心室短軸66とする。
 
【0063】
  可視化部150は、心房短軸65が自由壁(中隔以外の壁)と接触する位置を、心房の初期位置に設定する。また可視化部150は、心室短軸66が自由壁と接触する位置を、心室の初期位置に設定する。
 
【0064】
  図16は、初期位置を示す図である。3次元モデル31における、心房短軸65上に2つの初期位置71,72が設定され、心室短軸66上に2つの初期位置73,74が設定されている。
 
【0065】
  このようにして、初期位置が設定できる。可視化部150は、設定された初期位置に基づいて、同期情報を生成する。例えば可視化部150は、心筋データ131,132,133,・・・に基づく心臓の挙動の再現の際に、心房の自由壁が初期位置71,72から移動した時点を、心電図のP波のピークに合わせる。また可視化部150は、心臓の挙動の再現の際に、心室の自由壁が初期位置73,74から移動した時点を、心電図のR波のピークに合わせる。
 
【0066】
  また可視化部150は、1拍分の心筋データを、心電図の1拍と一致させる。例えばP波のピークから次のP波のピークまでを、一拍とすることができる。また、シミュレーションの最初のタイムステップが、洞結節45での電気信号の出力開始時点であれば、P波の立ち上がり開始時点から、次のP波の立ち上がりまでを一拍としてもよい。また心室の拡張が終了し収縮が開始する時期を開始点とし、次の拍動の対応する開始点までを一拍としてよい。なお、心室の拡張が終了し収縮が開始するのは、QRS時間(Q波の立ち上がりからS波の終了までの時間)内のR波以降の時期である。
 
【0067】
  そして可視化部150は、心臓の挙動を心電図に同期させるための、タイムステップごとの再現タイミングを示す情報として、同期情報を生成する。
  
図17は、同期情報生成処理の手順を示すフローチャートの前半である。
 
【0068】
  [ステップS121]可視化部150は、シミュレーション結果記憶部130から、タイムステップごとの心筋データ131,132,133,・・・を取得する。
  [ステップS122]可視化部150は、タイムステップの番号を示す変数Tに0を設定する。
 
【0069】
  [ステップS123]可視化部150は、変数Tの値が、一拍分のタイムステップ数(Max_timestep)未満か否かを判断する。変数Tの値がMax_timestep未満であれば、処理がステップS124に進められる。変数Tの値がMax_timestep以上であれば、処理がステップS131(
図18参照)に進められる。
 
【0070】
  [ステップS124]可視化部150は、変数Tの値が一拍分のタイムステップ数未満のとき、T番目のタイムステップの心臓の形状において、心房の心筋が初期位置から移動を開始したか否かを判断する。例えば可視化部150は、変数P_topに値が設定されていないときに、T番目のタイムステップの心臓の心房の心筋が、初期位置から移動していれば、T番目のタイムステップで初期位置から移動を開始したと判断する。なお心房の心筋が初期位置から移動を開始したことは、心房の収縮が開始したことを意味している。心房の心筋が初期位置から移動を開始した場合、処理がステップS125に進められる。移動を開始していないか、T番目のタイムステップより前に移動が開始されているときは、処理がステップS128に進められる。
 
【0071】
  [ステップS125]可視化部150は、心房が収縮を開始したタイムステップを示す変数P_topにTの値を設定する。
  [ステップS126]可視化部150は、T番目のタイムステップの心臓の形状において、心室の心筋が初期位置から移動を開始したか否かを判断する。例えば可視化部150は、変数R_topに値が設定されていないときに、T番目のタイムステップの心臓の心室の心筋が、初期位置から移動していれば、T番目のタイムステップで初期位置から移動を開始したと判断する。なお心室の心筋が初期位置から移動を開始したことは、心室の収縮が開始したことを意味している。心室の心筋が初期位置から移動を開始した場合、処理がステップS127に進められる。移動を開始していないか、T番目のタイムステップより前に移動が開始されているときは、処理がステップS128に進められる。
 
【0072】
  [ステップS127]可視化部150は、心室が収縮を開始したタイムステップを示す変数R_topにTの値を設定する。
  [ステップS128]可視化部150は、変数Tの値に1を加算して、処理をステップS123に進める。
 
【0073】
  図17に示した処理によって、心房と心室とのそれぞれが収縮を開始したタイムステップの番号が、それぞれ変数P_topと変数R_topとに設定される。その後、各タイムステップの心筋データにより心臓の形状を再現するタイミングが決定される。
 
【0074】
  図18は、同期情報生成処理の手順を示すフローチャートの後半である。
  [ステップS131]可視化部150は、心電図データ記憶部140から心電図データ141,142,143,・・・を取得する。
 
【0075】
  [ステップS132]可視化部150は、変数Tに0を設定する。
  [ステップS133]可視化部150は、心電図における電気信号の出力開始位置からP波のピークまでの時間に再現する心臓の挙動における、タイムステップの時間間隔Δt1を計算する。例えば可視化部150は、心筋データにおける心臓の拍動開始時のタイムステップから、P_topのタイムステップまでのタイムステップ数をn1とする。次に可視化部150は、心電図における電気信号の出力開始位置からP波のピークまでの時間を、t1とする。そして可視化部150は、t1をn1で除算した値をΔt1とする。
 
【0076】
  [ステップS134]可視化部150は、変数Tの値がP_top未満か否かを判断する。変数Tの値がP_top未満であれば、処理がステップS135に進められる。変数Tの値が、P_top以上であれば、処理がステップS137に進められる。
 
【0077】
  [ステップS135]可視化部150は、同期情報におけるT番目のタイムステップの再現時期を、T−1番目のタイムステップの再現時期からΔt1後に設定する。なお0番目のタイムステップについては、可視化部150は、一拍の心電図の開始時期を、そのタイムステップの再現時期とする。
 
【0078】
  [ステップS136]可視化部150は、変数Tの値に1を加算して、処理をステップS134に進める。
  [ステップS137]可視化部150は、心電図におけるP波のピークからR波のピークまでの時間に再現する心臓の挙動における、タイムステップの時間間隔Δt2を計算する。例えば可視化部150は、心筋データにおけるP_topのタイムステップからR_topのタイムステップまでのタイムステップ数をn2とする。次に可視化部150は、心電図における電気信号のP波のピークからR波のピークまでの時間を、t2とする。そして可視化部150は、t2をn2で除算した値をΔt2とする。
 
【0079】
  [ステップS138]可視化部150は、変数Tの値がR_top未満か否かを判断する。変数Tの値がR_top未満であれば、処理がステップS139に進められる。変数Tの値が、R_top以上であれば、処理がステップS141に進められる。
 
【0080】
  [ステップS139]可視化部150は、同期情報におけるT番目のタイムステップの再現時期を、T−1番目のタイムステップの再現時期からΔt2後に設定する。
  [ステップS140]可視化部150は、変数Tの値に1を加算して、処理をステップS138に進める。
 
【0081】
  [ステップS141]可視化部150は、心電図におけるR波のピークから一拍の終端までの時間に再現する心臓の挙動における、タイムステップの時間間隔Δt3を計算する。例えば可視化部150は、心筋データにおけるR_topのタイムステップから一拍の最後のタイムステップまでのタイムステップ数をn3とする。次に可視化部150は、心電図における電気信号のR波のピークから一拍の最後までの時間を、t3とする。そして可視化部150は、t3をn3で除算した値をΔt3とする。
 
【0082】
  [ステップS142]可視化部150は、変数Tの値が一拍分のタイムステップ数(Max_timestep)未満か否かを判断する。変数Tの値がMax_timestep未満であれば、処理がステップS143に進められる。変数Tの値がMax_timestep以上であれば、処理が終了する。
 
【0083】
  [ステップS143]可視化部150は、同期情報におけるT番目のタイムステップの再現時期を、T−1番目のタイムステップの再現時期からΔt3後に設定する。
  [ステップS144]可視化部150は、変数Tの値に1を加算して、処理をステップS142に進める。
 
【0084】
  このようにして、各タイムステップの心臓の形状の再現時期が同期情報に設定される。
  
図19は、同期情報の一例を示す図である。同期情報151には、タイムステップ番号に対応づけて、再現時期が設定されている。再現時期には、対応するタイムステップに示される心臓の形状を再現する時期が、例えば一拍分の心電図の先頭からの経過時間で示される。なお同期情報151は、例えば可視化部150が管理するメモリ102内の領域に格納される。
 
【0085】
  なお、
図19の例では同期情報をテーブル形式の情報で示しているが、例えばタイムステップ番号をインデックスとした配列に、同期情報を格納することもできる。
  また
図18、
図19の例では、心臓の拍動一拍分の期間を、P波のピークとR波のピークとを境界とする3つの期間に分けているが、R波のピークから次の拍動のP波のピークまでを1つの期間にまとめて、1タイムステップごとの時間間隔を計算してもよい。
 
【0086】
  このような同期情報151を用いることで、心電図に同期して心臓の挙動を再現した画面を表示することができる。
  
図20は、心電図と心臓の挙動との再現画像の一例を示す図である。再現画像80には、心電図表示部81と心臓挙動表示部82とが含まれる。心電図表示部81には、心電図データに基づいて再現された心電図が表示される。心電図表示部81内には、再現位置を示すマーク83が表示されている。マーク83は、例えば、心電図において電圧の強度を示す折れ線上を、再現時間の進行に従って左から右に移動する。
 
【0087】
  心臓挙動表示部82には、心筋データ131,132,133,・・・に基づいて変形させることで心臓の挙動が、3次元モデルによって表示される。心臓挙動表示部82内に示された3次元モデルの形状は、心電図表示部81におけるマーク83で示された位置の再現時間に応じたタイムスタンプの心筋データに基づいて生成される。従ってマーク83の位置が時間経過に従って移動すると、その移動に伴って3次元モデルの形状を示す心筋データが更新され、心臓の挙動がアニメーション表示される。
 
【0088】
  なお心電図表示部81には、12誘導すべての心電図を表示することもできる。
  
図21は、12誘導心電図の表示例を示す図である。心電図表示部81には、12誘導それぞれの心電図が表示されている。各心電図には、再現位置を示すマークが表示されている。心臓挙動表示部82には、心電図の開始位置から再現位置を示すマーク83までの時間(再現時間)に応じた心臓の画像が表示される。マーク83が右に移動するのに従い、心臓挙動表示部82に示される心臓の画像も変化する。
 
【0089】
  図22は、再現時間の進行に伴う心臓形状の変化の様子を示す図である。心電図表示部81内の心電図上をマーク83が再現時間に伴って右に移動する。心臓挙動表示部82には、心電図がマーク83の位置の電圧となったときの心臓の形状が示される。例えばマーク83が心電図のP波のピークに達したときには、心臓挙動表示部82には、「P_top」のタイムステップにおける心臓の形状が表示される。またマーク83が心電図のR波のピークに達したときには、心臓挙動表示部82には、「R_top」のタイムステップにおける心臓の形状が表示される。
 
【0090】
  また、正常な心臓の挙動だけでなく、不整脈を発症した患者の心電図と同期して、不整脈発生時の心臓の挙動を表示することもできる。
  
図23は、不整脈時の心電図と心臓挙動との表示例を示す図である。
図23では、頻脈性不整脈の例を示している。頻脈性不整脈の場合、心電図には、通常より多くの波が現れる。そのようなとき、心臓挙動表示部82には、例えば不自然なしわのある心臓が表示される。
 
【0091】
  このように心電図と心臓の挙動とを同期して表示させることで、心電図上でどのような電気信号が現れたときに、心臓がどのような挙動を示すのかがわかりやすくなる。その結果、患者の病状を正確に把握することができる。
 
【0092】
  以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。