成り立ちから理解する心電図波形
心室心電図簡易シミュレーションプログラム

本プログラムは単行本「成立ちから理解する心電図波形」(秀潤社)
引用されている心室心電図簡易シミュレーションプログラムです.
安全性を確かめ,またソースコードを公開しておりますが,操作に
関しては自己責任でお願いします.

障害があればtanaka@koto.kpu-m.ac.jpまでお知らせ下さい.

目次
プログラム導入プログラム操作細胞外電位とは何か?心電計:差動アンプ:胸部誘導
細胞外電位:シミュレーション原理シミュレーション例正常心電図左室高電位左室肥大
心室性期外収縮ST下降ST上昇テント状T波低カリウム血症ジギタリス効果
サドルバック様T波早期再分極症候群質問と回答


memoe
プログラム導入目次に戻る.
心室心電図簡易シミュレーションプログラム(DIM12)はPython言語で書かれており,
Python言語の実行プログラムが必要です.また,PILサブプログラムも
必要です.これらは,インターネットよりダウンロードできます.

1) Windows Python インストール:
日本語Python ダウンロード
Python標準リリースをクリックする.
Windows用インストーラの
python X86 MSI installerをクリックする.
展開するとプログラムはC:\Python2.7に作成される.

2) Python プログラムテスト:
t1.py
テストプログラムt1.pyを右クリックでダウンロードし,
デスクトップに置く.


上記のようなアイコンが表示される.それを左クリックする.


画面に上記のウィンドウが表示されれば成功である.
つまり,PythonはオリジナルのPython言語とTcl/Tk言語が
正しくインストールされていることがわかる.

3) 心電図シミュレータの駆動にはPython Imaging Library (PIL)が必要である.
Python Imaging Library (PIL)
そこで,PILソフトをダウンロードする.
Python Version 2.4〜2.7が用意されているから,左クリックしてインストールする.
上記のインストールであれば,2.7を選択する.

下図はPILサイトのダウンロード画面を示す.


4) PILプログラムのテスト
pil-1.pyはlena.gif画像を表示するソフトプログラム.
右クリックでダウンロードし,デスクトップに置く.
pil-1.py

pil-1.pyはlena.gif画像を表示する.
同様に右クリックでダウンロードし,デスクトップに置く.
lena.gif

pil-1.pyを左クリックすると,下に示す画像lenaが表示される.
プログラム終了は画像の右上にあるXをクリックする.



5) 心電図シミュレータのコピー
シミュレーションプログラムはSIMフォルダーにlzh形式で
圧縮されて収納されている.SIM-file.lzhをダブルクリックでダウンロードし,
デスクトップに保存する.
SIM-file.lzh

6) 心電図シミュレータの解凍,展開
SIM-fileアイコンをダブルクリックすると,SIMフォルダーが
表示される.それを左ボタンでデスクトップにドラグする.


プログラム操作目次に戻る.
SIMフォルダーを左ダブルクリックするとCA, CA, DIM12, status, ... とファイル名が表示される.DIM12をダブルクリックすると,心電図シ ミュレータが実行し,下図の波形が表示される. 図の説明と操作: 図は上に体表心電図,下に心内膜側活動電位(赤色),心外膜側活動 電位(青色)が表示されている.体表心電図は各時間ごとに赤色の電 位から青色の電位を引き算した結果になっている. 赤色丸と青色丸は各活動電位を変化させるためのハンドラーで,マ ウスドラグにより移動する.図ではアイコン矢印は赤丸III相(左よ り4つ目)にあるが,マウス右ドラグで上方に移動すると心電図のT 波が高くなり,下に移動するとT波高は低くなる.青色波形より低 くすると,T波は逆転する. 心電図波形の右方に,終了ボタン,その下にR, Wボタンがある.また, R, Wボタンの左横に番号入力窓がある.終了ボタンを押すとプログラ ムは終了する.番号を指定して,Rボタンを押すと,前もって作成 していた心電図情報が入力され,波形が変わる.Wボタンを押すと, その番号n (ファイル名:status.n) で心電図情報が記録される. 注意! Linuxでは終了ボタンを押すとプログラムは終了するが, Windows 7では画面右上端のXボタンを押して終了させる 必要がある. SIMフォルダーにはstatus.1〜status.11までの心電図例が用意されている. これら1〜11の番号をWボタンで書き込むと書き込み不可のポップアップ メッセージが表示される.12以上の番号を指定すること. 活動電位グラフの右横に半径入力窓と半径ボタンがある.これはハ ンドラーの半径を指定し,デフォルトでは8になっている.大きく するとハンドラーがドラグしやすくなる.例えば10を入力して,半 径ボタンをクリックする.半径に0を指定すると,ハンドラーは見 えない. CA.pyとDIM12.pyはEUCコードで記述したソースプログラムである. したがって,MS Wordなどで読み取ることができ,また,新たな 工夫や改良も行っていただければ幸いである. 当然のことながら,本プログラムは,自己責任において行ってもら いたい.Python言語は全てのオペレーティングシステムをカバーし ているから,例えば,コンピュータ内の全てのプログラムを削除せ よと命令すれば,取り返しのつかないことになる.
細胞外電位とは何か?目次に戻る.

心電計:目次に戻る.
               図1 心電計  心電計とは体幹に発生するおよそ1 mVの電位を差動アンプで1000 倍に増幅し,1 V/cmのチャートに記録する装置である.装置は電極 を体幹に貼り付け,その電位差を計測する単純な構造である.一方, 体幹における最も大きな電位発生源は心臓の活動電位であって,そ れが細胞外液に電位分布となって波及する.その誘導電位が心電図 として計測できる.
差動アンプ:目次に戻る.
               図2 差動アンプ  電気回路で三角形のブロックはアンプ(増幅器)を示す.信号入力 は左側,出力は右側に並ぶ.図2に差動アンプの性質を示す.a)は 通常の1入力1出力アンプであり,出力側に電圧メータが接続され, 入力側には何も接続されていない.+入力に+の電位を与えると出 力は+を示し,−の電位を与えると出力は−に振れる.b)は差動ア ンプで出力端子は1個であるが,入力には+と−との2個の端子が ある.c)の回路は,−端子がアース(接地)に接続され,+端子には 電池の+極が接続されている.メータの表示は+に振れる.通常の 1入力,1出力のアンプと同じ動作をする.d)は+端子をアース, −端子に電池の+極を接続する.するとメータは−に振れる.+の 電位を−端子に接続すると,出力電位が逆転するのである.このこ とから,差動アンプとは+端子に信号を与えると,極性がそのまま で増幅し,−端子に信号を与えると,極性が逆転して増幅している ことがわかる.−端子の−とはマイナスの意味ではなく,逆転 (invert)を意味している.それでは+端子と−端子に同じ信号を与 えるとどうなるかというと,互いに打ち消し合って出力は0になる. すなわち差動増幅器とは+入力と−入力の電位の差だけを増幅する 引き算器であることが分かる.この性質は大変重要で,1 mVの信号 を1000倍に増幅するためには,当然高流電源から生じるハム雑音に 悩まされる.しかし,入力回路を同じ性質の電線や電極にしておく と,ハム雑音などの障害電位を打ち消して,本来の信号だけを増幅 することができる.まさに心電図測定には打ってつけの増幅器であ る.  この差動アンプの電極をを両手と足に装着して測定する電位信号 を心電図用語でいえば,双極誘導である.胸部誘導は一般に双極誘 導に対して,単極誘導とよんでいるが,電気的には正しい表現では なく,双極誘導の亜型にすぎない.電極の極性は重要で、必ず右肩 の電極はアンプの−端子にに接続しなくてはならない.+極は左足 が基本である(第II誘導).こうすることにより,右肩は心内膜側の 電位を計測し,左足は心外膜側の電位を計測することになる. 第II誘導が心電図の基本波形だと頭に叩き込んでほしい.
胸部誘導目次に戻る.
precordial.png
細胞外電位:目次に戻る.
 体表心電図とは心臓の活動電位の細胞外電位を意味する.そこで 細胞外電位の性質を理解することが心電図の理解に非常に重要であ る.細胞内電位とは細胞の中の電位で,細胞外電位を基準にしてお よそ -90 mVの電位を示す.細胞膜はおよそ10 nmと非常に薄いため に膜電位ともいう.それでは,細胞外電位とは基準になる電位であ るから常に0 Vではないかという理屈が生じるが,それは1個の細胞 に注目した場合だけであって,複数の細胞が並んでいる場合は,脱 分極して活動状態の細胞や,静止状態の細胞が同時に存在するため に,それら周囲の細胞外液の間で電位差が生じる.その電位差を細 胞外電位という.細胞外電位のイメージを明らかにするために, 1.5 Vの乾電池を食塩水に沈め,電池の周りの電位分布を調べて みよう.      図3A  図3Aは,1.5Vの乾電池を食塩水などの電解質溶液に沈めた図で, 黒線に示す電位分布と赤線に示す電流分布が描かれている.当然+ 電極の近傍はその電極に近い電位となり,−電極の周辺はそれに近 い電位になる.基準となる電位(基準電位: 0 V)を−極にすると+ 極は1.5V,+極を基準電位にすると,-1.5Vになり,電池から遠く 離れた場所を基準電位にすると,+極と−極はそれぞれ+0.75Vと -0.75Vになる.乾電池を電解質溶液に沈めた場合は,+極の周りの 溶液電位は+に,−極の周りの溶液は−電位になることに注意して ほしい.  次の例は実際の細胞モデルである.図3Bは細胞モデルで,細胞内 Kイオンは140 mEq/L,細胞外Kイオンは5 mEq/Lの濃度である.内外 共にその他の電解質があり,等しい浸透圧(等張)を維持し,膜を通過 する水分子の移動はない.また,それぞれの層での電気的中性は保た れている.     図3B  今図3Bに示されるようにKイオンだけが通過する選択的イオンチャ ネルが開口していると考える.このとき,どのような現象が発生す るであろうか.  まず考えられることは,細胞内のにKイオンは混み合っている. チャネル越しに外界を見ると,Kイオンは非常に少ない.そこでKイ オンは外界に流出しようとする.ところが陽イオンの対をなす陰イ オンはチャネルを通過することができない.そのために,濃度勾配 に従って外界に出ようと努力するが,外に出られないのである.こ の歪を解消するために細胞内部の荷電状態を陰性にすればKイオン で混み合っている状態を細胞内に引き留めておくことができる.し かし,陰性度が強くなりすぎると,細胞外に存在するKイオンも細 胞内に飛び込むことになるため,細胞外と細胞内濃度バランスが丁 度よい具合にしなければならない.このバランス電位(平衡電位)は Nernstの方程式として知られている.その結果図1B右式に示すよう に細胞内電位は細胞外溶液に対して,-0.089 Vの陰性電位になる. 細胞内陰イオンは居心地が悪くなり,細胞外に飛び出そうとするが, 出入口の扉が閉じているために全く考慮する必要はない.分子なり, イオンなどの微小粒子は同族に対しては反撥するなどの影響を示す が,異種粒子に対しては全く無関心でいる.つまり,ドルトンの分 圧の法則の拡大解釈をすればよい.  また,重要なことであるが,Kチャネルは開口した瞬間に起電力 は発生するが,イオンがチャネルを通過する訳ではない.正確に述 べると,外に向かうイオンの数と,細胞内に向かうイオンの数が同 じである.つまり,起電力により平衡状態を保つわけであるから, イオンがチャネルを通過しないと述べてもよいことになる.このよ うなイオンの濃度差が原因で発生する起電力を濃淡電池とよぶ.さ らに,濃淡電池の本体はイオンチャネルであり,電極は細胞外液と 細胞内液の電解質溶液がそれに相当する.Kチャネルが閉口下場合, 細胞内電位は不定である.決して0 Vになる訳ではない.その理由 は,濃淡電池そのものが構成されていなので電池のスイッチがoff 状態と考えればよい.       図3C  次はNaイオンについて検討しよう.Kチャネルは閉鎖状態であり, Kイオンによる濃淡電池について考慮する必要はない.図3CはNaチャ ネルの開口状態を示している.Naイオンは細胞外に多く,細胞内は 少ない.そこで,細胞外のNaイオンは細胞内に入ろうとするが,そ れに対応する陰イオンはチャネルを通過しないために入ることが出 来ない.その歪を解決するために,細胞外液の電位を細胞内液に対 して−にする.すると,細胞外液のNaイオンは居心地が良くなり, 無理に細胞内に侵入しようとしなくなる.一応,細胞外液の電位を 0 Vと定めているから,細胞内液の電位は図に示すようにNernstの 式を使って+41 mVになる.先程のKチャネルの例と同じように,陰 イオンについて考慮する必要はなく,またNaチャネルが閉口すると 細胞内電位も不定になる.          図3D  図3Dは,脱分極状態と静止状態との細胞を細胞外液に配置した 状態である.前述のとおりに,脱分極状態の細胞周囲では負に帯電 し,静止状態の細胞周囲では正に帯電する.そこに電位差勾配がな りたち,細胞外電位が生まれる.当然,これらの細胞が全て静止状 態なら,細胞外電位は基線上になる.それと同時に全て脱分極状態 なら,電位差勾配が生じないためにまた細胞外電位は基線上になる. 心電図上でのSTセグメントが基線に戻る理由は全細胞が脱分極状態 であるためである.そして,また,これらの細胞が同期せず,ばら ばらに静止状態,脱分極状態を繰り返せば,心室細動として波形観 測されることも理解できる.このような現象を防止するために心筋 ではコネキシンと呼ばれるチャネル間孔で連結されている.          図3E  それでは,Naチャネルが開口した細胞とKチャネルが開口した細 胞を組み合わせてみよう.図3Eがそれである.左側の細胞は脱分 極状態と呼ばれ,右側の細胞は静止状態と呼ばれる.これで左の細 胞周囲の細胞外液は電気的に陰性となり,右の細胞周囲の細胞外液 は陽性になる.つまり,細胞外電位が生まれる.細胞外液に示す赤 線矢印で電流が右から左へ向かう様子を示しているが,本当に電流 が流れているとは思えない.流れるのは陽イオンであり,陰イオン であって銅線を流れるような自由電子でないことは確かである.  細胞外液で細胞と細胞との間はコネキシンと呼ばれるチャネル間 孔が開いており,電気的に通電状態であると共に細胞内陽イオンも 通過する.そのために興奮した細胞内Naイオンはコネキシンを通過 して隣の細胞に流入し,細胞内電位を上昇し,興奮させる働きがあ る.                    図4  いよいよ細胞外電位理解の最終コーナーである.図4は興奮性細 胞5個が横一列に並んでいる.蛙の坐骨神経と思えばよい.その左 端を電気興奮させ,双極電極で細胞外電位を測定している状態であ る.Aは興奮が電極に到達していないから,メータの振れは0であ る.Bは右端の電極が興奮しているから,+に振れる.Cは両端が興 奮しているから電位差は生じない.そのため再び0になる.Dは右 端の興奮のために−に振れる.Eは神経興奮が過ぎ去っているから 再び0になる.下図に興奮の時関経過をグラフにしているが,神経 繊維に対する双極電極の位置や双極電極間の幅により描画されるグ ラフは変化する.そのことをしっかり理解し,応用力を養ってもら いたい.
シミュレーション原理目次に戻る.
 心臓の刺激伝導系は図3のように示すことができる.洞房結節の 自動能による心拍興奮は房室結節,His束,左右の脚枝,そして心 内膜直下で網の目状に広がっているPurkinje繊維に伝導し,隣接す る心室筋を興奮させる.心室筋は細胞間伝導により心内膜側と心外 膜側へと興奮は伝搬する.  左図は心筋各部位の活動電位を示す.心電図と心室筋に注目する と,赤線で示す末梢Purkinje繊維の興奮に後れてR波が発生し,心 室筋の再分極の始まりに合わせてT波が発生し,Purkinje繊維の興 奮終了とともにT波が終了していることがわかる.つまり心室筋は 心内膜側より興奮(脱分極)し,興奮の終了(再分極)は心外膜側より 始まる.                図3  そこで,心臓を単純心内膜側心筋層と心外膜側心筋層の2層構造 の左心室だけでできた心筋とみなすと,興奮過程は図4のように考 えられる.図4(1)は興奮が心内膜側より始まり,心外膜側へと伝 播,また再分極も心内膜側から心外膜側へと向かう.この場合の体 表心電図は再分極波形は下向きになる.つまり,逆転T波になる.  図4(2)は,興奮過程は図Aと同じであるが,再分極は心外膜側よ り始まる.すると,再分極波形は上向きになる.つまり,正常T波 の説明ができる.Purkinje繊維の活動電位が一般心筋より長く脱分 極状態を維持できれば正常T波になる理由はここにある.                   図4  ここで再び図1に示した心電図測定システムを思い出してほしい. 図5Aは図1と同じで−極は右肩に,+極は左脚に接続して,細胞 外電位を検出している.細胞外電位であるから,心筋活動電位の極 性が逆になる(反転電位).+極についても同様である.正確に述べ ると,−極は反転電位を引き算するから反転の反転で本来の活動電 位に戻して述べると加算操作に相当する.+極の方は逆転した細胞 外電位を加算するから,引き算操作を行っていることと等しい.反 転の反転という表現を単純化すると,図5Bに示すように本来の活 動電位に戻した波形と正負を逆転したアンプで表現するのと同じだ といえる.つまり,体表心電図の測定とは心内膜側活動電位から心 外膜側活動電位の引き算操作にほかならない.                   図5  心筋細胞の活動電位が矩形波では実際とかけはなれているために, スプライン近似曲線で活動電位を近似する.また,図4では心室を 馬蹄形の袋として描いているが,心内膜側,心外膜側の細胞が,そ れぞれ均一に,また同時に脱分極,再分極を繰り返すと仮定すると, 2細胞が直列に並んだ状態と単純化することができる.つまり,3次 元立体構造でもなく,2次元平面図形でもなく,本質的には1次元シ ミュレーションということになる.

シミュレーション例目次に戻る.

正常心電図目次に戻る.
status.1: 正常心電図. 赤線で示す心内膜側電位から青線で示す心外膜側電位を単純に引いただけだか ら,R波は台形になる.
左室高電位目次に戻る.
status.2: 左室高電位 正常心電図に比べて,心外膜側電位を少々右方にずらしている.そ の結果,R波の高さが大きくなる.
左室肥大目次に戻る.
status.3: 左室肥大 さらに,心外膜側電位を右方にずらしている.その結果,R波が高 電位になることは当然であるが,T波が逆転する.
心室性期外収縮目次に戻る.
status.4: 心室性期外収縮 心室興奮がPurkinje繊維の伝導を通らずに,隣接する心室筋の細胞 間伝導をすると,興奮伝搬が大変遅くなる.そのために,高電位の R波,STセグメントがなく,逆転T波になる.シミュレーションでは 単純な2層構成になっているため,J点が存在するが,実際はQRS波 からT波へ連続的に移行する.
ST下降目次に戻る.
status.5: ST下降 青色で示す心外膜側電位の静止電位を-90 mVより,-100 mVに下げ, 脱分極電位は心内膜側電位と同じにした.その結果ST下降になる.
ST上昇目次に戻る.
status.6: ST上昇 青色で示す心外膜側電位の静止電位を-90 mVより,-80 mVに上げ, 脱分極電位は心内膜側電位と同じにした.その結果ST上昇になる.
テント状T波目次に戻る.
status.7: テント状T波 高カリウム血症の場合,心電図はテント状T波を示す.これは 心内膜側,心外膜側活動電位の脱分極時間が共に短縮するが, 特に,心外膜側心筋の短縮が強く現れる.換言すれば,早く 再分極する.そのため,再分極時での赤線と,青線との乖離が 強くなり,テント状T波になる.
低カリウム血症目次に戻る.
status.8: 低カリウム血症 低カリウム血症特有の低電位T波は赤線と青線の再分極電位を近づ けるだけで容易に作成できる.参考書の第2章図11の波形ではST下 降,2相性T波,そしてU波となるが,心内膜電位と心外膜側電位の 微妙な調節で表示できるかもしれない.
ジギタリス効果目次に戻る.
status.9: ジギタリス効果 ジギタリスが効果を示すと,盆状T波となる.理由は参考書に示した.
サドルバック様T波目次に戻る.
status.10: Brugada症候群で見られるサドルバック様T波 心外膜側電位のIto再分極を強化するとサドルバック様 T波が作れる.本物はR波ではなく,S波だろうなどと言わないでほ しい.あれは右室流出路で計測しているからS波になって当然であ る.これは一次元シミュレーションだからそこまでの能力はない.
早期再分極症候群目次に戻る.
status.11: 早期再分極症候群(Brugada様症候群) Brugada症候群のコーブド型がII, III, aVFに発生すると,早期再 分極症候群(Brugada様症候群)と診断される.冠攣縮で発生すると 思われるが,大変恐ろしい波形である.原因は心内膜側活動電位の APD短縮と心外膜側静止電位の極端な上昇で説明できる. 典型的な例を見るだけでなく,シミュレータを動作させ, 活動電位を変化させると,その意味が実感できる. 体表心電図がなぜ,そのようになるかについての理論は学研メディ カル秀潤社:「成り立ちから理解する心電図波形」を参考にしても らいたい.
質問と回答目次に戻る.
質問:
このシミュレーションにP波がないのはなぜですか?
回答:
心室筋だけを扱っているので,洞結節,心房,房室結節などは
モデルに入っていません.

質問:R波は見えるのですが,qRsにならないのはなぜですか?
回答:
このシミュレーションは一次元モデルです.もっと正確にいうと,
2細胞モデルです.したがって,心臓の立体構造に伴うqRsの心室興
奮波形は表現できません.

3次元心室モデルはECGSIMを参考にしてください.
心筋細胞興奮モデルは京都大学生体機能シミュレーションモデルが
有名です.前者は電極を体幹に巻きつけた体表心電図と,心臓解剖構造
を基本データにしてシミュレーションをおこなっています(トルソー
モデル).後者は心筋細胞のチャネル理論(古典的HHモデルの拡張)より,
モデルを作成しています.両者とも研究目的にはよい対象かもしれませ
んが,そこから心電図の基本原理を理解するにはあまりにも労力を必要
とします(自分がそうであった).

ここで紹介する2細胞モデルは,活動電位のチャネル理論については
スプライン曲線で代用し,心室構造については 1次元2細胞モデルで
代用していますが,それでも十分に体表心電図の基本原理が説明でき
ると考えています.

質問:この心電図モデルで異常Q波は作成できますか?
回答:
残念ながら,できません.異常Q波作成のためには心内膜側活動電位を
心外膜側にリークさせるための別の電極モデルが必要になります.

質問:体表心電図の逆問題は解けないといわれていますが,それは
なんですか?
回答:
逆問題とは測定された体表心電図から,心筋の細胞内電位を導き出
そうとという考え方です.それが可能になると,体表測定だけで心
室筋の障害部位を立体的に推定することができます.
この問題が解けない理由は簡単です.例えば右肩(R),左肩(L),
左足(F)の電極電位をVR,VL,VFとします.
I,II,III誘導電位は
I = VL - VR
II = VF - VR
III = VF - VL
となります.ここで式が3つ,変数3つが記述できるから,各電極
電位が求められると思うのですが,解けません.その代わりに,

II = I + III

の関係が明らかになります.答えが得られない理由を行列式で示すと,

となり,係数項の対角上に0が並び,逆行列が求められないためです.

電極電位VR,VL,VFの一つでも独立した測定法が得られれば,
この問題は解決できますが,胸部誘導も含めて双極誘導で体表心電図を
測定しているかぎり解決法は見つからない.逆にVRを独立して定義す
ると,3誘導はすべて求められます.拙著ではこの考え方をもちいて,
例えばVRの電位に正常心筋活動電位を与えて,体表心電図のシミュ
レ−ションを行っています.

質問:多くのECG シミュレーターが販売されていますが,それとの
  違いは何ですか?
回答:有償のシミュレーターのほとんどは実波形を再現し,瞬時に
診断をするための訓練機材です.アナログ・ディジタル技術で前もっ
て記憶させ,それを心電図上に再現させています.本シミュレーショ
ンプログラムはマウス操作で活動電位を変化させることにより,心
電図上にどのような変化が生じるかを認識するための道具で,心電
図の記憶ではなく,心電図を理解するための教材に利用してくださ
い.

参考:
日本集中治療・テクノロジー学会2011投稿論文

ぜひ日本集中治療・テクノロジー学会への入会をお願いします.
ホームページはhttp://www.jsta.net/です.