以下に、実施の形態に係る医用画像診断装置及び制御方法の一例として、第1の実施形態及び第2の実施形態に係るMRI装置を説明する。なお、開示の技術は、MRI装置を用いた撮像に適用する場合に限られず、X線診断装置、X線CT(Computed Tomography)装置など、他の医用画像診断装置を用いた撮像においても同様に適用することができる。
(第1の実施形態)
まず、第1の実施形態に係るMRI装置100について簡単に説明すると、第1の実施形態に係るMRI装置100は、撮像部と、記憶部と、受付部と、制御部とを備える。
撮像部は、例えば後述するシーケンス制御部10などのことであり、被検体に対して複数種の撮像を順番に実行する。また、記憶部は、例えば後述するシナリオ記憶部23bなどのことであり、複数種の撮像を順序付けた検査フローをクリニカルアプリケーションシナリオ(CAS(Clinical Application Scenario)、以下、適宜「シナリオ」という)として複数記憶し、各撮像を実行するために必要な複数の撮像条件を、操作者による入力操作を受け付ける撮像条件と、入力操作を受け付けない撮像条件とに分類して記憶し、検査フローの中で入力操作を受け付けるための操作画面を表示するタイミングを記憶する。また、受付部は、例えば後述する撮像開始指示受付部26aのことであり、複数のクリニカルアプリケーションシナリオの中から、指定するクリニカルアプリケーションシナリオを開始する開始指示を操作者から受け付ける。また、制御部は、例えば後述するシナリオ制御部26bのことであり、開始指示を受け付けると、検査フローが実行される間に、記憶されたタイミングにて、入力操作を受け付けるための操作画面を表示し、入力操作にて設定された撮像条件の撮像パラメータ及び入力操作を受け付けない撮像条件を、操作画面にて入力された後の撮像に反映する。
また、第1の実施形態において、クリニカルアプリケーションシナリオは、位置決め用のパイロットスキャン、R波からの遅延時間を決定するためのプレップスキャン、決定された遅延時間後に撮像を行う非造影MRA(Magnetic Resonance Angiography)スキャンを順番に実行する検査フローである。また、第1の実施形態において、シナリオ制御部26bは、パイロットスキャン後で且つプレップスキャン前に、パイロットスキャンにより得られた位置決め画像を含む撮像位置を決定するための情報を操作画面に表示し、プレップスキャン後で且つ非造影MRAスキャン前に、R波からの遅延時間の決定を支援するための情報を操作画面に表示する。
図1を用いて、第1の実施形態に係るMRI装置100の構成を説明する。図1は、第1の実施形態に係るMRI装置100の構成を示すブロック図である。図1に例示するように、第1の実施形態に係るMRI装置100は、静磁場磁石1と、傾斜磁場コイル2と、傾斜磁場電源3と、寝台4と、寝台制御部5と、送信コイル6と、送信部7と、受信コイル8と、受信部9と、シーケンス制御部10と、計算機システム20とを備える。
静磁場磁石1は、中空の円筒形状に形成され、内部の空間に一様な静磁場を発生する。静磁場磁石1は、例えば、永久磁石、超伝導磁石などである。傾斜磁場コイル2は、中空の円筒形状に形成され、内部の空間に傾斜磁場を発生する。具体的には、傾斜磁場コイル2は、静磁場磁石1の内側に配置され、傾斜磁場電源3から電流の供給を受けて傾斜磁場を発生する。傾斜磁場電源3は、シーケンス制御部10から送られるパルスシーケンス実行データに従って、傾斜磁場コイル2に電流を供給する。
寝台4は、被検体Pが載置される天板4aを備え、天板4aを、被検体Pが載置された状態で傾斜磁場コイル2の空洞(撮像口)内へ挿入する。通常、寝台4は、長手方向が静磁場磁石1の中心軸と平行になるように設置される。寝台制御部5は、寝台4を駆動して、天板4aを長手方向及び上下方向へ移動する。
送信コイル6は、高周波磁場を発生する。具体的には、送信コイル6は、傾斜磁場コイル2の内側に配置され、送信部7から高周波パルスの供給を受けて、高周波磁場を発生する。送信部7は、シーケンス制御部10から送られるパルスシーケンス実行データに従って、ラーモア周波数に対応する高周波パルスを送信コイル6に送信する。
受信コイル8は、エコー信号を受信する。具体的には、受信コイル8は、傾斜磁場コイル2の内側に配置され、高周波磁場の影響によって被検体Pから放射されるエコー信号を受信する。また、受信コイル8は、受信したエコー信号を受信部9に出力する。例えば、受信コイル8は、頭部用の受信コイル、脊椎用の受信コイル、腹部用の受信コイルなどである。
受信部9は、シーケンス制御部10から送られるパルスシーケンス実行データに従って、受信コイル8から出力されたエコー信号に基づきエコー信号データを生成する。具体的には、受信部9は、受信コイル8から出力されたエコー信号をデジタル変換することによってエコー信号データを生成し、生成したエコー信号データをシーケンス制御部10を介して計算機システム20に送信する。なお、受信部9は、静磁場磁石1や傾斜磁場コイル2などを備える架台装置側に備えられていてもよい。
シーケンス制御部10は、傾斜磁場電源3、送信部7、及び受信部9を制御する。具体的には、シーケンス制御部10は、計算機システム20から送信されたパルスシーケンス実行データを、傾斜磁場電源3、送信部7、及び受信部9に送信する。
計算機システム20は、インタフェース部21と、画像再構成部22と、記憶部23と、入力部24と、表示部25と、制御部26とを備える。インタフェース部21は、シーケンス制御部10に接続され、シーケンス制御部10と計算機システム20との間で送受信されるデータの入出力を制御する。画像再構成部22は、シーケンス制御部10から送信されたエコー信号データから画像データを再構成し、再構成した画像データを記憶部23に格納する。
記憶部23は、画像再構成部22によって格納された画像データや、MRI装置100において用いられるその他のデータを記憶する。例えば、記憶部23は、RAM(Random Access Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、又は、ハードディスク、光ディスクなどである。
入力部24は、撮像開始指示、撮像条件の編集などを操作者から受け付ける。例えば、入力部24は、マウスやトラックボールなどのポインティングデバイス、モード切替スイッチなどの選択デバイス、あるいはキーボードなどの入力デバイスである。表示部25は、画像データ、撮像条件編集画面などを表示する。例えば、表示部25は、液晶表示器などの表示デバイスである。
制御部26は、上記各部を制御することによってMRI装置100を総括的に制御する。例えば、制御部26は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、又は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
ここで、第1の実施形態に係るMRI装置100は、撮像に含まれる複数の処理を実行するプログラムを記憶する。そして、MRI装置100は、撮像開始指示を受け付けると、プログラムに含まれる各処理が撮像にて実行される順序に従って実行されるように制御する。このような機能は、第1の実施形態において、主に計算機システム20において実現される。
図2は、第1の実施形態に係るプログラムの実行制御を説明するための図である。第1の実施形態に係るMRI装置100は、撮像に含まれる複数の処理を実行するプログラムを「シナリオ(Scenario)」と定義する。「シナリオ」においては、撮像に含まれる各処理が、操作者による入力操作を受け付ける「シーン(Scene)」と、入力操作を受け付けない「パフォーマンス(Performance)」とに分類され、撮像にて実行される順序に従って関連付けられる。なお、「シーン」は、いわば操作者との間で対話を行う処理である。
また、第1の実施形態に係るMRI装置100は、プロトコルに関する情報の集合体を「シアター(Theater)」と定義し、また、「シアター」に含まれるプロトコルに関する情報を「アクター(Actor)」と定義する。なお、プロトコルに関する情報には、例えば、ある撮像に含まれるあるプロトコルを制御するために予め設定された情報や、操作者による入力操作を受け付けて設定される情報、あるいは、ある撮像において収集された画像データなどが含まれる。すなわち、プロトコルに関する情報は、あるプロトコルについて、予め設定されている情報や、事後的に設定されたり収集されたりする情報を含む。
また、第1の実施形態に係るMRI装置100は、「シナリオ」の実行を制御する機能を「プロデューサー(Producer)」及び「ディレクター(Director)」と定義する。具体的には、「プロデューサー」は全体の制御を行い、「ディレクター」は「シナリオ」の制御を行う。すなわち、第1の実施形態において、「シナリオ」は、撮像の目的に応じて定義され、撮像の目的に応じて定義された「シナリオ」毎に「ディレクター」が定義される。このため、「プロデューサー」は、「ディレクター」及び「シナリオ」のペアを制御することで、複数の「シナリオ」を制御する。
ここで、「シナリオ」、「シーン」、「パフォーマンス」、「シアター」、「アクター」、「プロデューサー」、及び「ディレクター」の関係を、図2を用いて説明する。図2に例示するように、第1の実施形態に係るMRI装置100は、後述するシナリオ記憶部に、撮像の目的に応じて定義された「シナリオ」を予め記憶する。「シナリオ」は、例えばXML(Extensible Markup Language)などによって記述されたファイルとしてシナリオ記憶部に予め格納される。操作者は、シナリオ記憶部に格納された「シナリオ」を編集することができ、例えば撮像の目的に応じて処理の内容に変更を加えたり、実行の順序に変更を加えたりすることができる。
また、MRI装置100は、後述するプロトコル情報記憶部に、「アクター」を記憶する。図2に例示するように、「アクター」は、「シーン」及び「パフォーマンス」の入出力データである。すなわち、プロトコル情報記憶部は、「シーン」や「パフォーマンス」に用いられる「アクター」を予め記憶するとともに、「シーン」や「パフォーマンス」によって生成された「アクター」を記憶するなどする。なお、プロトコル情報記憶部が、「シアター」に対応する。
また、図2に例示するように、後述するシナリオ制御部の機能のひとつである「プロデューサー」が、同じくシナリオ制御部の機能のひとつである「ディレクター」を起動し、「ディレクター」が、シナリオ記憶部から「シナリオ」を読み込む。「シナリオ」には、撮像に含まれる複数の処理として「シーン」及び「パフォーマンス」が含まれる。このため、図2に例示するように、「ディレクター」は、「シーン」及び「パフォーマンス」の各処理が撮像にて実行される順序に従って実行されるように、「シーン」及び「パフォーマンス」の各処理を順次起動する。
また、図2に例示するように、第1の実施形態に係るMRI装置100は、後述する入出力情報記憶部を有する。MRI装置100は、入出力情報記憶部を「データストア(Data Store)」と定義する。そして、MRI装置100は、「プロデューサー」と「ディレクター」との間のデータ交換、「ディレクター」と「シーン」との間のデータ交換、「ディレクター」と「パフォーマンス」との間のデータ交換を、「データストア」を介して行う。
なお、「データストア」を介して交換されるデータのデータ構造は、『キーワード』と『データ』とのセットである場合や、複数の『キーワード』と『データ』とのセット自体を『データ』とし、『キーワード』とその『データ』とのセットである場合などがある。「シナリオ」には、「プロデューサー」と「ディレクター」との間のデータ交換、「ディレクター」と「シーン」との間のデータ交換、「ディレクター」と「パフォーマンス」との間のデータ交換がこのデータ構造によって行われるように、予め記述されている。
図3は、第1の実施形態に係る計算機システム20の構成を示すブロック図である。図3に例示するように、第1の実施形態に係る記憶部23は、プロトコル情報記憶部23aと、シナリオ記憶部23bと、入出力情報記憶部23cとを有する。プロトコル情報記憶部23aは、上述した「シアター」に対応する。入出力情報記憶部23cは、上述した「データストア」に対応する。
また、図3に例示するように、第1の実施形態に係る制御部26は、撮像開始指示受付部26aと、シナリオ制御部26bと、撮像制御部26eとを有する。撮像開始指示受付部26aは、撮像を開始する撮像開始指示を、操作者から入力部24を介して受け付ける。
シナリオ制御部26bは、撮像開始指示受付部26aによって撮像開始指示が受け付けられると、「シナリオ」の実行を開始し、「シナリオ」に含まれる各処理が撮像にて実行される順序に従って実行されるように制御する。具体的には、シナリオ制御部26bは、プロデューサー26cと、ディレクター26dとを有する。プロデューサー26c及びディレクター26dは、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。プロデューサー26cは、上述した「プロデューサー」に対応する。ディレクター26dは、上述した「ディレクター」に対応する。ディレクター26dは、例えば「シーン」を実行する場合に、操作者による入力操作を受け付ける操作画面を表示部25に表示する。この操作画面には、入力操作の受け付けに必要な情報として撮像の目的に応じて選択された情報が表示される。いわば「シーン」に応じた専用のGUIが表示される。そして、ディレクター26dは、操作者による入力操作を入力部24を介して受け付け、例えば『保存』ボタンではなく『次へ』ボタンが押下されるなどすると、順序に従って後段の処理を実行する。
撮像制御部26eは、撮像を制御する。例えば、撮像制御部26eは、ディレクター26dによって「シーン」や「パフォーマンス」が実行され、例えば傾斜磁場電源3、送信部7、及び受信部9を制御する処理が実行された場合に、インタフェース部21を介して、傾斜磁場電源3、送信部7、及び受信部9を制御する。また、例えば、撮像制御部26eは、ディレクター26dによって「シーン」や「パフォーマンス」が実行され、画像再構成部22による画像再構成処理が実行された場合に、画像再構成部22を制御する。
続いて、図4〜30を用いて、第1の実施形態に係るMRI装置100による処理手順を説明する。なお、以下では、撮像の目的として「FBI(Fresh Blood Imaging)法による下肢の撮像」を一例に挙げて説明するが、開示の技術はこれに限られるものではない。他の撮像法や、他の部位を撮像対象とするなど、撮像の目的は任意に変更することができる。
ここで、FBI法について簡単に説明する。FBI法は、非造影MR血管撮像法の一手法であり、心電同期又は脈波同期によって三次元画像を取得する。具体的には、FBI法は、心時相毎に心臓から拍出されるフレッシュで安定した速い流速の血流をスキャンすることによって、造影剤を投与せずに血管を描出する。例えば、MRI装置100は、心電計や脳波計により収集された被検体の心時相を表す信号に同期して、三次元の所定のスライスエンコード(例えば1スライスエンコード)のエコー信号群を収集する動作を、複数心拍毎(例えば、2−5 R−R)に繰り返す。すなわちlongTRとする。TEもlongTEとする。TE、TRは、血液のT2成分を強調したT2強調画像が取得できる範囲に設定される。MRI装置100は、エコー信号群を収集する動作を、例えばHR(Heart Rate)が小さい患者では2心拍毎、HRが大きい患者では5心拍毎に繰り返す。
FBI法による撮像において心電同期を適用し、血管の描出能に優れた画像を得るためには、被検体から発せられるエコー信号が最も強くなるように撮像条件を設定することが望ましい。エコー信号の強さは、R波からの遅延時間に依存することが知られている。このため、MRI装置100は、準備撮像を行うことによって、R波から所定遅延時間後に撮像する最適な遅延時間を決定する。例えばECG(electrocardiogram)−Prep撮像は、最適な遅延時間を決定するために遅延時間を変化させながら行われる準備撮像であり、心電同期又は脈波同期によって二次元画像を取得する。ECG−Prep撮像は、異なる遅延時間で複数回の撮像を行う。MRI装置100は、遅延時間の決定処理を次のように実行する。例えば、MRI装置100は、複数枚の二次元画像を表示部25に表示し、操作者に二次元画像を選択させ、操作者によって選択された二次元画像を取得するために用いられた遅延時間を、FBI法による撮像において用いる遅延時間として決定する。また、例えば、MRI装置100は、複数枚の二次元画像に画像処理等を行い、画像処理等の結果得られた遅延時間を、FBI法による撮像において用いる遅延時間として決定する。
そこで、第1の実施形態において、「FBI法による下肢の撮像」には、パイロット撮像、プラン撮像、ECG−Prep撮像、及びFBI撮像が含まれるものとして説明する。なお、図4〜30は、第1の実施形態に係るシナリオ及びシナリオの実行を説明するための図である。
まず、MRI装置100の操作者は、「FBI法による下肢の撮像」を開始するにあたり、被検体の足首付近を磁場中心に設定する。FBI法を用いて下肢を撮像する場合、寝台4は、被検体の腹部から足方向に順次移動し、足首付近が最終移動位置となる。
次に、MRI装置100の操作者は、計算機システム20を操作し、入力部24を介して「シナリオ」を指定し、撮像開始を指示する。第1の実施形態において、「シナリオ」は、「FBI法による下肢の撮像」を撮像の目的とする。すると、撮像開始指示受付部26aは、操作者からの撮像開始指示を受け付け、シナリオ制御部26bの「プロデューサー」に対して、「FBI法による下肢の撮像」の撮像開始を指示する。
図4を説明する。「プロデューサー」は、「シナリオ」を指定して「ディレクター」を起動する。また、「プロデューサー」は、「シナリオ」に記述されたプログラムに従って「シアター」に予め記憶されたパイロット撮像用のプロトコル(プロトコルA)を読み出し、読み出したプロトコルAを「アクター」として扱うための名称『Pilot』を、「データストア」に格納する。すなわち、プロトコルAのデータ自体は「シアター」に記憶されている。「データストア」に登録された『Pilot』は、『Pilot』というキーワードの「アクター」と、「シアター」に記憶されているプロトコルAのデータとを関連付けるためのものである。
また、「プロデューサー」は、「シナリオ」に記述されたプログラムに従って「シアター」に予め記憶されたプラン撮像用のプロトコル(プロトコルB)を読み出し、読み出したプロトコルBを「アクター」として扱うための名称『Pilot−B』を、「データストア」に格納する。すなわち、プロトコルBのデータ自体は「シアター」に記憶されている。「データストア」に登録された『Pilot−B』は、『Pilot−B』というキーワードの「アクター」と、「シアター」に記憶されているプロトコルBのデータとを関連付けるためのものである。
また、「プロデューサー」は、「シナリオ」に記述されたプログラムに従って「シアター」に予め記憶されたECG−Prep撮像用のプロトコル(プロトコルC)を読み出し、読み出したプロトコルCを「アクター」として扱うための名称『ECGPrep』を、「データストア」に格納する。すなわち、プロトコルCのデータ自体は「シアター」に記憶されている。「データストア」に登録された『ECGPrep』は、『ECGPrep』というキーワードの「アクター」と、「シアター」に記憶されているプロトコルCのデータとを関連付けるためのものである。
また、「プロデューサー」は、「シナリオ」に記述されたプログラムに従って「シアター」に予め記憶されたFBI撮像用のプロトコル(プロトコルD)を読み出し、読み出したプロトコルDを「アクター」として扱うための名称『FBI』を、「データストア」に格納する。すなわち、プロトコルDのデータ自体は「シアター」に記憶されている。「データストア」に登録された『FBI』は、『FBI』というキーワードの「アクター」と、「シアター」に記憶されているプロトコルDのデータとを関連付けるためのものである。
こうして、「データストア」は、以下のデータ構造を有するデータセットを記憶する。なお、「シアター」に記憶されているデータ(プロトコルA、プロトコルB、プロトコルC、プロトコルD)は、「シナリオ」においては、実体のデータとは異なる「アクター」として扱われる。
キーワード:Pilot、データ:Actor−A(プロトコルA)
キーワード:Pilot−B、データ:Actor−B(プロトコルB)
キーワード:ECGPrep、データ:Actor−C(プロトコルC)
キーワード:FBI、データ:Actor−D(プロトコルD)
そして、「プロデューサー」は、「ディレクター」に対して、「シナリオ」の開始を指示する。
図5を説明する。「ディレクター」は、「シナリオ」を読み出し、「シナリオ」に記述された先頭の処理(「シーン」又は「パフォーマンス」)を開始する。第1の実施形態において、先頭の処理は、「P−0:パフォーマンス」である。
「シナリオ」には、以下の内容が記述されているとする。
P-0:パフォーマンス(GetCouchPos)
処理:MRI装置100から寝台位置を読み取り、記録する。
出力:キーワード:FBI_End、データ:寝台位置
この場合、「ディレクター」は、例えばインタフェース部21を介して寝台制御部5から『寝台位置』を取得し、取得した『寝台位置』を『FBI_End』というキーワードで「データストア」に格納する。
次に、「ディレクター」は、「シナリオ」に記述された順序に従って、「P−1:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-1:パフォーマンス(Acquire)
入力:キーワード:Pilot
処理:「Pilot」が示すアクター(プロトコルA)に対して収集を行う。
出力:キーワード:Reference、データ:入力のアクター(プロトコルA)
この場合、「ディレクター」は、『Pilot』というキーワードで登録されたデータ『Actor−A』に対応する実体のデータ「プロトコルA」を「シアター」から読み出し、『Actor−A』すなわち「プロトコルA」に従って撮像を行うように撮像制御部26eに指示を出す。すると、撮像制御部26eが撮像を制御し、パイロット画像を収集し、収集したパイロット画像を「プロトコルA」に格納する。また、「ディレクター」は、パイロット画像が格納されたデータ「プロトコルA」に対応する『Actor−A』を、『Reference』というキーワードで「データストア」に登録する。
図6を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「S−1:シーン」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
S-1:シーン(AutoFBI_Pilot)
入力:キーワード:Reference
処理:入力画像を表示する。
GUI:
「移動継続」ボタン
「FBI開始」ボタン
アクション:
「移動継続」ボタンが選択された場合、パフォーマンス:P-2を開始する。
「FBI開始」ボタンが選択された場合、シーン:S-2を開始する。
この場合、「ディレクター」は、『Reference』というキーワードで登録されたデータ『Actor−A』に対応する実体のデータ「プロトコルA(パイロット画像の画像データを含む)」を「シアター」から読み出し、読み出したパイロット画像を表示部25に表示する。また、「ディレクター」は、表示部25に、操作者による入力操作を受け付けるためのGUIとして、『移動継続』ボタン及び『FBI開始』ボタンを表示する。また、「ディレクター」は、操作者によって入力部24を介して『移動継続』ボタンが押下された場合には、「P−2:パフォーマンス」を実行する。一方、「ディレクター」は、操作者によって入力部24を介して『FBI開始』ボタンが押下された場合には、「S−2:シーン」を実行する。
図7を説明する。上述の「S−1:シーン」において、操作者によって『移動継続』ボタンが押下されたとする。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−2:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-2:パフォーマンス(Duplicate)
入力:キーワード:Pilot
処理:入力アクターの複製を作成する。
出力:キーワード:Pilot、データ:複製されたアクター(プロトコルA−2)
この場合、「ディレクター」は、『Pilot』というキーワードで登録されたデータ『Actor−A』に対応する実体のデータ「プロトコルA」を「シアター」から読み出し、複製を作成し、作成した複製(プロトコルA−2)を「シアター」に格納する。また、「ディレクター」は、複製されたデータ(プロトコルA−2)に対応する『Actor−A』を、『Pilot』というキーワードで「データストア」に登録する。
次に、「ディレクター」は、「シナリオ」に記述された順序に従って、「P−3:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-3:パフォーマンス(MoveCouch)
操作:寝台を移動させる。
アクション:パフォーマンス:P-1を開始する。
この場合、「ディレクター」は、例えばインタフェース部21を介して寝台制御部5を制御することで寝台4を移動させ、「P−1:パフォーマンス」を実行する。
図8を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−1:パフォーマンス」を実行する。
「シナリオ」には、上述したように、以下の内容が記述されている。
P-1:パフォーマンス(Acquire)
入力:キーワード:Pilot
処理:「Pilot」が示すアクター(プロトコルA)に対して収集を行う。
出力:キーワード:Reference、データ:入力のアクター(プロトコルA)
この場合、「ディレクター」は、『Pilot』というキーワードで登録されたデータ『Actor−A』に対応する実体のデータ「プロトコルA−2」を「シアター」から読み出し、『Actor−A』すなわち「プロトコルA−2」に従って撮像を行うように撮像制御部26eに指示を出す。すると、撮像制御部26eが撮像を制御し、パイロット画像を収集し、収集したパイロット画像を「プロトコルA−2」に格納する。また、「ディレクター」は、パイロット画像が格納されたデータ「プロトコルA−2」に対応する『Actor−A』を、『Reference』というキーワードで「データストア」に登録する。
図9を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「S−1:シーン」を実行する。
「シナリオ」には、上述したように、以下の内容が記述されている。
S-1:シーン(AutoFBI_Pilot)
入力:キーワード:Reference
処理:入力画像を表示する。
GUI:
「移動継続」ボタン
「FBI開始」ボタン
アクション:
「移動継続」ボタンが選択された場合、パフォーマンス:P-2を開始する。
「FBI開始」ボタンが選択された場合、シーン:S-2を開始する。
「ディレクター」は、操作者によって入力部24を介して再び『移動継続』ボタンが押下された場合には、「P−2:パフォーマンス」を実行する。その後、図10に例示するように、「ディレクター」は、「P−3:パフォーマンス」の実行、「P−1:パフォーマンス」の実行を繰り返す。
図11及び図12を説明する。上述の「S−1:シーン」において、操作者によって『FBI開始』ボタンが押下されたとする。「ディレクター」は、「シナリオ」に記述された順序に従って、「S−2:シーン」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
S-2:シーン(AutoFBI_StartPos)
入力:キーワード:Reference
処理:入力画像の最終画像を表示する。
操作:操作者は、表示画像上でFBI開始点を指定する。
GUI:
「次へ」ボタン
アクション:
「次へ」ボタンが選択された場合、パフォーマンス:P-4を開始する。
出力:
キーワード:FBI_Start、データ:寝台位置
この場合、「ディレクター」は、『Reference』というキーワードで登録されたデータ『Actor−A』に対応する実体のデータ「プロトコルA−3」を「シアター」から読み出し、読み出したパイロット画像を表示部25に表示する。また、「ディレクター」は、表示部25に、操作者による入力操作を受け付けるためのGUIとして、『次へ』ボタンを表示する。
また、「ディレクター」は、表示部25に表示されたパイロット画像上で操作者によるFBI開始点の指定操作を受け付け、かつ、『次へ』ボタンが押下された場合には、「P−4:パフォーマンス」を実行する。また、「ディレクター」は、例えばインタフェース部21を介して寝台制御部5から『寝台位置』を取得し、取得した『寝台位置』を『FBI_Start』というキーワードで「データストア」に格納する。
図13を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−4:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-4:パフォーマンス(MoveCouch)
入力:キーワード:FBI_Start
操作:入力位置まで寝台を移動する。
この場合、「ディレクター」は、『FBI_Start』というキーワードで登録された寝台位置を「データストア」から読み出し、例えばインタフェース部21を介して寝台制御部5を制御することで、その寝台位置まで寝台4を移動させる。
次に、「ディレクター」は、「シナリオ」に記述された順序に従って、「P−5:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-5:パフォーマンス(Acquire)
入力:キーワード:Pilot−B
処理:「Pilot−B」が示すアクター(プロトコルB)に対して収集を行う。
この場合、「ディレクター」は、『Pilot−B』というキーワードで登録されたデータ『Actor−B』に対応する実体のデータ「プロトコルB」を「シアター」から読み出し、『Actor−B』すなわち「プロトコルB」に従って撮像を行うように撮像制御部26eに指示を出す。すると、撮像制御部26eが撮像を制御し、プラン画像を収集し、収集したプラン画像を「プロトコルB」に格納する。
図14を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「S−3:シーン」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
S-3:シーン(AutoFBI_Plan)
入力:
キーワード:Pilot-B
キーワード:ECGPrep
処理:入力画像を表示する。
操作:操作者は、表示画像上で撮像位置を指定する。
GUI:
「次へ」ボタン
アクション:
「次へ」ボタンが選択された場合、パフォーマンス:P-6を開始する。
出力:
キーワード:Location、データ:撮像位置
この場合、「ディレクター」は、『Pilot−B』というキーワードで登録されたデータ『Actor−B』に対応する実体のデータ「プロトコルB」を「シアター」から読み出し、読み出したプラン画像を表示部25に表示する。また、「ディレクター」は、表示部25に、操作者による入力操作を受け付けるためのGUIとして、『次へ』ボタンを表示する。
また、「ディレクター」は、表示部25に表示されたプラン画像上で操作者による撮像位置の指定操作を受け付け、かつ、『次へ』ボタンが押下された場合には、「P−6:パフォーマンス」を実行する。なお、図14に例示するプラン画面上おいて、撮像位置の指定操作を受け付ける枠が表示されているが、この枠は、『ECGPrep』というキーワードで登録されたデータ『Actor−C』に対応する実体のデータ「プロトコルC」によって定義されたものである。すなわち、「ディレクター」は、「プロトコルC」を「シアター」から読出し、読み出した枠の情報をプラン画面上に表示する。また、「ディレクター」は、入力操作として受け付けた撮像位置を、『Location』というキーワードで「データストア」に格納する。
図15を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−6:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-6:パフォーマンス(CopyLocation)
入力:
キーワード:Location
キーワード:ECGPrep
処理:第1入力「Location」を第2入力「ECGPrep」の示すアクター(プロトコルC)にコピーする。
この場合、「ディレクター」は、『Location』というキーワードで登録された撮像位置を「データストア」から読み出し、また、『ECGPrep』というキーワードで登録されたデータ『Actor−C』に対応する実体のデータ「プロトコルC」を「シアター」から読み出す。そして、「ディレクター」は、読み出した撮像位置を、「プロトコルC」に書き込み、「シアター」に格納する。
次に、「ディレクター」は、「シナリオ」に記述された順序に従って、「P−7:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-7:パフォーマンス(CopyLocation)
入力:
キーワード:Location
キーワード:FBI
処理:第1入力「Location」を第2入力「FBI」の示すアクター(プロトコルD)にコピーする。
この場合、「ディレクター」は、『Location』というキーワードで登録された撮像位置を「データストア」から読み出し、また、『FBI』というキーワードで登録されたデータ『Actor−D』に対応する実体のデータ「プロトコルD」を「シアター」から読み出す。そして、「ディレクター」は、読み出した撮像位置を、「プロトコルD」に書き込み、「シアター」に格納する。
図16を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−8:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-8:パフォーマンス(Acquire)
入力:キーワード:ECGPrep
処理:「ECGPrep」が示すアクター(プロトコルC)に対して収集を行う。
この場合、「ディレクター」は、『ECGPrep』というキーワードで登録されたデータ『Actor−C』に対応する実体のデータ「プロトコルC」を「シアター」から読み出し、『Actor−C』すなわち「プロトコルC」に従って撮像を行うように撮像制御部26eに指示を出す。すると、撮像制御部26eが撮像を制御し、ECG−Prep画像を収集し、収集したECG−Prep画像を「プロトコルC」に格納する。
図17を説明する。なお、図17は、最適な時相(遅延時間)を操作者による入力操作を受け付けて決定する例を示す。「ディレクター」は、「シナリオ」に記述された順序に従って、「S−4:シーン」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
S-4:シーン(AutoFBI_ECGPrep)
入力:キーワード:ECGPrep
処理:入力画像から特徴量を抽出してグラフ表示する。
操作:操作者は、グラフ上で最適な時相を2か所選択する。
GUI:
「次へ」ボタン
アクション:
「次へ」ボタンが選択された場合、シーン:S-5を開始する。
出力:
キーワード:FBI_Time、データ:最適時相(2か所)
この場合、「ディレクター」は、『ECGPrep』というキーワードで登録されたデータ『Actor−C』に対応する実体のデータ「プロトコルC」を「シアター」から読み出し、読み出したECG−Prep画像を表示部25に表示する。また、「ディレクター」は、表示部25に、操作者による入力操作を受け付けるためのGUIとして、『次へ』ボタンを表示する。
また、「ディレクター」は、読み出したECG−Prep画像から特徴量を抽出し、表示部25にグラフaを表示する。そして、「ディレクター」は、表示部25に表示されたグラフa上で操作者による最適時相(2か所)の選択操作を受け付け、かつ、『次へ』ボタンが押下された場合には、「S−5:シーン」を実行する。また、「ディレクター」は、操作者によって選択された最適時相(2か所)を、『FBI_Time』というキーワードで「データストア」に格納する。
図18を説明する。なお、図18は、最適な時相(遅延時間)を自動的に決定する例を示す。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−100:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-100:パフォーマンス(CalculateFBITiming)
入力:キーワード:ECGPrep
処理:入力画像から特徴量を抽出して最適時相を自動計算する。
出力:キーワード:FBI_Time、データ:最適時相(2か所)
この場合、「ディレクター」は、『ECGPrep』というキーワードで登録されたデータ『Actor−C』に対応する実体のデータ「プロトコルC」を「シアター」から読み出し、読み出したECG−Prep画像から特徴量を抽出し、最適時相(2か所)を自動計算する。そして、「ディレクター」は、自動計算した最適時相(2か所)を、『FBI_Time』というキーワードで「データストア」に格納する。
図19を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−9:シーン」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-9:パフォーマンス(ApplyFBITiming)
入力:
キーワード:FBI_Time
キーワード:FBI
処理:第1入力「FBI_Time」の示す時相(2か所)を第2入力「FBI」の示すアクター(プロトコルD)に同期遅延時間として設定する。
この場合、「ディレクター」は、『FBI_Time』というキーワードで登録された最適時相(2か所)を「データストア」から読み出し、また、『FBI』というキーワードで登録されたデータ『Actor−D』に対応する実体のデータ「プロトコルD」を「シアター」から読み出す。そして、「ディレクター」は、読み出した最適時相(2か所)を、「プロトコルD」に設定し、「シアター」に格納する。
図20を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「S−5:シーン」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
S-5:シーン(AutoFBI_Main)
入力:
キーワード:FBI_Start
キーワード:FBI_End
キーワード:FBI_Time
キーワード:FBI
操作:
操作者は、GUI上で体軸方向のFOVを選択する。
処理:
体軸方向のFOVの選択により、移動回数及びオーバーラップを計算し表示する。
水平方向のFOV、スライス枚数、スライス厚の編集結果は「FBI」が示すアクター(プロトコルD)に保存する。
キーワード「FBI_Time」が示す時相は同期遅延時間として撮像条件に組み込む。
GUI:
体軸方向FOVボタン(表示するFOVはシナリオから取得する)
移動回数及びオーバーラップ表示
水平方向FOV(キーワード「FBI」が示すアクターの撮像条件)
スライス枚数(キーワード「FBI」が示すアクターの撮像条件)
スライス厚(キーワード「FBI」が示すアクターの撮像条件)
「次へ」ボタン
アクション:
「次へ」ボタンが選択された場合、パフォーマンス:P-10を開始する。
出力:
キーワード:FBI_Move、データ:寝台移動量、移動回数
この場合、「ディレクター」は、『FBI_End』というキーワードで登録された寝台位置を「データストア」から読み出す。また、「ディレクター」は、『FBI_Start』というキーワードで登録された寝台位置を「データストア」から読み出す。また、「ディレクター」は、『FBI_Time』というキーワードで登録された最適時相(2か所)を「データストア」から読み出す。また、「ディレクター」は、『FBI』というキーワードで登録されたデータ『Actor−D』に対応する実体のデータ「プロトコルD」を「シアター」から読み出す。
また、「ディレクター」は、表示部25に、操作者による入力操作を受け付けるためのGUIとして、撮像条件編集画面を表示する。撮像条件編集画面には、入力操作の受け付けに必要な情報として撮像の目的に応じて選択された情報が表示される。例えば、図19に例示するように、撮像条件編集画面には、体軸方向のFOV(Field Of View)の選択を受け付ける情報(AP−FOV)、水平方向のFOVの設定を受け付ける情報(RL−FOV)、スライス枚数の設定を受け付ける情報、スライス厚の設定を受け付ける情報、『次へ』ボタンが表示される。
また、「ディレクター」は、操作者による体軸方向のFOVの入力操作を受け付けると、寝台移動量、移動回数及びオーバーラップを計算し、移動回数及びオーバーラップを表示部25に表示する。また、「ディレクター」は、表示部25に表示された撮像条件編集画面上で、『次へ』ボタンが押下された場合には、入力操作として受け付けた情報を、『Actor−D』に対応する実体のデータ「プロトコルD」に格納する。
また、「ディレクター」は、表示部25に表示された撮像条件編集画面上で、『次へ』ボタンが押下された場合には、計算した寝台移動量及び移動回数を、『FBI_Move』というキーワードで「データストア」に格納する。また、「ディレクター」は、表示部25に表示された撮像条件編集画面上で、『次へ』ボタンが押下された場合には、「P−10:パフォーマンス」を実行する。
図21を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−10:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-10:パフォーマンス(Acquire)
入力:キーワード:FBI
処理:「FBI」が示すアクター(プロトコルD)に対して収集を行う。
出力:キーワード:Stitch、データ:入力のアクター(プロトコルD)
この場合、「ディレクター」は、『FBI』というキーワードで登録されたデータ『Actor−D』に対応する実体のデータ「プロトコルD」を「シアター」から読み出し、『Actor−D』すなわち「プロトコルD」に従って撮像を行うように撮像制御部26eに指示を出す。すると、撮像制御部26eが撮像を制御し、FBI画像を収集し、収集したFBI画像を「プロトコルD」に格納する。また、「ディレクター」は、FBI画像が格納されたデータ「プロトコルD」に対応する『Actor−D』を、『Stitch』というキーワードで「データストア」に登録する。
図22を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−11:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-11:パフォーマンス(MoveCouch)
入力:キーワード:FBI_Move
操作:所定の移動回数に満たない場合、寝台を移動する。所定の移動回数に達したらパフォーマンス:P-13を開始する。
出力:キーワード:FBI_Move、移動回数を更新したデータ
この場合、「ディレクター」は、『FBI_Move』というキーワードで登録された寝台移動量及び移動回数を「データストア」から読み出し、所定の移動回数に満たない場合には、読み出した寝台移動量に従って移動するように、例えばインタフェース部21を介して寝台制御部5を制御することで、寝台4を移動させる。そして、「ディレクター」は、『FBI_Move』というキーワードのデータについて、移動回数を更新し、「データストア」に格納する。
次に、「ディレクター」は、「シナリオ」に記述された順序に従って、「P−12:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-12:パフォーマンス(Duplicate)
入力:キーワード:FBI
処理:入力アクターの複製を作成する。
出力:キーワード:FBI、データ:複製されたアクター(プロトコルD-2)
この場合、「ディレクター」は、『FBI』というキーワードで登録されたデータ『Actor−D』に対応する実体のデータ「プロトコルD」を「シアター」から読み出し、複製を作成し、作成した複製(プロトコルD−2)を「シアター」に格納する。「ディレクター」は、複製されたデータ(プロトコルD−2)に対応する『Actor−D』を、『FBI』というキーワードで「データストア」に登録する。
図23を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−10:パフォーマンス」を実行する。
「シナリオ」には、上述したように、以下の内容が記述されている。
P-10:パフォーマンス(Acquire)
入力:キーワード:FBI
処理:「FBI」が示すアクター(プロトコルD)に対して収集を行う。
出力:キーワード:Stitch、データ:入力のアクター(プロトコルD)
この場合、「ディレクター」は、『FBI』というキーワードで登録されたデータ『Actor−D』に対応する実体のデータ「プロトコルD−2」を「シアター」から読み出し、『Actor−D』すなわち「プロトコルD−2」に従って撮像を行うように撮像制御部26eに指示を出す。すると、撮像制御部26eが撮像を制御し、FBI画像を収集し、収集したFBI画像をデータ「プロトコルD−2」に格納する。また、「ディレクター」は、FBI画像が格納されたデータ「プロトコルD−2」に対応する『Actor−D』を、『Stitch』というキーワードで「データストア」に登録する。
図24を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−11:パフォーマンス」を実行する。
「シナリオ」には、上述したように、以下の内容が記述されている。
P-11:パフォーマンス(MoveCouch)
入力:キーワード:FBI_Move
操作:所定の移動回数に満たない場合、寝台を移動する。所定の移動回数に達したらパフォーマンス:P-13を開始する。
出力:キーワード:FBI_Move、移動回数を更新したデータ
この場合、「ディレクター」は、『FBI_Move』というキーワードで登録された寝台移動量及び移動回数を「データストア」から読み出し、所定の移動回数に満たない場合には、読み出した寝台移動量に従って移動するように、例えばインタフェース部21を介して寝台制御部5を制御することで、寝台4を移動させる。そして、「ディレクター」は、『FBI_Move』というキーワードのデータについて、移動回数を更新し、「データストア」に格納する。
次に、「ディレクター」は、「シナリオ」に記述された順序に従って、「P−12:パフォーマンス」を実行する。
「シナリオ」には、上述したように、以下の内容が記述されている。
P-12:パフォーマンス(Duplicate)
入力:キーワード:FBI
処理:入力アクターの複製を作成する。
出力:キーワード:FBI、データ:複製されたアクター(プロトコルD-3)
この場合、「ディレクター」は、『FBI』というキーワードで登録されたデータ『Actor−D』に対応する実体のデータ「プロトコルD−2」を「シアター」から読み出し、複製を作成し、作成した複製(プロトコルD−3)を「シアター」に格納する。「ディレクター」は、複製されたデータ(プロトコルD−3)に対応する『Actor−D』を、『FBI』というキーワードで「データストア」に登録する。
図25を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−10:パフォーマンス」を実行する。
「シナリオ」には、上述したように、以下の内容が記述されている。
P-10:パフォーマンス(Acquire)
入力:キーワード:FBI
処理:「FBI」が示すアクター(プロトコルD)に対して収集を行う。
出力:キーワード:Stitch、データ:入力のアクター(プロトコルD)
この場合、「ディレクター」は、『FBI』というキーワードで登録されたデータ『Actor−D』に対応する実体のデータ「プロトコルD−3」を「シアター」から読み出し、『Actor−D』すなわち「プロトコルD−3」に従って撮像を行うように撮像制御部26eに指示を出す。すると、撮像制御部26eが撮像を制御し、FBI画像を収集し、収集したFBI画像をデータ「プロトコルD−3」に格納する。また、「ディレクター」は、FBI画像が格納されたデータ「プロトコルD−3」に対応する『Actor−D』を、『Stitch』というキーワードで「データストア」に登録する。
図26を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−11:パフォーマンス」を実行する。
「シナリオ」には、上述したように、以下の内容が記述されている。
P-11:パフォーマンス(MoveCouch)
入力:キーワード:FBI_Move
操作:所定の移動回数に満たない場合、寝台を移動する。所定の移動回数に達したらパフォーマンス:P-13を開始する。
出力:キーワード:FBI_Move、移動回数を更新したデータ
この場合、「ディレクター」は、『FBI_Move』というキーワードで登録された寝台移動量及び移動回数を「データストア」から読み出し、所定の移動回数に満たない場合には、読み出した寝台移動量に従って移動するように、例えばインタフェース部21を介して寝台制御部5を制御することで、寝台4を移動させる。そして、「ディレクター」は、『FBI_Move』というキーワードのデータについて、移動回数を更新し、「データストア」に格納する。
次に、「ディレクター」は、「シナリオ」に記述された順序に従って、「P−12:パフォーマンス」を実行する。
「シナリオ」には、上述したように、以下の内容が記述されている。
P-12:パフォーマンス(Duplicate)
入力:キーワード:FBI
処理:入力アクターの複製を作成する。
出力:キーワード:FBI、データ:複製されたアクター(プロトコルD-4)
この場合、「ディレクター」は、『FBI』というキーワードで登録されたデータ『Actor−D』に対応する実体のデータ「プロトコルD−3」を「シアター」から読み出し、複製を作成し、作成した複製(プロトコルD−4)を「シアター」に格納する。「ディレクター」は、複製されたデータ(プロトコルD−4)に対応する『Actor−D』を、『FBI』というキーワードで「データストア」に登録する。
図27を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−10:パフォーマンス」を実行する。
「シナリオ」には、上述したように、以下の内容が記述されている。
P-10:パフォーマンス(Acquire)
入力:キーワード:FBI
処理:「FBI」が示すアクター(プロトコルD)に対して収集を行う。
出力:キーワード:Stitch、データ:入力のアクター(プロトコルD)
この場合、「ディレクター」は、『FBI』というキーワードで登録されたデータ『Actor−D』に対応する実体のデータ「プロトコルD−4」を「シアター」から読み出し、『Actor−D』すなわち「プロトコルD−4」に従って撮像を行うように撮像制御部26eに指示を出す。すると、撮像制御部26eが撮像を制御し、FBI画像を収集し、収集したFBI画像をデータ「プロトコルD−4」に格納する。また、「ディレクター」は、FBI画像が格納されたデータ「プロトコルD−4」に対応する『Actor−D』を、『Stitch』というキーワードで「データストア」に登録する。
図28を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−11:パフォーマンス」を実行する。
「シナリオ」には、上述したように、以下の内容が記述されている。
P-11:パフォーマンス(MoveCouch)
入力:キーワード:FBI_Move
操作:所定の移動回数に満たない場合、寝台を移動する。所定の移動回数に達したらパフォーマンス:P-13を開始する。
出力:キーワード:FBI_Move、移動回数を更新したデータ
この場合、「ディレクター」は、『FBI_Move』というキーワードで登録された寝台移動量及び移動回数を「データストア」から読み出し、所定の移動回数に満たない場合には、読み出した寝台移動量に従って移動するように、例えばインタフェース部21を介して寝台制御部5を制御することで、寝台4を移動させる。
図29を説明する。所定回数に達した場合には、「ディレクター」は、「シナリオ」に記述された順序に従って、「P−13:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-13:パフォーマンス(StitchFBIImage)
入力:キーワード:Stitch
処理:「Stitch」が示すアクター(プロトコルD、D-2、D-3、D-4)に最大値投影処理を行い、つなぎ合わせる。
出力:「FBIImage」、データ:つなぎ合わされた画像群
この場合、「ディレクター」は、『Stitch』というキーワードで登録されたデータ、すなわち、『Actor−D』に対応する実体のデータ「プロトコルD」、「プロトコルD−2」、「プロトコルD−3」、「プロトコルD−4」を「シアター」から読み出し、最大値投影処理を行う。そして、「ディレクター」は、つなぎ合わせた画像群Dを「シアター」に格納し、『FBIImage』というキーワードで「データストア」に登録する。
図30を説明する。「ディレクター」は、「シナリオ」に記述された順序に従って、「P−14:パフォーマンス」を実行する。
「シナリオ」には、以下の内容が記述されているとする。
P-14:パフォーマンス(Transfer)
入力:キーワード:FBIImage
操作:キーワード「FBIImage」が示すアクター(画像群D)の画像データを画像サーバーに転送する。
この場合、「ディレクター」は、『FBIImage』というキーワードで登録された画像データ群を「シアター」から読み出し、読み出した画像データ群Dを画像サーバに転送する。
上述したように、第1の実施形態に係るMRI装置100は、シナリオ記憶部23bに、撮像に含まれる複数の処理を実行する「シナリオ」を記憶する。「シナリオ」は、各処理が、操作者による入力操作を受け付ける「シーン」と入力操作を受け付けない「パフォーマンス」とに分類され、撮像にて実行される順序に従って関連付けられたプログラムである。また、MRI装置100は、シナリオ制御部26bを備え、シナリオ制御部26bは、撮像開始指示が受け付けられると、「シナリオ」の実行を開始し、各処理が撮像の順序に従って実行されるように制御する。また、「シナリオ」は、「シーン」を実行する場合に、入力操作を受け付ける操作画面として撮像の目的に応じて選択された情報を表示部25に表示する。
このようなことから、第1の実施形態によれば、MRI装置100を用いた撮像の操作性を向上することが可能になる。すなわち、シナリオ制御部26bが「シナリオ」の実行を制御することにより、撮像に含まれる各処理は、自動的に撮像の順序で実行されることになる。ここで、操作者による入力操作を受け付ける「シーン」において、「シナリオ」は、撮像の目的に応じて選択された情報を表示する操作画面を表示して、操作者による入力操作を受け付ける。このため、操作者は、例えばパラメータに関する高度な知識を有していなくても、撮像の目的や処理の段階に応じて適切なパラメータを選択し、設定することができ、操作が簡便になる。
また、第1の実施形態においては、撮像に含まれる各処理を「シーン」や「パフォーマンス」に分類し、細かく区分けしている。また、各処理間で受け渡されるデータについてキーワードが定義されており、シナリオ制御部26bは、各処理間でのデータの受け渡しをキーワードを用いて行う。このようなことから、例えば、一部の処理の内容が変更された場合、前後の処理との間で入出力データの関係に変更が生じず、また、該当する一部の「シーン」や「パフォーマンス」にのみ変更を加えればよいので、処理内容の変更に柔軟に対応することが可能になる。
また、第1の実施形態に係るMRI装置100は、「シナリオ」を撮像の目的に応じて複数記憶し、シナリオ制御部26bは、撮像開始指示にて指示された撮像に対応する「シナリオ」をシナリオ記憶部23bから読み出し、読み出した「シナリオ」の実行を開始する。このようなことから、MRI装置100は、様々な撮像の目的に対応することが可能になる。また、撮像の目的に応じて「シナリオ」を用意することにより、操作画面を簡便化することが可能になる。また、「シナリオ」によって選択可能な機能を限定することもできるため、操作者によるパラメータ選択のバラツキを抑えることも可能になり、ひいては、撮像された画像の品質を一定に保つことが可能になる。
なお、「シナリオ」は、操作の流れだけでなく、GUIの定義を行う一種のプログラミングと捉えることができる。
(第2の実施形態)
その他、開示の技術は、上記第1の実施形態以外にも、種々の異なる形態にて実施されてよいものである。
[シナリオの編集]
上記第1の実施形態において、「シナリオ」は、例えばXMLなどによって記述されたファイルとしてシナリオ記憶部23bに予め格納された。ここで、MRI装置100は、図31に例示するように、制御部26に、シナリオ編集部26fをさらに備えてもよい。図31は、第2の実施形態に係る制御部26の構成を示すブロック図である。
シナリオ編集部26fは、「シナリオ」に対する編集を受け付け、受け付けた編集を反映した「シナリオ」をシナリオ記憶部23bに格納する。例えば、シナリオ編集部26fは、「シナリオ」を編集するための編集画面を表示部25に表示する。また、例えば、シナリオ編集部26fは、編集画面に対する操作者による入力操作を入力部24を介して受け付ける。また、例えば、シナリオ編集部26fは、受け付けた入力操作を「シナリオ」に反映し、反映後の「シナリオ」をシナリオ記憶部23bに格納する。このように、操作者が「シナリオ」の内容を変更することが可能になり、ソフトウェアを変更することなく内容を変更することが可能になる。なお、「シナリオ」は、必ずしもXMLによって記述されたものに限られない。「シナリオ」を作成、編集する操作者は、運用の形態に応じて、記述言語を任意に選択することができる。
[撮像の目的に応じて選択された情報を表示する操作画面]
また、上記第1の実施形態においては、「FBI法による下肢の撮像」を撮像の目的の一例とし、例えば図20に例示する処理「S−5:シーン」を実行する場合に、撮像条件編集画面として、撮像の目的に応じて選択された情報を表示部25に表示する例を説明した。すなわち、MRI装置100は、撮像の目的及び「S−5:シーン」という処理の段階に応じて、『体軸方向FOV』、『移動回数』、『オーバーラップ』、『水平方向FOV』、『スライス枚数』、及び『スライス厚』を選択し、選択した情報のみを表示した。
なお、「選択した情報のみを表示」の意味であるが、例えば撮像の目的や処理の段階との関係においては表示する理由があまりなく、表示することで撮像編集画面がかえって複雑になる項目などについては表示しないことを意味する。したがって、選択した情報以外の情報であっても、例えば『次へ』ボタンのように、操作に必要な一般的な情報を表示することまで除外する意味ではない。
また、MRI装置100は、「選択した情報」として、例えば、操作上の注意事項を表示してもよい。例えば、「シナリオ」を作成、編集する操作者は、撮像の目的や処理の段階との関係において表示することが望ましいと考えられる注意事項を予め選択し、シーンにおいて表示部25に表示する画面に注意事項が表示されるように記述してもよい。
さて、開示の技術は、上記第1の実施形態の例に限られず、例えば他の撮像の目的に応じて記述された「シナリオ」の場合、MRI装置100は、その撮像の目的や処理の段階に応じて異なる情報が選択された操作画面を表示部25に表示することになる。すなわち、撮像の目的に応じて「シナリオ」は記述されるので、撮像の目的毎に適切な制約が施された操作画面を導入することが可能になる。
例えば、撮像の目的のひとつが、「マンモグラフィ撮像においてSpeeder方向を抑制すること」であるとする。この場合、「シナリオ」を作成、編集する操作者は、Speeder方向について必要な選択肢のみを表示する撮像条件編集画面や、Speeder方向の選択自体を禁止する撮像条件編集画面、あるいはSpeeder方向の選択肢を表示しない撮像条件編集画面などを「シナリオ」に記述する。すると、MRI装置100が、「シナリオ」に従って処理を実行した場合に、上記撮像条件編集画面が表示部25に表示され、操作者は、自然に、Speeder方向を抑制する選択を行うことになる。
また、例えば、画像管理の観点などから、撮像の目的のひとつが、「解像度を限定すること」であるとする。この場合、「シナリオ」を作成、編集する操作者は、例えば、[25cm/256マトリックス]、[20cm/192マトリックス]などのように、FOVとマトリックスとを組み合わせたボタンを撮像条件編集画面上に表示するように「シナリオ」を記述する。すると、MRI装置100が、「シナリオ」に従って処理を実行した場合に、上記撮像条件編集画面が表示部25に表示され、操作者は、自然に、[25cm/256マトリックス]か[20cm/192マトリックス]を選択することになる。
これらは、適切な制約を導入することで簡便な操作を実現する手法であり、一種のナビゲーションと考えることができる。制約の部分的な導入は、操作者の不満を生むおそれもあるが、大々的な導入は、ナビゲーションとして機能し、操作者における簡便な操作を実現する。また、ヒューマンファクタによるバラツキを無くすという観点においても有効な手法である。
[「シナリオ」によって撮像を制御するメリット]
また、上記第1の実施形態においても説明したように、「シナリオ」においては、各処理で扱うプロトコル情報が、実体のデータとは異なる「アクター」と定義され、「アクター」に対する処理が予め記述される。このようなことから、「シナリオ」を用いた撮像においては、実体のデータが取得される前に、取得後のデータに対する処理を予め記述することができ、撮像に含まれる処理を自動化することができる。
例えば、一般に、画像が再構成された後でなければ、参照画像の選択をすることができない。選択対象となる画像が存在しない段階だからである。この点、「シナリオ」においては、再構成される画像が「アクター」として定義され、再構成処理よりも後段の処理において、この「アクター」に対する選択処理が予め記述される。この結果、画像が再構成される前の段階、すなわち撮像の前に参照画像の選択を予め記述することができ、撮像に含まれる処理を自動化することができる。
例えば、「シナリオ」に、「アクターBはアクターAの中心画像を参照画像として選択する」、「アクターCはアクターAの中心画像及びアクターBの中心画像を参照画像として選択する」などと予め記述しておけばよい。なお、例えばスライス枚数が固定されているものとして取り扱う。
また、例えば、「シナリオ」に、「アクターAの中心画像を第1フレームに表示し、アクターBの中心画像を第2フレームに表示し、アクターBの中心画像に対して直交断面を設定する」などと記述しておけばよい。この場合には、参照画像に対して、同一断面もしくは直交断面を予め設定しておくことができる。
また、例えば、断面の決定を自動化する要素技術が確立されたとする。この場合、「シナリオ」には、「パフォーマンス」にて断面を自動的に決定し、「シーン」にて操作者に確認させる、と記述しておくこともできる。あるいは、「シナリオ」において、操作者に確認させる「シーン」を省いてもよい。このように、「シナリオ」は、要素技術の確立に応じて、適宜編集し、動的に対応させていくことができる。
[Time−SLIP法を用いた撮像]
その他の実施形態において、クリニカルアプリケーションシナリオは、位置決め用のパイロットスキャン、BBTI(Black Blood Traveling Time)を決定するためのプレップスキャン、決定されたBBTI後に撮像を行う非造影MRAスキャンを順番に実行する検査フローである。また、その他の実施形態において、シナリオ制御部26bは、パイロットスキャン後で且つプレップスキャン前に、パイロットスキャンにより得られた位置決め画像を含む撮像位置を決定するための情報を操作画面に表示し、プレップスキャン後で且つ非造影MRAスキャン前に、BBTIの決定を支援するための情報を操作画面に表示する。
具体的には、第1の実施形態においては、「シナリオ」に、パイロット撮像、プラン撮像、ECG−Prep撮像、及びFBI撮像が含まれるものとして説明したが、実施形態はこれに限られるものではない。例えば、「シナリオ」に、パイロット撮像、プラン撮像、BBTI(Black Blood Traveling Time)−Prep撮像、及びTime−SLIP(Spatial Labeling Inversion Pulse)撮像が含まれる場合を説明する。図32は、その他の実施形態に係るシナリオを説明するための図である。
Time−SLIP撮像においては、Time−SLIPパルス(図32において符号a及び符号b)が印加され、撮像領域に流入する血液がラベリング(labeling)される。すなわち、Time−SLIP撮像は、撮像領域に流入する血液をラベリングすることで、ラベリングされた血液を選択的に強調あるいは抑制するためのASL(Arterial Spin Labeling)パルスの印加を伴う撮像である。このTime−SLIP撮像により、反転時間(TI(inversion time))後に撮像領域に到達した血液の信号強度を選択的に強調又は抑制することができる。なお、Time−SLIPパルスは、クロック(Clock)やECG信号のR波などから一定の遅延時間経過後に印加される。
図32に示すように、Time−SLIPパルスは、領域非選択インバージョンパルスa及び領域選択インバージョンパルスbを有する。領域非選択インバージョンパルスaは、印加の有無を選択することが可能であり、Time−SLIPパルスは、少なくとも領域選択インバージョンパルスbを含む。
領域選択インバージョンパルスbを印加することで撮像領域に流入する血液をラベリングすると、BBTI後に血液が到達した部分の信号強度が高く(領域非選択インバージョンパルスaが印加されていない場合は低く)なる。
すなわち、BBTIは、図32に示すように、領域選択インバージョンパルスbから最初のRFパルスcまでの時間である。なお、領域非選択インバージョンパルスa及び領域選択インバージョンパルスbの時間差は無視できるほどに小さいので、図32においては、領域非選択インバージョンパルスaから最初のRFパルスcまでの時間をBBTIとして示す。
このため、例えば、MRI装置100は、準備撮像を行うことによって、最適なBBTIを決定する。すなわち、BBTI−Prep撮像は、最適なBBTIを決定するためにBBTIを変化させながら行われる準備撮像である。
例えば、MRI装置100は、異なるBBTIとして、例えば、60msec、120msec、180msecなどを設定しながら、各BBTIを用いた複数回の撮像を行う。そして、MRI装置100は、各撮像によって取得された複数枚の二次元画像を表示部25に表示し、操作者に二次元画像を選択させ、操作者によって選択された二次元画像を取得するために用いられたBBTIを、Time−SLIP撮像にて用いるBBTIとして決定する。この場合、操作者は、表示部25に表示された複数枚の二次元画像のうち、例えば、血管描出が最も優れた二次元画像を選択する。なお、例えば、MRI装置100は、複数枚の二次元画像に画像解析などを行い、画像解析などの結果得られたBBTIを、Time−SLIP撮像にて用いるBBTIとして決定してもよい。その後、MRI装置100は、Time−SLIP撮像にて、例えば三次元画像を収集する。
第1の実施形態においては、図4〜30を用いて、第1の実施形態に係るシナリオの実行を説明したが、MRI装置100は、第1の実施形態におけるECG−Prep撮像の替わりにBBTI−Prep撮像を行い、第1の実施形態におけるFBI撮像の替わりにTime−SLIP撮像を行えばよい。
例えば、第1の実施形態において、図17を用いて、「ディレクター」が、「シーン」を実行することでグラフを表示し、操作者からの選択を受け付ける点を説明した。例えば、同様に、「ディレクター」が、「シーン」を実行することで、「パフォーマンス」によって実行したBBTI−Prep撮像にて収集した二次元画像を表示部25に表示し、操作者からの選択を受け付ければよい。そして、「ディレクター」は、操作者によって選択された二次元画像を取得するために用いられたBBTIを、例えば『BBTI』というキーワードで「データストア」に格納すればよい。
[後処理]
また、その他の実施形態に係るMRI装置100のシナリオ記憶部23bは、撮像によって収集されたデータに対する後処理に含まれる複数の処理を実行するプログラムであって、各処理が、操作者による入力操作を受け付ける第1処理と入力操作を受け付けない第2処理とに分類され、後処理にて実行される順序に従って関連付けられたプログラムを記憶する。また、シナリオ制御部26bは、後処理を開始する開始指示が受け付けられると、プログラムの実行を開始し、各処理が上述した順序に従って実行されるように制御する。プログラムは、第1処理を実行する場合に、入力操作を受け付ける操作画面として後処理の目的に応じて選択された情報を表示部に表示する。
具体的には、上述の実施形態においては、「シナリオ」は、撮像に含まれる複数の種類の処理を実行するプログラムであったが、実施形態はこれに限られるものではない。例えば、「シナリオ」は、撮像によって収集されたデータに対する後処理に含まれる複数の処理を実行するプログラムでもよい。ここで、後処理とは、例えば、撮像によって収集されたデータからボリュームレンダリング(volume rendering)画像を生成する後処理や、MIP(Maximum Intensity Projection)画像を生成する後処理などがある。
一例として、MIP画像を生成する後処理を説明する。MIP画像を生成する後処理には、後処理の条件として、投影回数、投影方向、及びボリュームデータからの切り出し領域が含まれる。ここで、投影回数及び投影方向は、操作者による入力操作を受け付けずに決定される条件(プリセットされた条件)である。一方、切り出し領域は、操作者による入力操作を受け付けて決定される条件である。例えば、操作者は、ある特定の血管を切り出し領域として指定する。
このように、MIP画像を生成する後処理には、切り出し領域の指定を受け付ける条件指定処理と、プリセットされた条件と操作者によって指定された条件とを用いてMIP画像を生成する生成処理とが含まれる。
そこで、例えば、MRI装置100は、条件指定処理と生成処理とを順序付けたフローを1つのシナリオとして記憶する。そして、MRI装置100は、このシナリオが操作者によって指定され、開始指示を受け付けると、条件指定処理の間に、「シーン」として、切り出し領域の指定を受け付けるための操作画面を表示する。そして、MRI装置100は、条件指定処理の間に指定された切り出し領域と、プリセットされたその他の条件(投影回数、投影方向など)とを用いて、「パフォーマンス」として、MIP画像の生成処理を行う。
[精査モードの撮像]
また、例えば、「シナリオ」に、前段階で行われた撮像の結果に応じて撮像を実行するか否かが決定される「精査モードの撮像」が含まれてもよい。
この場合、「シナリオ」には、前段階の撮像と、精査モードの撮像とが含まれる。例えば、MRI装置100は、前段階の撮像と、精査モードの撮像とを順序付けたフローを1つのシナリオとして記憶する。そして、MRI装置100は、このシナリオが操作者によって指定され、開始指示を受け付けると、前段階の撮像(例えばT1撮像及びT2撮像)と精査モードの撮像との間に、「シーン」として、T1撮像及びT2撮像にて収集された二次元画像を表示し、また、操作者に精査モードの撮像を実行するか否かを選択させるための情報を操作画面に表示する。例えば、MRI装置100は、二次元画像を表示するとともに、「精査モードを実行する」又は「精査モードを実行しない」の押下ボタンを操作画面に表示する。そして、MRI装置100は、操作者による選択に従って、精査モードを実行するか否かを決定する。
例えば、精査モードを実行する場合、MRI装置100は、さらに、「シーン」として、ROI(Region OF Interest)の指定を受け付けるための操作画面を表示し、操作者による指定に従って、続く「パフォーマンス」にて、精査モードの撮像を実行する。
[コンソール装置やクラウドコンピューティングによる実現]
上述した実施形態では、MRI装置100の計算機システム20が、制御部26や記憶部23に各部を備え、「シナリオ」を実行するものとして説明してきたが、実施形態はこれに限られるものではない。図33〜図35は、その他の実施形態に係る構成例を説明するための図である。
例えば、図33に示すように、MRI装置100の計算機システム20とコンソール装置200とが協働して「シナリオ」を実行してもよい。
例えば、「シナリオ」が、後処理に含まれる複数の処理を実行するプログラムである場合、コンソール装置200が、シナリオ制御部26bやプロトコル情報記憶部23a、シナリオ記憶部23b、入出力情報記憶部23cを備える。そして、コンソール装置200は、MRI装置100によって収集されたデータをMRI装置100から受け取り、後処理に含まれる複数の処理を実行する。その他、例えば、コンソール装置200が、「シナリオ」によって実行されるプログラムの一部を実行することで、負荷を分散してもよい。また、例えば、コンソール装置200単体で「シナリオ」を実行してもよい。
また、例えば、図34に示すように、MRI装置100は、例えばクラウド(cloud)コンピューティング300のように、別拠点に保管されたハードウェア、ソフトウェア、データを利用することで、「シナリオ」を実行してもよい。
また、例えば、図35に示すように、コンソール装置200が、クラウドコンピューティング300に保管されたハードウェア、ソフトウェア、データを利用することで、「シナリオ」を実行してもよい。
[その他の医用画像診断装置]
上述した実施形態では、「シナリオ」を実行する医用画像診断装置として主にMRI装置を説明してきたが、実施形態はこれに限られるものではない。例えば、X線CT装置の場合を説明する。X線CT装置は、例えばヘリカルスキャン(helical scan)によって広範囲の事前撮影を行い、この撮影により収集された画像を「シーン」として表示し、例えばFOV(Filed Of View)の指定を受け付けるための操作画面を表示する。そして、X線CT装置は、指定されたFOVに従って、続く本撮影を行う。
以上述べた少なくとも一つの実施形態の医用画像診断装置及び制御方法によれば、撮像における操作性を向上することができる。
[その他]
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。