User Manual for BSA Ver 3.16 (Bispectrum Analyzer)


Jump to English Manual


目次

1.はじめに
2. BSAの概要
3. BSAのインストール
4. 脳波計の接続
5. BSAの操作方法
6. データ処理のアルゴリズム
7. データフォーマット
8. 変更履歴
9. おわりに


1. はじめに

麻酔深度モニターとしてBISモニターが脚光を浴びていますが,BIS Indexの算出方法は完全には公開されていないため,scientificな考察を行う際には問題があります. そこで,BISの要であるBispectrum Analysisを行い,BIS Indexを算出する元となる3つのsub-parameterを計算するBSA (Bispectrum Analyzer)を作成しました.ただし,BispectrumのパラメータであるSynchFastSlowについては算出法の記載におかしな所があるため,おそらく同等と考えられるBispRatioというパラメータで代用しています.BSAでは原波形をreal timeに表示しながら,Bispectrumそのものを演算ごとにColor Spectrumで表示しノイズの状況なども把握しやすくしています.BSAはreal time処理のためのOnline modeと,既に取り込まれたデータを後から解析するOffline modeの2つのモードを実装しています.現在のところOnline modeではA/D converterとしてRatoc社製Rex5054B (12bit 4 ch)をサポートしています.脳波計の条件は周波数が50Hz程度までの脳波のanalog出力(±100μV/±2-4V:Input/Output比程度)を装備しているものならば使用できます.私は旧日本電気三栄製のEEGテレメータを使用していますが,Amplitude x2の設定で50μV/1Vになっています.
必要なシステムスペックはMicrosoft Windows 95/98/98SE/MeにPentium 100MHz以上のCPUと20MB程度のメモリーと800x600(SVGA)以上の解像度で216色以上のビデオシステムです.Pentium 150MHz以上のCPUと32M Bytes以上のメモリーを推奨します.また,Rex5054Bを使用するためにType IIのPCMCIAスロットが必要です.ベッドサイドでの使用を睨んでNote型のコンピュータでの使用を主眼にしています.REX5054B用のWindows2000のドライバーもRatocからdownloadできるようになりましたが,動作は未確認です.Windows NTのドライバーは現時点では存在しませんのでNTでは"Online mode"は利用できません.
動作確認はPanasonic Let's note AL-N3(Win95 OSR2), CF-S21(Win95 OSR2.1), CF-B5R(Win98SE)で確認しています.


2. BSAの概要

BSAはBorlandのC++Builder Ver5.0で開発されています. BSAはBispectrum/Bicoherenceをreal timeに表示するためにColor Spectrumを用いています.オプションでGray Scaleにすることも可能です.但しGray ScaleよりもColorの方が解りやすいと思います. これにより視覚的にも解りやすくかつ,高速な描画を可能としています.Ver3.00以降ではBispectrum/BicoherenceおよびPower spectrumの表示間隔を10秒に変更(V2.xまででは1分)し,より迅速に脳波変化を検出できるようになっています.なお,Bispectrum/Bicoherenceの算出に使用する脳波の長さは最近の1,2,3,4,5分のいずれかから選択可能(デフォルトは3分)とし,Power spectrumについては20秒,30秒もしくは1分のいずれかから選択可能(デフォルトは1分)にしました.Time Domain Analysisに関しては1分に固定しています.BispectrumおよびPower Spectrumについては得られたデータを有効epoch数で割って1 epoch当たりに換算するようにしています.Bispectrumは有効epoch数が60未満の場合には表示されません.BispectrumおよびPower Spectrumはいずれもその対数をスケーリングして表示しています.また,BSRについては演算区間のうち有効波形が20%未満になると表示されなくなります.脳波波形そのものも4秒分の波形を1秒毎に表示するようにプログラムされています.Power Spectrumは表示されているBispectrumと同じ解析区間のものが表示されるようになっています.
ノイズ対策としては現在のところ電気メスのノイズやスパイク的なノイズは自動判別により除けるようになっていますが,それ以外のECGやEMG,瞬きなどのノイズ除去は行えていません.従って臨床的に使用する場合には原波形のノイズにも注意しなければなりません.ECGのノイズは両耳短絡で防げると思いますが,pacemakerのspikeはどうなるか不明です.
脳波は512Hzでサンプリングしており,artifactチェックの後128Hzにdown samplingし,このうち0.5-47.5Hzまでのデータについて解析を行っています.オプションとして1024および2048Hzのサンプリングも可能ですが,実際にやってみたところでは大きく変わりませんので将来的にはこのオプションはなくすかもしれません.


3. BSAのインストール

BSA V1.50まではreal time処理を行う場合にはBSA用の専用Rex5054Bドライバーが必要でした.しかしRatoc社のオリジナルのドライバーのupdateに追従するために,オリジナルのドライバーそのもので使用できるように変更しました.従ってV1.51以降ではREX5054のオリジナルのドライバーのままでBSAを実行できます.インストールパッケージからもREX5054のドライバーは削除していますので,カードのドライバーを予めインストールしておいて下さい.
BSA本体はインストールフロッピー(2枚組)を用いて簡単にインストールできます.DISK1をドライブにセットしWindowsのタスクバーのスタートから「ファイル名を指定して実行」を選択し"A:\Setup"としてインストーラを実行して下さい.あとは指示に従えば簡単にインストールできると思います.


4. 脳波計の接続

脳波計の出力はBNCコネクタでRex5054Bの接続ポートのch1に接続します.脳波電極は私のところではA1, A2, FP1, FP2とFPzの5つを接続してFP1-A1からのmono-polar導出を使用しています.BIS monitorではFP1-FA1を使用しています.Ver 2.00以降では最大4チャンネルまで同時にサンプリングできるようになっています.但しパラメータの算出は一度には1chのみしかサポートしていません.残りのチャンネルのパラメータ算出はあとからoff lineで行ってください.FPzはbody groundとして使用し,A1-A2の両耳短絡を行えばECGの混入を防止できます.
どうしてもEEGにノイズが乗る時には頭皮を酒精綿で拭いたあと脳波用のペーストをきっちり付けて脳波電極を固定します.また,EEGのリードが長い場合にはリードを束ねてループにするなどの対策を講じてみてください.私のところではtwistedにしてきっちり束ねてループにしてからかなりノイズが少なくなりました.この他リードが風で揺れたりしないように注意してください.脳波そのもののノイズ対策は成書を参考にして下さい.
"BSA"では47.5Hzまでの周波数が必要ですから,最低でもhigh cut filterは50Hz-60Hzに設定して下さい。私のところではlow cut filterは使用していません.また,time constantは0.3secで使用しています.


5. BSAの操作方法

5-1. BSAの起動

インストールディスクでインストールした場合にはスタートメニューのプログラムの中にBSAが組み込まれていますから,ここから起動して下さい.前もってショートカットのアイコンを作成しておけば,これをダブルクリックだけで起動できます.
なお,BSAはデータの取得タイミングが重要ですのでOnlineモードで動作中に他のソフトウェアを動かすとハングアップする可能性があります.これは,Windows95/98は完全なマルチタスクではないからです.スクリーンセーバーなども止めておいた方がよいと思います.そうしないと予期しないことが起こる可能性があります.


5-2. オプション設定

起動したら最初に初期設定を行います.メニューバーの"Options"から7つのタグが選択できます.これらを順次選択して設定を行います.

[注意]
各Boxで入力した数値は"Apply"ボタンを押さないと有効になりません.設定したら"Quit"の前に必ず"Apply"ボタンを押して下さい.


(1) 脳波計の出力のスケール設定

脳波計側で測定された電位をアナログ出力する際にどのようなスケールになっているかということです.通常脳波計は50μVを1Vとして出力していると思います.この場合にはこのスケールは50/1=50ということになります.100μVを1Vとしているならこの値は100です.メニューバーのOptionを選択し,その中からSet Scale を選択します.一番上のボックスにこの値を設定して下さい.
これらの値はBsa.iniファイルで設定しておけば起動時に読み込まれます.


(2) 0 補正

これは,脳波波形の0 positionを補正する値です.メニューバーのOptionを選択し,その中からSet Calを選びます.ここにはA/D converter から取り込まれた時の電圧値を補正する値として設定します.この値もBsa.iniファイルで設定しておけば起動時に読み込まれます.
A/D calibrationボタンは私のところの脳波計専用になっていますので通常は使用しても適切なデータが得られないと思います.脳波計によって校正用波形は異なると思われますのでそのままでは使用できないからです.


(3) 波形処理のオプション

BSAではSEF90 (Spectral Edge Frequency 90%)と,BISのsub-parameterであるBSR (Burst Suppression Ratio), Relative β Ratio, BispRatioの3つを経時的に表示するようになっていますが,これらの値を計算する時のオプションを指定することができるようになっています.
取り込まれた脳波はまず最初にArtifactのチェックに掛けられ,その後移動平均によるbase line driftに対する補正が掛けられます.BSAでは前後0.5秒(合計1秒)もしくは前後1秒(合計2秒)の間の振幅が平均され,その値が元の振幅から引かれたものがProcessed Waveとして処理されます.Ver3.03以前はOvershootを0として演算していましたが,このために電気メスのノイズの入った後に人為的なartifactができる結果となっていました.Ver3.04ではこの点を改良しています.
4つのパラメータのうちBSRについては常にこのProcessed Waveを使用しています.残りの3つのパラメータについては,Raw Wave (原波形), Moving_Average_1(1秒の移動平均によるbase line補正),Moving_Average_2(2秒の移動平均によるbase line補正)の3種のうちから選択できるようになっています.(BSRはMoving_Average_1またはMoving_Average_2のみです.) これらの選択はメニューバーのOptionのSet Processingで行うことができます.デフォルトの設定ではMoving_Average_1を使用するようになっています.
さらに,ここではBS (Burst Suppression)のSuppressionの閾値,Overshootの閾値,およびSpike判定の閾値がμV単位で設定できます.基本的には閾値の設定は触らないで下さい.
Ver1.20からOfflineモード時にパラメータのみを再計算するためのモードを追加しました."Calculation Only"のチェックボックスにチェックを付けるとこのモードになります.このモードではグラフィック表示せずにパラメータだけを計算してLog Windowに書き出します.これによって処理方法を変えながらパラメータの再計算を高速に行うことができます.
BISモニターでは61.5秒分の脳波からBispectral Analysis由来のパラメータであるSynchFastSlowを算出しているとされていますが1),私の解析ではこの長さでは3分程度の区間から算出しなければ信頼できるBicoherenceが得られないことが判明しています.6)ただBISモニターではBicoherenceではなくBispctrumを用いており,さらに2つの異なる領域のBispectrumの和の比の対数をSynchFastSlowパラメータとして利用しているため現実には61.5秒から算出しても大きく変動しません.尤もこの場合Bispectral Analysisの真の利点であるphase couplingの程度をうまく利用できません.SyncFastSlowはほとんどPower sepctrumの変化を見ているに過ぎないのです.このためBsaではデフォルトで3分(正確には181.5秒)の脳波を用いてBispectral Analysisを行うように設定しています.BISと同じ区間で演算を行いたい場合には区間の設定を1分に変更してください.
V3.00以降ではPower spectrumの算出区間およびBispectrumの算出区間をそれぞれ別個に設定できるようになっています.デフォルトではPower spectrumは1分,Bispectrumは3分としています.演算間隔はすべて10秒間隔で行うように変更しましたが, LowWindowに書き出される間隔については別にオプションで設定変更ができるようになりました.デフォルトは1分です.データバッファにデータが記録されている時にこの設定変更を行うとLogWindowの更新を促すMessage Boxが表示されますので,更新したい場合にはYESを選択してください.

(4) 表示選択

あとは表示波形の選択とOffline時の再生速度の選択です.これはOptionのSet Viewで行えます.取り込まれたままの波形は黄色で表示され,base line補正を行った波形は赤色で表示されます.Set Viewではこの2つの波形の表示・非表示を選択できます.表示速度(演算速度)はx1(real timeと同じ)からx8(real timeの8倍)まで選択できます.ただし,Pentium 150MHz未満のCPUを使用している場合には設定通りの速度が得られないかもしれません.
さらにOfflineモードでbinary fileを使用する場合には再生(演算)を開始する時刻をtrackbarやup-downボタンを使用して設定できます.trackbarやup-downボタンはOfflineモードでファイルが選択されている場合のみ表示され,使用できるようになります.
"Wave Form Scale"は脳波波形を表示する時のスケールです.
なお,このサブメニューだけは波形処理中でも使用可能です.

(5)麻酔ガスモニター

V1.42以降は標準で麻酔ガスモニターをサポートするようになりました.現時点では私が使用しているCOLIN社製麻酔モニターBP508とDATEXのCAPNOMACの2種類のみです.CAPNOMACの方が小数点以下2桁まで測定できますので有利だと思います.麻酔ガス濃度を取り込むにはRS232Cで接続し,その接続ポートをBsa.iniに予め設定しておきます.

(6) A/D converter channel setting

BSA V2.00以降ではマルチチャンネル対応になっていますが,データ処理できるチャンネルは1チャンネルのみです.従って複数のチャンネルデータを記録した場合には残りのチャンネルはあとからofflineで処理する必要があります.このオプションはデータ処理を行うチャンネル番号を指定するものです.online動作中にも変更可能ですが,データ処理上問題が生じますので,最初の波形確認などに使用する以外はonline時には変更しないで下さい.

5-2-1. Bsa.iniファイルの書式

Bsaではオプションで設定できるパラメータをBsa.iniファイルに予め書いておくことができます.この設定は起動時に読み込まれ適切な値の場合のみ初期値にオーバライドする形で設定されます.書式はすべてラベル名と設定値のペアで区切りには":"が使用されます.":"の前後にスペースを挟まないで下さい.また,行頭が"#"で始まる行はコメント行としてすべて無視されますので必要なコメントを書くことができます.

  1. Wave_Scale: 波形表示のスケールです.
  2. AD_Scale: 脳波計からのアナログ出力の換算値です.出力の1Vが脳波の電位(μV)単位でいくらに相当するかを設定します.デフォルトは50です.
  3. AD_Offset: 脳波計でのアナログ出力の0点が0Vになっていない場合の補正です.<アナログ出力の電圧値で補正しています.
  4. Cal_Volt: 脳波計のcalibration波形の電圧を設定します.現時点では未使用です.
  5. Over_Sampling: A/D converterのoversampling値(1,2,4)を設定します.通常は1でよいと思います.
  6. Moving_Average: 移動平均を取る区間の長さ(sec)を設定します.設定可能値は1または2のみです.デフォルトは1です.
  7. Overshoot_Threshold: 電気メスなどの電気ノイズを検出するための電位閾値の設定です.デフォルトは150(μV)です.100未満の設定はできません.
  8. Spike_Threshold: Spikeノイズの検出閾値です.1/512(sec)での変位電圧で設定します.デフォルトは20(μV)です.10未満の設定はできません.
  9. BS_Threshold: Burst Suppressionのcriteriaを設定する電位閾値です.デフォルトは5(μV)です.1-5の値が設定できますが,通常は変更しないで下さい.
  10. Show_Raw: raw EEG waveの表示指定です.trueまたはfalseで指定します.デフォルトはfalseです.
  11. Show_Proc: processed EEG waveの表示指定です.trueまたはfalseで指定します.デフォルトはtrueです.
  12. Cal_Threshold: 0 Point calibration時の校正波形の立ち上がりを検出する閾値です.電位差分の絶対値で指定します.
  13. Cal_Point1, Cal_Point2: 0 Point calibration時の校正波形の立ち上がりの何サンプル前のポイントを0に取るかを指定します.
  14. Defect_Str: Log Windowに表示される欠損値を表示する文字列を指定します.デフォルトでは"***"です.NULLを指定すると何も表示されません.NULLはlogファイルを後からMicrosoft Excelで処理する場合などに便利なように作成されています.
  15. WorkDir: EEGの波形データやLogファイルを置くディレクトリを設定します.何も指定しない場合にはBsa.exeの作業ディレクトリになります.
  16. Proc_Trend: V1.30以降ではEEGサブパラメータのトレンド表示が可能になりました.トレンドを使用する場合にはtrueを,しない場合にはfalseを設定します.デフォルトはtrueです.
  17. GasMon: Bsaは現時点で2種類のガスモニターをサポートしています.DATEXのCAPNOMACまたは日本コーリンのBP508からのシリアル出力で麻酔ガス濃度(揮発性麻酔薬と笑気)を脳波と同時に取り込むことができます.
  18. COM_Port: ガスモニターのデータを取り込むシリアルポートを設定できます.0-7までの値がセットできます.
  19. N_ch: EEGの取り込みを同時に行うチャンネル数を指定します.最大4chまでサンプリングできます.デフォルトは1ch.
  20. Power_Dur: SEFやRBRを算出する演算区間(時間)を20sec,30sec,1minのいずれかから選択できます.デフォルトは1min(1分)です.
  21. Bisp_Dur: Bispectrum/Bicoherenceを算出する演算区間(時間)を1min,2min,3min,4min,5minのいずれかから選択できます.デフォルトは(3min)3分です.
  22. LogInterval: Logウィンドウに書き出すデータの間隔を指定します.10sec,20sec,30sec,1minのいずれかを選択できます.デフォルトは1minです.
  23. Maxmem: データを保存する領域の設定を時間単位で行います.デフォルトでは24時間分の算出パラメータを記憶可能ですが,旧いシステムによっては十分なメモリーが搭載されていないことも考えられます.そのような場合にはこの設定を小さくします.また、逆に24時間を超えてデータを取りたい場合もあるでしょう.そのような場合にはこの値を増やしてください.8時間未満の設定に関しては8時間に設定されます.ソフトウェア的な上限は設けていませんので,システムに搭載されたメモリーにのみ依存することになります.設定された時間を超えて記録を続けた場合順に古いデータが上書きされてしまいます.ただし,LogWindowの内容に関しては単純に追加されていきます.
  24. AutoRec: この設定をtrueにしておくとOnlineモード時には常に波形データをファイルに記録するようになります.ファイルはWorkDirが設定されていればそのディレクトリに,なければBsa.exeの作業ディレクトリに作成されます.ファイル名は年月日に1-99までの番号が付いたものになります.必要に応じてあとから変更してください.なお,1-99のすべてのファイル名のファイルがすべて存在する場合にはStartボタンを押した時に記録するファイル名を指定するダイアログボックスが表示されます.デフォルトはfalseです.
  25. Child: 小児で使用する場合の脳波振幅が大きいためトレンドのスケールが足りません.このオプションをtrueにすると振幅のスケールが変更できます.

以下にBsa.iniのサンプルを示します.変更の必要のない項目は省略できます.Bsa.iniファイルはBsa.exeと同じディレクトリに置かなければなりません.


# Parameter settings

AD_Scale:50.0

AD_Offset:0

Wave_Scale:2

Power_Scale:1

Cal_Volt:50

Over_Sampling:1

Moving_Average:1

Overshoot_Threshold:150

Spike_Threshold:20

BS_Threshold:5

Show_Raw:false

Show_Proc:true

Cal_Threshold:0.3

Cal_Point1:5

Cal_Point2:6

Defect_Str:NULL

WorkDir:C:\EEG

Proc_Trend:true

GasMon:CAPNOMAC

COM_Port:0

N_ch:1

Power_Dur:1min

Bisp_Dur:3min

LogInterval:1min

AutoRec:false

MaxMem:24

5-2-2. 出力ファイル設定

メニューのファイルから"Save"を選択すると"Wave", "Power", "Bisecp"の3種の選択タグが表示されます.これらのそれぞれについて"Binary"もしくは"ASCII"のモード選択があります(現時点ではWaveはBinaryのみです).選択するとファイル名を設定するDialogが表示されますから,ここでファイル設定を行って下さい.出力ファイルのフォーマットについては7. のデータフォーマットを参照して下さい.


5-3. モード設定

メニューの"Mode"タグでOnline modeとOffline modeの選択ができます.Rex5054Bが装着されていない場合には起動時にメッセージが出てOffline mode専用になってしまいます.このような時には一度BSAを終了させて,カードを装着してから再起動して下さい.

5-3-1. Online mode

Rex504Bカードが装着されている場合にはデフォルトでOnline modeになります. 既に設定値をBsa.iniファイルに記述してある場合にはスタートボタンを押せば直ちに解析が開始されます.脳波データや計算されたBispectrumなどの情報をファイルに記録したい場合にはスタートする前にファイル名をメニューバーのファイルのところを選択して指定しておく必要があります.(V3.00以降ではAutoRecがtrueなら自動的にファイルに記録されます.)
脳波計の接続が済めば,スタートボタンを押すだけで解析がスタートします.終了する時にはStopボタンです.算出されたパラメータは時刻と共にLog Windowに表示されます.必要に応じてここにコメントを加えることも可能です.Online modeではStop時にこのLog Windowをファイルに出力するかどうか尋ねるように作成しています.Logを残す場合にはファイルに出力して下さい.また,コメントファイルについても内容がある場合には同様にファイルに記録するかどうかを尋ねてきます.
このモードではパケットデータをファイルに記録中は"On Recording"表示がtrend画面の上に表示されます.

5-3-2. Offline mode

Offline modeは一度記録した脳波波形を再度処理する場合に用います.メニューバーのModeでOfflineを選択するとファイルタイプを選択するようになり(binaryもしくはascii),ここで選択した形式のファイルを開くようにできます.通常は波形ファイルはbinaryにしておいてください.binaryの場合にはヘッダーに波形を記録したときの各種パラメータや時刻が記録されますし,ファイルサイズも小さくなります.asciiモードは別のところで記録された脳波を処理することを目的に作成しています.asciiモードの場合には解析開始前に各種パラメータの設定が必要です.特にAD_Scaleに注意して下さい.既に脳波電位のμVオーダーに変換された値で記録されている場合にはAD_Scaleは1 になります.A/D converterレベルのVオーダーの値で記録されている場合には,記録した時のScaleでAD_Scaleを設定して下さい.asciiモードのファイルはサンプリングされた電圧値がそのまま順に書かれている必要があります.BSAはこの値を順次読み込みながら処理していきます.また,asciiモードの場合には現在のところ1 chしかサポートされていません.
Offlineモードでは,再生用ファイルはモードが切り替えられるか新しいOffline用ファイルが指定されるまで有効です.Startボタンを押す度に先頭から再生されます.一時的に波形を止めたい場合にはPauseボタンで止まります.再開はこのボタン(Contボタンになっている)を再び押せば再開します.処理を止めてしまう時にはStopボタンを押して下さい.

Offline modeでは再生速度をx1からx8まで変更できます.これはメニューバーのオプションからSet Viewを選択して設定します.このオプションはOffline用のファイルが選択されている場合のみ有効です.
SetProcで"Calculation Only"が設定されている場合には画面表示は行わず,常にフルスピードでパラメータのみの算出を行います.この場合にはPauseボタンは使用できません.

5-3-3. 実行中の操作

(1) Trend処理の設定

V3.00以降ではTrend画面はメインパネルに置かれていますので,SVGAの画面で脳波波形やBispectrum/Bicoherence, Power spectrumと同時にTrendを見ることができるようになりました.
また,トレンド画面にはSEF, BSR, RBRとf1=f2の対角線付近のbicoherenceの平均値がcolor spectral scaleで表示されます.これまでの私の研究では麻酔レベルによってBicoherenceが変化する領域は上記のような対角線付近に比較的限局しており,この部分のトレンドが最も臨床上参考になると考えたためこのトレンドを加えました.aBIC(f)の計算にはBIC(f1,f2) = BIC(f2,f1)が考慮されています.実際にはaveraged Bicoherence (aBIC)としてaBIC(2Hz)からaBIC(15Hz)を0.5Hzステップで算出・表示しています.

aBIC(f) = { BIC(f,f)+BIC(f+0.5,f)*2+BIC(f+0.5,f-0.5)*2+BIC(f+1.0,f-0.5)*2 +BIC(f+1.0,f-1.0)*2+BIC(f+1.5,f-1.0)*2 }/11
V3.00以降ではTrend表示の時間幅は2時間に固定されていますが,画面右上のスクロールボタンで左右に1時間単位でスクロールできるようになっており過去のデータも見ることができるようになりました.
Trend処理を行う場合には"Options"の"Set Proc"で"Proc Trend"のチェックボックスにチェックを付けます.これを外すとTrend処理は行われません.なお,CPUパワーが不十分な場合には'Online' モードで"A/D converter overrun"が生じるかもしれません.このような場合にはTrend処理をしないように設定して下さい.

(2) Commentの入力

Ver2.00B以降ではon lineモードでのComment入力オプションが追加になっています.intubation, extubationなどのよく用いられるコメントは予め登録されていますので,キー入力することなくコメントをComment Windowに追加できます.それ以外のものはBox内に直接書きこんでApplyボタンを押して下さい.V3.00以降ではコメントはコメントファイル(.cmt)にデータログとは分離して記録するように変更されています.また,コメント入力ウィンドウには同時にコメントボタンが押された時刻も表示されます.この時刻通りでよい場合にはコメントだけを書きこんでApplyボタンを押せばこの時刻が記録されます.時刻の変更が必要な場合にはここで時刻も変更してください.なお,Optionタグから直接コメントウィンドウを開いて編集することも可能です.

(3) Bispectrum, BicoherenceとTriple Productの表示選択

コンボボックスの切り替えでBispectrumの代わりにBicoherenceもしくはTriple Productの表示が選択できます.


(4) Log ウィンドウの操作

"Log Window"はBsa V1.10以降では独立したWindowに変更されました. 算出されたSEF90とBSR, RBR, BispRatioおよび平均振幅はこのLog Windowに時刻と共に書き出されます.平均振幅は振幅が5μV以上の波形のみを対象に算出しています.ここにコメントを加えることもできます.ガスモニター(BP-508もしくはCAPNOMAC)を使用している場合には呼気の麻酔薬濃度と笑気濃度が時刻の次に記録されます.'Online mode'の場合には"Stop" ボタンを押した時にLog Windowの内容をファイルにsaveするかどうかを尋ねるダイアログボックスが表示されますからsaveする時にはここでファイル名を指定して下さい.'Offline mode'ではSaveする時には"Save Log"ボタンをクリックしてファイル名を指定する必要があります.単にクリアだけしたい時には"Clear Log"ボタンをクリックして下さい."Log Window"を閉じる場合は"Close"ボタンをクリックします.
Log windowに記録されるデータの大きさは64KB以内に制限されています.もしも非常に長い手術に使用した場合にはすべてのparameterのlogが取れないこともあると思います.このような場合には後からofflineで区間を区切りながら再計算させてください.
(5) Comment Windowの操作

Ver 3.00以降ではCommentはLogとは別にComment Windowに書かれる仕様になりました.コメントの入力そのものはCommentボタンを押して行いますが,修正などが必要な場合には直接Comment Windowを開いて修正できます.

(6) SQI (Signal Quality Index)について
V3.00以降ではメインパネル右下に3つの解析方法に対するSQIが棒グラフで表示されるようになっています.それぞれ80%以上の場合には緑色で,40-80%の場合には黄色で,40%未満の場合には赤色で表示されます.SQIは設定された区間のうち演算に有効であった部分の割合を示します.なおPower spectral AnalysisとBisectral Analysisでは1 epoch(2sec)のtotal powerが(Blackman windowを掛けて算出した値で)5μV2未満の場合にはflat EEGと判断して解析から除いています.

5-4. Versionの表示

メニューの"Version"をクリックすると"BSA"のバージョン番号が表示されます.

5-5. Auto calibration

"BSA"にはA/D converterの0点を自動補正するための機能が実装されています.現時点ではほとんど私のところの環境専用ですが...
校正用の矩形波をEEGモニター側で出力させておいてから"A/D calibration"ボタンを押して校正波形とその差分波形(赤色)を表示させます.波形が安定したら"Cal On"ボタンを押し実際の校正を開始します.適当な長さの校正波形が処理できたら"Stop"ボタンで終了します.0 pointの値はOptionsメニューの"Set Cal"で確認できます.0 pointを検出する差分閾値はBsa.iniでCal_Thresholdとして指定します.また,立ち上がりの何サンプル前を0とするかをCal_Point1, Cal_Point2に指定します.これらの値には1から10までが指定できます.うまく使用できない場合には0点は手動で設定してください.校正波をASCIIモードで記録すれば0点を決定できます.

5-6. 処理の終了

"BSA"を終了させる時にはFileメニューの"Exit"タグをクリックするか画面右上のxマークをクリックしてください.処理の実行中にいきなり終了させることはできませんので,先に必ず"Stop"ボタンで処理を終了させた後でExitして下さい.


6. データ処理のアルゴリズム

6-1. base line 補正

5章で書きましたようにBSAでは最初にArtifactのチェックを行った後,原波形のbase lineを移動平均で補正します.
さて,Burst SuppressionのcriteriaはAmplitudeが5μV以下の区間が0.5sec以上続くことですが,RampilのReviewにもあるように原波形に対していきなりこのcriteriaを当てはめるとbase line driftにより正確にSuppressionを捕らえられません.そのためにこのような補正を行っています.現時点ではBISで用いられているQUAZIの算出方法がはっきりしないため,このようなアルゴリズムに基づくBSRのみで対処しています.(ReviewではPower Spectral Analysisから得られる1Hz未満の成分を取り除いた波形に対して処理をしているとなっています.)
移動平均は最も簡単なlow pass filterです.従って移動平均を差し引くとlow cut filterとなります.BSAではデフォルトではprocessed waveを処理するようにしています.
なお,前後0.5秒もしくは1秒の移動平均を取りますので,実際に演算・表示を行う波形は実時間よりも0.5秒もしくは1秒遅れたものになります.現実的にはこの程度の遅れは問題にならないと考えられます.

6-2. Bispectral AnalysisとSynchFastSlow パラメータ

6-2-1. Bispectral Analysisの原理

Bispectral Analysisの詳細はSiglらの論文3)を参照して下さい.おそらくこの論文が最も理解しやすいと思われます.さらに詳しく知りたい方はNikiasらの論文5)を参照して下さい.ただNikiasらの論文を理解するにはかなり高度な数学的知識が要求されます.RampilのReview1)の解説は正しくありませんので参照しないで下さい.
ここでは,簡単に原理のみを解説します.Bispectral Analysisは2つの異なる周波数を持つ波の非線形的相互作用(phase coupling)を調べるものです.Siglらはphase couplingの簡単な例として入力の2乗を出力として返す関数を挙げています.入力をf1,f2という周波数の2つの余弦関数の和とし,それぞれの位相をq1, q2とします.この時出力関数は以下のようになります.('t'は時間を示します.)

INPUT: x(t) = cos(f1t+q1) + cos(f2t+q2) OUTPUT: y(t) = 1 + cos[(f1+f2)t+(q1+q2)] + cos[(f1-f2)t+(q1-q2)] +1/2cos(2f1t+2q1) + 1/2cos(2f2t+2q2) この場合f1+f2,f1-f2, 2f1, 2f2といった周波数の成分は元のf1,f2という周波数の成分に依存したものになります.このような非線形的修飾(入力の加減算以外の演算)によってできた成分のことをIMPs (intermodulation products)と呼びます.IMPsでは上記の式で判るようにその位相が元の成分の位相に依存しています.このようなIMP成分をphase-coupledであると表現します.一方IMPではないような成分はfoundementalと呼ばれます.Bispectral Analysisは信号成分のうちphase-coupledであるような成分の存在や程度を調べる解析方法です.
もしもある波が異なる周波数を持つ波同士の線形結合である場合にはPower spectral Analysisで個々の周波数成分に分解できます.しかし非線形的な結合の場合にはPower spectral Analysisでは解析できません.Bispectral Analysisでは2つの異なる周波数f1,f2とその和の周波数であるf1+f2を考えます.f1,f2の波をそれぞれX(f1),X(f2)とし,これらの位相をf1t+q1,f2t+q2とします.また,f1+f2の波の位相を(f1+f2)t+q3とします.波は一般に大きさと位相という2次元のパラメータで表されこれは複素数として示されます.ここでX(f1+f2)の共役複素数をX*(f1+f2)とすればX*(f1+f2)の位相はX(f1+f2)の位相を反転したものになります.つまり-{(f1+f2)t+q3}です.ここでX(f1),X(f2),X*(f1+f2)の3つの積triple productsを考えると,このtriple productの位相は(f1t+q1)+(f2t+q2)-{(f1+f2)t+q3} = q1+q2-q3となります.なお,このように時間のパラメータは消去されてしまいますからepochをどのように取ってもよいことが解ります.もしもq1, q2, q3の間に一定の関係(phase coupling)がない場合にはtriple productの位相は[0,2p]にrandomに分布することになり,その結果としてtriple productsの和の大きさ(bispectrum)は0に近づきます.しかしこれら3つの位相の間になんらかの関係があればtriple productsの位相には偏りが生じその結果としてbispectrumは0でない値を取るようになります.このようにして位相のカップリング(phase coupling)を調べるのがBispectral Analysisです.

複素数と極座標表示

複素数と位相の関係について少し解説を加えます.
まず通常のx-y座標の代わりに極座標(大きさと位相)を導入します. 複素数 z = x + yi を考えます. (x,y) => (r, q) r = sqrt(x2+y2) cos q = x/sqrt(x2+y2) sin q = y/sqrt(x2+y2) とすれば z = r(cos q + i sin q) ここで2つの複素数の積を極座標で考えます. z1*z2 = r1(cos q1 + i sin q1)*r2(cos q2 + i sin q2) = r1r2*{ (cos q1cos q2 - sin q1sin q2) + i(sin q1cos q2 + cos q1sin q2) } = r1r2*{ cos(q1+q2) + i sin(q1+q2) } 結局z1*z2 の大きさは2つの複素数の大きさの積に,位相は2つの複素数の和となります.
このBISの目玉であるBispectral Analysisですがepochの長さやoverlappingの行い方にいくつかの選択支があります.Nikiasらはoverlappingはかぎられた区間からのデータからより多くのepochを得るために有用であると書いています.理想的には無限時間の加算を行わなければならないのですが,現実には有限時間の加算で代用しています.区間が短ければ算出されるbispectrumの分散は大きくなり,信頼性は低下します.Siglらの論文では1 epochは4秒で1秒ずつずらしながら加算していますが,BSAでは1 epochは2秒とし0.5秒ずつずらしながら加算する方式を採用しています.この方法はBIS monitor(少なくともA-1050)の方法と同じものです.これはAspect社から提供されているA-10X0 Serial port specification manualから判明した情報です.なお,"BSA"ではBIS monitorと同様にFFTを行う前にBlackman window関数を掛けています.

6-2-2. SynchFastSlowパラメータ

さて,RampilのReviewではBISのsub-parameterのうちSynchFastSlowはBispectral Analysisから算出された値を用いて以下の式で計算しているとしています.


SynchFastSlow = log( B0.5-47.0Hz/B40.0-47.0Hz )


ここで問題となるのはBx-yです.Bx-yはfrequency to frequency spaceの両方の軸でx Hzから y HzまでのBispectrumの和と解説されていますが,この通りだとすると例えばB40.0-47.0Hzの計算にはB(47Hz,47Hz)などという計算が必要になり,つまりはX(94Hz)などという高周波のスペクトルが必要になってしまいます.ところが128Hzサンプリングの場合このような高周波成分を得ることはできませんし,現実問題としてこのような脳波コンポーネントを考えることは無意味です.実際にBispectral Analysisをやってみるとこれはf1+f2がこの周波数であるBispectrumという意味のようであると考えなければ辻褄が合いません.ASPECT社に問い合わせたところSynchFastSlowではf1+f2<48Hzの範囲のbispectrumから算出しているという回答を得ました.しかしSynchFastSlowの詳細な算出法に関しては返答はありませんでした.結局判明したことは,Rampilのreviewに書かれているSynchFastSlowの計算式はシェーマであって実際の計算式ではないということです.


BispRatio = log( B40.0-47.0Hz/B0.5-47.0Hz )


私は替わりに,BSAではBispRatioを上式から計算して表示しています.BSAでは,Bispectrumを0.5Hz<=f2<=f1<=47.0Hz(f1+f2<=47.5Hz)の範囲で計算しています.
私の計算式は推論によるものですから実際にBIS内で用いられているSynchFastSlowとは異なるかもしれませんのでBispRatioはSynchFastSlowとは別個のパラメータとして扱ってください. BIS Indexでは,SynchFastSlowはdeep sedationから通常の手術時の麻酔レベルで最も重いウェイトが掛けられています.これまでの私の解析ではBispRatioはこの麻酔レベルで麻酔レベルとよく相関して変化していますのであながちおかしなパラメータではないと思います.

6-2-3. BispectrumとBicoherence

BSAではBispectrumの代わりにBicoherenceを表示させることもできます.BicoherenceはBispectrumをreal triple products(f1,f2,f1+f2の3つの周波数の波のPowerの積)の平方根の和で割って100にスケーリングしたものです.Siglの論文3)では和の平方根で割ると書かれていますが,これでは100にスケーリングできません.なぜならばBispectrumはベクトル和の大きさですから,これをスケーリングするにはベクトルの大きさの和で行わなければならないからです.本来はBicoherenceの方が2つの周波数の波の相互作用の程度を示す指標ですからBispectrumそのものを見るよりも意味があると考えられました.しかし実際には最初はBicoherenceを見ても分布に特徴が見られませんでした. 解析を重ねた結果現在では麻酔深度と共にspecificに変化することが判って来ました.


複素数(ベクトル)の和の大きさのスケーリングに関して

複素数は2次元のベクトルとみなすことができます.ベクトルの和の大きさは以下の式のように個々のベクトルが同一方向を向いている時に最大となり,その値は個々のベクトルの大きさの和に一致します. 0 <= | S zj | <= S |zj| ところで S |zj| = S sqrt(|zj|2) です.
これをBispectrumに当てはめればtriple productsは複素数ですからBispectrumは複素数の和の大きさということになります.一方triple productsは3つの複素数の積ですからその大きさは3つの複素数の大きさの積になります.
さて,RTP(real triple products)は3つの複素数のPowerの積として定義されています. RTP = P(f1)P(f2)P(f1+f2) これを用いればtriple productの大きさは以下のように RTPの平方根と等しくなります. | (triple product) | = r1r2r3 = sqrt(r12r22r32) = sqrt(P(f1)P(f2)P(f1+f2)) = sqrt(RTP) 従って Bispectrum = | S (triple product) | <= S sqrt(RTPj) 結局 Bicoherence = Bispectrum / S sqrt(RTPj) * 100 (%) となります.

6-3. Burst Suppression Ratio

BIS Indexのサブパラメータの一つであるBSR/QUAZIですが,BSAでは先に解説しましたように移動平均でbase line補正を行った波形に対しデフォルトでは振幅が5μV未満の区間が0.5sec以上続いた場合をSuppressionと判定してSynchFastSlowパラメータを計算するのと同じ区間について結果を表示するようにしています.但し全波形のうち正常波形が20%未満の場合には値を表示しないようにしています.RampilのReviewによるとBISモニターではオリジナルのBSRのcriteriaではbase line driftのためにまともな判定ができないためQUAZIも計算しているとしています.QUAZIはPower Spectrum Analysisで得られたデータを用いて原波形から振動数が1Hz未満の成分を除去した波形に対して処理を行っていると書かれています.BSAでのBSR判定はこれらとはalgorithmが異なります.
BSAでのSuppressionの検出アルゴリズムの概略を解説します.まず,artifact detectionで生き残った波形を128Hz samplingからさらに64Hz samplingに落します.これによって高周波ノイズの影響をさらに軽減させます.次にこの波形の1次微分を計算し,positiveおよびnegative peakを検出します.個々のpeak間の差の絶対値の半分を振幅と考え,これに対してsuppressionのcriteriaを当てはめてBSRを算出しています.この方法の場合base line driftがあってもほぼ確実にsuppressionを捉えることが可能でした.BISモニターを用いて比較した結果ではQUAZIとほぼ同じ値を示していました.
問題点としては比較的麻酔の浅い段階で振幅の小さな速波が主成分になっている場合にBSのcriteriaに入ってしまい本来のBurst Suppressionが0であるのに間違った値を算出することがあります.振幅が5μV以上の場合の平均振幅の大きさを元に真のsuppressionと浅い麻酔状態を区別するようにしていますが,完全ではないと思います.これについては今後の課題です.
BSR/QUAZIはBIS Indexでは麻酔の最も深いレベルで最も大きなウェイトを占めています.現実問題としてSuppressionが強くなると演算すべき脳波そのものが減少しますので他のパラメータの意味が小さくなることは当然と言えば当然です.

6-4. Relative β Ratio

BIS Indexでは11.0Hz-20.0Hzの波と30.0Hz-47.0HzのPower Spectrumの和の比の対数をRelative β Ratioとして算出し,麻酔の最も浅い部分で最も大きなウェイトが掛けられるようになっています.log ((P30-47Hz)/(P11-20Hz))で計算されます.1)
ところで,Glassら2)は30.0Hz-47.0Hzではなく40.0Hz-47.0Hzであると記述しています.これについては現在ではASPECT社からの回答でRampilの記述が正しいことが判っています.

6-5. SEF90

SEF90(Spectral Edge Frequency 90)は全体のPower Spectrumのうちちょうど90%がその周波数以下に存在するFrequencyの値を指します.一般に麻酔が深くなるとこの値は小さくなります.BSAでは30.0Hz以下のPower SpectrumについてSEF90を算出しています.


7. データフォーマット

出力データ用のファイルはすべてStopボタンで処理が止められた段階でCloseされます.各データのフォーマットを以下に示します.

7-1. 波形データ

Binaryモードの場合,取り込まれた脳波波形のデータはA/D converterから取り込まれたそのままの形式でファイルに書き込まれます.ただし,先頭の128バイトはヘッダーとしてデータを取り込み始めた時刻やサンプリングレート,A/D converterのスケール(A/D converterでの1Vが実際の電圧としていくらの値になるか)および0オフセットなどが記録されます.
ASCIIモードでは波形データが順に出力されます.ASCIIモードでは1行目に'#'で始まり,データ収集開始時刻とSampling Rate(512または1024または2048),AD_Scale, AD_Offsetが書かれた行が記録されます.フィールドの区切りはスペースです.従ってBSAで作成したASCIIモードファイルではこれらはデータ再生時に自動的に読み込まれます.他のシステムからデータを持ってきた場合には演算前にマニュアルで各種設定を行うか,ファイルの先頭に上記のデータをセットしておいて下さい.波形データについては通常はBinaryモードを使用して下さい.ファイルサイズが非常に大きくなります.また,1チャンネルでなければASCIIモードで記録された脳波はBsaで再処理できません.

7-2. Power Spectrum, Bispectrumのデータ

これらはBinaryモードではsingleのfloat形式で記録されます.Power Spectrumについては0.5Hzから47Hzまで0.5Hz刻みで記録されます.Bispectrumは0.5Hz<=f2<=f1<=47.0Hz(f1+f2<=47.5Hz)の範囲で(f1,f2) = (0.5,0.5), (1.0,0.5),...(47.0,0,5),(1.0,1.0),(1.5,1.0),.....(46.5,1.0),(1.5,1.5), (2.0,1.5).......................,(24.5,23.0)の順に記録されます.このモードではBispectrumが出力され,続いてReal Triple Products(f1,f2,f1+f2の周波数の波のPowerの積)の平方根の和が出力されます.
Bispectrumの配列のindex(0-2255)をf1とf2から求める換算式は以下のようになる.

Index = (96-f2*2)*(f2*2-1)+(f1-f2)*2 ASCIIモードの場合にはBinaryモードと同様の順でデータが出力されますが,Bispectrum, Triple Productsに関しては1行にこの2つがペアとして出力されるようになっています.各ブロックの先頭には'# hh:mm:ss,n'の形で時刻が記録されます. nは有効epoch数です.


8. 変更履歴

1999.09.27 Ver 0.33 ほぼ目的の動作状態となる.
1999.11.14 Ver 0.70 BicoherenceからBispectrumへ表示変更
1999.12.09 Ver 0.85 演算ルーチンを整理
1999.12.14 Ver 0.94 Bsa.iniによる初期設定追加
1999.12.23 Ver 1.00 一応の完成版
1999.12.31 Ver 1.02 ASCIIモードでの波形データ記録ルーチン追加
2000.01.03 Ver 1.03 SEF90の演算領域を0.5-47.0Hzから0.5-30.0Hzへ変更 (pEEGやBISモニターに合わせるように変更しました.)
2000.01.11 Ver 1.05 Offlineモード時に解析を開始する時間を設定できる機能を追加.Calibration Mode modifed
2000.01.12 Ver 1.10 PowerspectrumをWaveformと同時に表示するように変更.Bispectrumのイメージは縮小.LogWindowを独立させた.
2000.01.21 Ver 1.11 Screen Display troubleの対策
2000.01.25 Ver 1.20 パラメータのみを高速に再計算させるモードを追加.また,この他表示ルーチンなど細かい点を改善.Wave Scaleの設定をSetViewに移動.
2000.01.30 Ver 1.21 画面表示が時々おかしくなっていた問題を修正.その他細かいbugを修正.再生速度のリミッタを追加.
2000.01.30 Ver 1.22 Log Windowに表示される欠損データを表示する文字列をBsa.iniで指定できるオプションを追加.Bsa.ini読み込み時のbugを修正.
2000.01.31 Ver 1.23 画面表示修正の追加.
2000.01.31 Ver 1.24 Bsa.iniにWorkDirオプションを追加.
2000.02.15 Ver 1.30 Trend画面を追加.
2000.03.25 Ver 1.31 PowerSpectrumのスケールを変更
2000.06.20 Ver 1.40 Add TPR
2000.06.22 Ver 1.41 Add TPR2
2000.07.22 Manualの一部改訂
2000.07.27 Ver 1.42 CAPNOMACのサポートを追加.C++Builder V5へバージョンアップ
2000.08.24 Ver 1.50 各脳波パラメータの計算を128Hz down sampledした波形から求めるように変更.ショートカットキーを改変.
2000.08.28 Ver 1.51 REX5054コントロールをRatoc originalのドライバー用に戻す
2000.08.29 Ver 1.52 BicIntervalに2minと5minを追加し,各グラフの文字フォントを9ptから16ptに変更.
2000.10.12 Ver 2.00 EEGをmulti channelに拡張.
2000.10.15 Ver 2.01 Bispectrumの計算をf1=f2まで拡張.
2000.11.01 Ver 2.02 Bispectrumの演算時間をoverlappingさせながらより長い区間から計算できるように変更.
2000.11.08 Ver 2.03 comment buttonを追加.
2000.11.18 Ver 2.10 BSRの演算方法を変更.
2000.12.28 Ver 2.20 BSR算出に若干の変更を追加.平均振幅のパラメータをLog画面に記録するように追加.
2001.01.20 Ver 2.21 ソースコードを整理.機能的にはV2.21はV2.20と同等.
2001.05.31 Manualの改訂
2001.06.17 Ver 2.40 描画Threadの常駐化
2001.07.15 Ver 3.00 Major Version up !!. Trend画面を改良し,さらにメインパネルに移動.演算間隔を10秒間に変更. コメントファイルの独立化.AutoRecモードの追加.SQIグラフの追加, etc.
2001.07.17 Ver 3.01 Trend廻りのbug fixed.
2001.07.29 Ver 3.02 Window Menu 追加, POST_OVER追加, bicoherence init bug fixed
2001.08.10 Ver 3.03 Trend廻りの小さなbug fixed.
2001.10.03 Ver 3.04 OVERSHOOT後の処理の変更.
2002.01.14 Ver 3.06 Comment Windowへのfocus設定追加.Stop時の確認の追加.SQI graph描画変更.
2002.02.10 Ver 3.07 ASCII mode bug fixed.
2002.05.16 Ver 3.11 Serial Port control modified. log changed to log10 (bug fixed)
2002.11.15 Ver 3.16 Child mode added.

Copyright (c) 1999-2002 Satoshi Hagihira (hagihira@masui.med.osaka-u.ac.jp)

9. おわりに

欧米ではBIS モニターが普及してきているようですが,私は近い将来現在のECGのように麻酔医がごく当たり前にEEGを見ながら麻酔管理を行うようになるのではないかと思っています.BSAを動かしながら麻酔しているとそのような気になってしまいます.BIS Indexの値のみを見るのはちょうどパルスオキシメータで波形を見ずに値だけを見ているのに似ていると思われます.我々は常に原波形を見るべきです.(BIS moniotrでも原波形は見ることができますが,同時にPower spectrumやBispectrumまで見ることはできません.)
麻酔薬によって脳波波形の変化には違いがありますが,脳波波形そのものを見ているだけでもかなり麻酔の深さは判断できると思います.さらにBSAのようにBispectrumやPower Spectrumも一目で判れば臨床上もかなり参考にできると考えています.なお,BISモニターは臨床使用を目的に開発された「モニター」であり,artifact (ノイズ)対策にかなりの精力を注いでいるようです.また一部には波形を補間しているともされています.このような波形に対する操作は測定装置という意味ではやや問題があります.研究目的で使用する場合には内部がはっきり判らないだけでなくこういった点も問題になると思います.一方BSAは研究を主眼にして開発したものです.artifact除去は最小限ですので臨床で使用する場合には注意が必要です.もちろんBISと違って波形そのものやBispectrumそのものを見ることができるため人間の目で判断することで補える部分はあると思います.BSAの真価はむしろ研究室のようなノイズの少ない環境で使用した場合に発揮されると思います.各パラメータの算出方法はすべて公開されていますから科学的な考察を行うことが可能です.麻酔薬の血中濃度の推移とBispectrumの変化を見る研究にはBSAは最適だと思います.これによって麻酔薬のpharmacokineticsをeffect siteレベルで論じることができる可能性があります.(精度の問題はあるでしょうが)
このソフトウェアは共同研究していただける方には配布します.研究に使用したい方は私に直接連絡を下さい.研究目的ではなく単にBISモニターの補助として使って頂くことに対してはフリーに使用していただいても構いません.使用に当たって一つだけお願いがあります.もしBSAを使用している症例で術中覚醒を来した症例がありましたら,その時の麻酔薬の使用量やBSAで得られた各脳波パラメータ(できれば生の脳波データ)を頂けないでしょうか.どういう時に術中覚醒が起こるのか(その時の実際の脳波パターンはどうなっているのか)知りたいのです.私の研究の大きな目的の一つは術中覚醒が起こる時の状況を正確に把握し,これを防ぐ方策を考えることです.ぜひ協力をお願いしたいと思います.
著作権は萩平に帰属します.内容に関して保証はできませんが,演算ルーチンにbugはないと思います.但し,SynchFastSlowの演算方法ははっきりしませんのでBispRatioで代用しています.
旧バージョンではWindowsの画面制御が時々おかしくなり画面が乱れたことがありました.Ver1.21でやっとこの問題に対応できました.
ASPECT社がSynchFastSlowの演算方法やBIS Indexの算出方法を公開した場合にはこれに対応したいと思います.(まず公開されないと思いますが...)
また,ご意見やご希望がありましたらEmailで連絡をいただけないでしょうか?


参考文献

  1. Rampil IJ: A Primer for EEG Signal Processing in Anesthesia. Anesthesiology 1998;98(4), 890-1002
  2. Glass PS, Bloom M, Kearse L, Rosow C, Sebel P, Manberg P: Bispectral Analysis Measures Sedation and Memory Effects of Propofol, Midazolam, Isoflurane, and Alfentanil in Healthy Volunteers. Anesthesiology 1997;86(4), 836-47
  3. Sigl JC, Chamoun NG: An intruduction to bispectral analysis for the electroencephalogram. J Clin Monit 1994;10, 392-404
  4. A-10x0 SERIAL PORT TECHNICAL SPECIFICATION, provided by ASPECT INC.
  5. Nikias CL, Raghuveer MR: Bispectrum estimation: A digital signal processing framework. Proc. IEEE, 1987;75, 869-91
  6. Hagihira S, Takashina M, Mori T, et al: Practical Issues in Bispectral Analysis of Electroencephalographic Signals. Anesth Analg, 2001;93(4),966-70
  7. Hagihira S, Takashina M, Mori T, et al: Changes of Electroencephalographic Bicoherence during Isoflurane Anesthesia combined with Epidural Anesthesia. Anesthesiology, 2002;97(6), in press

Email: hagihira@masui.med.osaka-u.ac.jp, satoshi.hagihira@nifty.com