(57)【特許請求の範囲】
【請求項１】
ワークステーション（１０）と複数のサーバ（１８，２０，２２，２３）を備える医療撮像システムで、
それぞれのサーバとワークステーション（１０）に位置付けられ、それらの間にタグデータを与える一連のルータ（９４）であって、
各ルータは、
ａ）ローカルプロセス（９９）からタグ付け可能なデータを受け取ってタグ付きデータオブジェクトを生成し、別のルータ（９４）に転送するために前記タグ付きデータオブジェクトを前記ルータ（９４）に送るタグ付きデータファクトリ（１００）と、
ｂ）前記ルータ（９４）にローカルコンポーネント（１０２）を登録し、前記ルータ（９４）によって他のルータ（９４）から受け取られたタグ付きデータオブジェクトを登録済みのローカルコンポーネントに送るタグ付きデータレシーバ（１０１）を備え、
前記タグ付きデータレシーバ（１０１）は、登録済みのローカルコンポーネント（１０２）に送られるタグ付きデータオブジェクトの種類の論理アドレスを格納するテーブル（１０３）を有し、
前記タグ付きデータレシーバ（１０１）には、未登録のローカルコンポーネントの論理アドレスと、受信したいタグ付きオブジェクトの種類を登録することができる、
医療撮像システム。
【請求項２】
前記システムは磁気共鳴撮像システムであって、前記複数のサーバのうちの１つは、パルスシーケンスサーバ（１８）である、請求項１に記載の医療撮像システム。
【請求項３】
前記複数のサーバのうちのその他のものは、データ獲得サーバ（２０）とデータ処理サーバ（２２）を備える、請求項２に記載の医療撮像システム。
【請求項４】
前記タグ付きデータオブジェクトの各々はヘッダとペイロードを備え、前記ヘッダは、前記ペイロードに含まれるデータの種類を示すフィールドを備える、請求項１に記載の医療撮像システム。
【請求項５】
前記ペイロードは、医療デジタル撮像と通信（Ｄｉｇｉｔａｌ Ｉｍａｇｉｎｇ ａｎｄ Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ ｉｎ Ｍｅｄｉｃｉｎｅ）（ＤＩＣＯＭ）規格のサブセットに一致するデータである、請求項４に記載の医療撮像システム。
【請求項６】
ａ）ワークステーション（１０）であって、
ｉ）実行されるスキャンを規定する入力情報を受け取るオペレータインターフェイス（５３）と、
ｉｉ）スキャン中に生成されるパルスを決定するコンポーネントを備えるパルス記述（５８）と、
ｉｉｉ）ＮＭＲ信号を獲得するためにスキャン中に使われるパルスシーケンスを決定するコンポーネントを備えるシーケンス記述（６０）と、
ｉｖ）どのように獲得したＮＭＲ信号を処理して臨床的に役立つ形式にするかを決定するコンポーネントを備えるデータ処理記述（６４）を提供するようにプログラムされたワークステーション（１０）と、
ｂ）前記ワークステーション（１０）に接続され、前記ワークステーションからダウンロードされた記述を受信するように動作可能な複数のサーバ（１８，２０，２２，２３）であって、その各々はスキャンを実行するためにＭＲＩシステムで動作可能な要素にダウンロードされた記述に応じて動作可能である、当該サーバと、
ｃ）前記ワークステーション（１０）と前記複数のサーバ（１８，２０，２２，２３）の各々に位置付けられる複数のルータ（９４）を備えるタグ付きシステムであって、各ルータは、ローカルプロセスから前記ルータ（９４）に送られたデータからタグ付きデータオブジェクトを生成するように動作可能であって、受け取ったタグ付きデータオブジェクトを登録済みのローカルコンポーネントに送るように動作可能な、当該タグ付きシステムを備え、
各ルータ（９４）は、ａ）ローカルプロセスからタグ付け可能なデータを受け取ってタグ付きデータオブジェクトを生成し、別のルータ（９４）に転送するために前記タグ付きデータオブジェクトを前記ルータ（９４）に送るタグ付きデータファクトリ（１００）と、ｂ）ローカルコンポーネント（１０２）を前記ルータ（９４）に登録し、前記ルータ（９４）によって別のルータ（９４）から受け取られたタグ付きデータオブジェクトを登録済みのローカルコンポーネントに送るタグ付きデータレシーバ（１０１）を備え、
前記タグ付きデータレシーバ（１０１）は、登録済みのローカルコンポーネント（１０２）に送られるタグ付きデータオブジェクトの種類の論理アドレスを格納するテーブル（１０３）を有し、
前記タグ付きデータレシーバ（１０１）には、未登録のローカルコンポーネントの論理アドレスと、受信したいタグ付きオブジェクトの種類を登録することができる、
磁気共鳴撮像（ＭＲＩ）システム。
【請求項７】
前記複数のサーバのうちの１つ（１８）は、ＭＲＩシステム上のＲＦシステムと勾配システムを制御する、請求項６に記載のＭＲＩシステム。
【請求項８】
前記複数のサーバのうちの別の１つは、前記ＲＦシステムによって生成されたＮＭＲ信号から画像を再構築する、請求項７に記載のＭＲＩシステム。
【請求項９】
前記ワークステーション（１０）は、１つのプログラマブルマシン上にあり、前記サーバの一つ（１８）は、第２のプログラマブルマシン上にあり、前記サーバのうちのその他の１つは、第３のプログラマブルマシン上にある、請求項８に記載のＭＲＩシステム。
【請求項１０】
前記タグ付きオブジェクトの各々はヘッダとペイロードを備え、前記ヘッダは、前記ペイロードに含まれるデータの種類を示すフィールドを備える、請求項６に記載の医療撮像システム。
【請求項１１】
前記ペイロードは、医療デジタル撮像と通信（ＤＩＣＯＭ）規格に一致するデータである、請求項１０に記載の医療撮像システム。
【発明の詳細な説明】
【０００１】
【発明の背景】
本発明の分野は、医療撮像システムであって、特に、そのシステムのハードウェアとソフトウェアの構造に関する。
【０００２】
医療撮像システムには様々な種類がある。様々なシステムでは、例えばレントゲン、磁気共鳴、超音波または核等の医療撮像療法が主に異なる。また、一般的に、各医療撮像療法は様々な複数の性能と特性を有する。例えば、磁気共鳴撮像（ＭＲＩ）システムでは、様々な偏波磁気強度と構造と、磁気共鳴血管造影（ＭＲＡ）と心臓撮像と機能的磁気共鳴画像（ｆＭＲＩ）等の様々なオプションを提供することができる。
【０００３】
多くの違いがあるにもかかわらず、医療撮像システムには共通の複数の基本機能がある。全ての医療撮像システムには、特定の画像の獲得を指示できるオペレータインタフェースと、撮像物療器具のうちの１つを利用して対象からデータを獲得するデータ獲得装置と、獲得されたデータを用いて画像を再構築する画像再構成プロセッサと、画像とそれに関連する患者情報を記憶する記憶装置を備える。通常、ハードウェアはこれらの機能を実行するように設計されており、ソフトウェアは各ハードウェア構造毎に設計され書かれる。より高速で強力なマイクロプロセッサ等の新しいコンセプト、即ち、新しい商品を利用するためにハードウェア構造を変える場合に、そのソフトウェアの全てでないにしてもその大部分を書き換える必要がある。
【０００４】
医療撮像装置の設計者にとってその他の課題は、各撮像機器の基本技術を飛躍的に進歩させることある。例えば、磁気共鳴撮像では、新たなパルスシーケンスとそれに関連するデータ獲得方法が絶えず発明されている。通常、既存のＭＲＩシステムに改良を加えるには、新たに特定用途向けソフトウェアを追加することはもとより、システムソフトウェアの書換えが必要となる。その程度は、行われた特定の改良や特定のシステムソフトウェアアーキテクチャの特性に依存する。
【０００５】
【発明の概要】
本発明は、医療撮像システムのシステムアーキテクチャであって、特に、医療撮像システムを構成するワークステーションと複数のサーバ間のデータ通信システムである。本通信システムは、ワークステーションと各サーバに、タグデータをシステム内のその他のルータに与えるルータと、ローカルコンポーネントからタグ付け可能なデータを受け取って、タグ付け可能なデータからタグ付きデータオブジェクトを生成し、タグ付きデータオブジェクトをルータに送るタグ付きデータファクトリと、ローカルルータにローカルコンポーネントを登録し、ローカルルータによって受け取られたタグ付きデータオブジェクトを登録済みのコンポーネントに送るレシーバを備える。医療撮像システムのどこかに位置付けられたコンポーネントをそのローカルルータに登録して、スキャンの実行時にシステム内のその他のプロセスで生成されたタグ付きデータオブジェクトを受けとることができる。これによって、ルータによって使われることがあるシリアル通信プロトコルとバックプレーンプロトコルの基本的な複雑さと無関係に、複数のプロセスは互いに実時間データを簡単に得ることができる。
【０００６】
【発明の一般的な説明】
特に図５を参照すると、医療撮像システムは、画像データを獲得するためのスキャン中に動作する機械的／電気的ハードウェア素子を含む医療撮像装置１１０を備える。また、撮像システムは、獲得した画像データを用いて画像を再構築するように動作するデータ処理装置も有する。システムを動作させてスキャン規定を入力するために、キーボードやコントロールパネル等のオペレータ入力装置１１４が設けられ、また、視覚化のために画像を表示する表示装置１１６が設けられ、また、得られた画像を保管するためにハードディスクドライブ等の記憶装置１１７が設けられる。利用される特定の撮像機器とそれらのハードウェア要素の複雑さとパワーは実質的にシステム毎に変わる。
【０００７】
本システムには、マシンに依存しないＪａｖａ（商標）等の言語でプログラムされたワークステーション１１８が含まれ、これには、オペレータがオペレータ入力装置１１４を用いてスキャンパラメータを入力できるユーザインタフェース１２０が設けられている。ワークステーション１１８は、スキャン記述１２２を生成するようにプログラムされる。尚、最も簡単なコンフィギュレーションでは、このスキャン記述には、規定のスキャンを実行するために撮像装置１１０とデータ処理装置によって必要とされる画像獲得記述コンポーネントとデータ処理記述コンポーネントが含まれる。
【０００８】
ランタイム前に、撮像システムハードウェア装置を制御する複数のサーバにスキャン記述１２２のスナップショットがダウンロードされる。最も簡単なコンフィギュレーションでは、これらには、撮像装置１１０とデータ処理装置の各々を動作させるデータ処理サーバ１２６と画像獲得サーバ１２４が含まれる。スキャン記述コンポーネントが提供されると、サーバプログラムによって画像システムハードウェア装置は規定のスキャンを行う。データ記憶サーバ１１３は、記憶装置１１７が画像とそれに関連する患者情報を記憶するように指示する。
【０００９】
ソフトウェアコンポーネントは、様々なハードウェアで実行できるように簡単に構成することができる。ワークステーション１１８とサーバ１１３、１２４、１２６を、個々のプログラマブルマシンで動作させてもよいし、あるいは、一つ以上のものを同一のプログラマブルマシンで実行させてもよい。データ処理サーバ１２６やデータ記憶サーバ１１３を、データ処理装置１１２やワークステーション１１８上で実行してもよい。そのコンフィギュレーションとは無関係に、ワークステーション１１８はマシン独立型言語でプログラムされているので、それを移植することは簡単であって、様々なプログラマブルマシンで実行させることができる。その上、サーバ１１３、１２４、１２６を様々なプログラマブルマシンで実行させるように変えてもよいが、スキャン記述を変更する必要がないので、ワークステーション１１８での変更は不要である。サーバを変える場合は、ワークステーション１１８で必要な変更は、サーバにダウンロードされた特定のスキャン記述コンポーネントの小さな変更のみである。
【００１０】
また、実質的にワークステーション１１８を変更することなく、サーバ数を増やすこともできる。例えば、画像獲得サーバ１２４を２つ以上の独立したサーバに分ける場合、ワークステーション１１８の実質的な唯一の変更は、適切な記述コンポーネントを各サーバにダウンロードすることである。
【００１１】
ワークステーション１１８とサーバ１１３、１２４，１２６は、バックプレーンによって、もしくは、シリアル通信リンクによって相互接続することができる、もしくは、それらは物理的に同じプロセッサ上に存在してもよい。ハードウェア構成に無関係に、これらの様々なシステムコンポーネント上で実行されるプロセスは、スキャン中にデータを交換する必要がある。
【００１２】
本発明は、システム全体のプロセスで基礎をなすバックプレーンとシリアル通信リンクに関するプロトコルの複雑さに関係なくタグ付きデータオブジェクトの交換を可能にするタグ付きデータ転送システムを提供することによって、そのような実時間データの通信を容易にするものである。このタグ付きデータ転送システムの重要な要素は、ワークステーション１１８と各サーバ１１３、１２４，１２６にあるルータである。これらのルータは、それら自体間のタグ付きデータ転送を扱うもので、システム全体のプロセスで通信の細部で発生する負担を負うことなくタグ付きデータの送受信を行うことを可能にするものである。このため、プロセスはシステムコンポーネント間での通信の際に必要となる特定のプロトコルから隔離される。
【００１３】
【発明の実施の形態】
特に図１では、本発明の好適な実施形態がＭＲＩシステムで利用されている。ＭＲＩシステムには、ディスプレイ１２とキーボード１４を含むワークステーション１０が含まれる。ワークステーション１０には、シリコングラフィクス社の市販のプログラマブルマシンであるプロセッサ１６が含まれている。これはＭＩＰＳ製６４ビットマイクロプロセッサに基づくものであって、ＬｉｎｕｘオペレーティングシステムもしくはＩＲＩＸ（商標）オペレーティングシステムを実行するものである。ワークステーション１０は、スキャン規定をＭＲＩシステムに入力することを可能にするオペレータインタフェースを提供する。以下で詳しく説明するが、ワークステーション１０は、Ｊａｖａ（商標）コンパチブルなその他のプログラマブルマシンに完全に移植できるＪａｖａ（商標）言語でプログラムされたコードを実行させる一つ以上のＪａｖａ（商標）仮想マシンを実行させる。従って、オペレータインタフェースを利用するプログラムは、ハードウェアに依存しない言語で作成される。この事は、様々なハードウェア構造及び性能を持つワークステーションで同じＪａｖａプログラムを実行することができ、集積回路技術の急速な進歩を利用するように開発された新たなプログラマブルマシンに簡単に移植できることを意味する。
【００１４】
ワークステーション１０は、４つのサーバ、即ち、パルスシーケンスサーバ１８とデータ獲得サーバ２０とデータ処理サーバ２２とデータ記憶サーバ２３に結合されている。好適な実施形態では、ワークステーションプロセッサ１６とそれに関連するディスクドライブインタフェース回路が、データ記憶サーバ２３を実行させる。残りの３つのサーバ１８，２０，２２は、単一の閉領域に実装された個別のプロセッサによって実行され、「コンパクトＰＣＩ」と呼ばれる工業／遠距離通信のアプリケーションのためのＰＣＩ規格に基づく６４ビットバックプレーンバス構造によって相互接続される。パルスシーケンスサーバ１８では、３６６ＭＨｚマイクロプロセッサ／モデルＰＰＣ７５０を使用している。データ獲得サーバ２０とデータ処理サーバ２２は両方とも、同じ３６６ＭＨｚマイクロプロセッサを用い、データ処理サーバ２２は、マーキュリコンピュータシステム社から「ＰｏｗｅｒＰＣ（商標）」として市販されている１つ以上の並列ベクトルプロセッサに基づくアレープロセッサをさらに備える。その他の３６６ＭＨｚマイクロプロセッサ（図示せず）は、ＰＣＩバス構造のハードウェアコントローラとしての機能を果たし、モトローラ社製ＭＰＣ８６０Ｔクワッド通信コントローラを制御する。
【００１５】
ワークステーション１０とサーバ１８、２０、２２の各プロセッサは、１００ベースＴイーサネット（１００ＢａｓｅＴ  イーサネット）シリアル通信ネットワークに接続される。以下で詳しく説明するが、このシリアルネットワークは、ワークステーション１０からサーバ１８、２０、２２にダウンロードされたデータを伝達し、サーバ間、或いはワークステーションとサーバ間で送られたタグ付きデータを伝達するものである。また、画像データをデータ記憶サーバ２３に伝達するために、ＢＩＴ３プロトコルを用いた高速データリンクがデータ処理サーバ２２とワークステーション１０の間に配置される。ハードウェアアーキテクチャに依存して、複数のサーバの一部が共通バックプレーンバス（例えば、ＰＣＩ）による対応を受けることがある。この場合、ＰＣＩバックプレーンプロトコルを使って、タグ付きデータはＰＣＩバックプレーン上のホストプロセッサに送られ、また、そのバックプレーン上のサーバに送られる。
【００１６】
パルスシーケンスサーバ１８は、勾配システム２４とＲＦシステム２６を動作させるようにワークステーション１０からダウンロードされたプログラム要素に応答して機能する。規定のスキャンを実行するために必要な勾配波形を生成し、勾配システム２４に適用することによって、アセンブリ２８内の勾配磁場コイルを励起させて、位置エンコードＮＭＲ信号として用いられる磁場勾配Ｇx、Ｇy、Ｇzを発生させる。勾配磁場コイルアセンブリ２８は、分極磁石３２と全身ＲＦコイル３４を備える磁石アセンブリ３０の一部をなす。
【００１７】
ＲＦシステム２６によってＲＦ励起波形がＲＦコイル３４に与えられて、規定の磁気共鳴シーケンスが実行される。ＲＦコイル３４で検出された応答性ＮＭＲ信号は、ＲＦシステム２６に送信されて（受信され）、パルスシーケンスサーバ１８のコマンドに従って増幅され、復調され、濾波され、デジタル化される。模範的なＲＦシステムについては、米国特許４、９５２、８７７と米国特許４、９９２、７３６で開示されている。
【００１８】
また、オプションとして、パルスシーケンスサーバ１８は、患者情報を生理的情報獲得コントローラ３６から受信する。コントローラ３６は、患者に接続された複数の様々なセンサからの信号、例えば、電極からのＥＣＧ信号や、ベローズからの呼吸信号を受信する。通常、パルスシーケンスサーバ１８はこのような信号を用いて、スキャンの実行を同期化することができる。
【００１９】
また、パルスシーケンスサーバ１８は、患者と磁石システムの状態に関係する様々なセンサから信号を受信するスキャンルームインタフェース回路３８にも接続されている。また、患者位置決めシステム４０が患者を所望の位置に移動させるコマンドを受信するのもスキャンルームインタフェース回路３８によって行われる。
【００２０】
パルスシーケンスサーバ１８は、スキャン中にＭＲＩシステム要素の実時間制御を行うことは明らかなことである。その結果、タイムリーに実行されるプログラムインストラクションを用いてハードウェア要素を動作させることが必要である。以下で詳しく説明されるが、実行中は、アセンブラやＣやＣ＋＋等の低レベルのプロフラム言語で書かれたプログラムによってパルスシーケンスサーバ１８が制御される。スキャンの規定に関する記述コンポーネントはオブジェクト形式で、ワークステーション１０からダウンロードされる。パルスシーケンスサーバ１８は、シリアル化メカニズムを用いてこれらのオブジェクトを受信するプログラムを備える。また、パルスシーケンスサーバ１８は、これらのオブジェクトをランタイムプログラムで使われるＣ＋＋オブジェクトに変換するプログラムを備える。好適な実施形態では、Ｊａｖａ（商標）オブジェクトがダウンロードされ、Ｊａｖａ（商標）のシリアル化機構が利用される。従って、パルスシーケンスサーバ１８は、Ｊａｖａで書かれたハードウェア独立型プログラムとハードウェア依存型プログラムの両方を備える。パルスシーケンスサーバ１８で実行されるほぼ全てのプログラムをハードウェア独立形式で書けば、最終的にＪａｖａ（商標）インタープリタは十分速くなると考えられる。
【００２１】
データ獲得サーバ２０は、ＲＦシステム２６で生成された、デジタイズされたＮＭＲ信号サンプルを受信する。データ獲得サーバ２０は、ワークステーション１０からダウンロードされた記述コンポーネントに応答して実時間ＮＭＲデータを受信して、データオーバーランでデータが失われないようにバッファ記憶部を備える。スキャンの中には、獲得されたＮＭＲデータをデータプロセッササーバ２２に伝達する以外は、データ獲得サーバ２０が殆ど動作しないものもある。しかしながら、スキャンの実行をさらに制御するために獲得されたＮＭＲデータから得られる情報を必要とするスキャンでは、その情報を生成してパルスシーケンスサーバ１８に送るようにデータ獲得サーバ２０がプログラムされる。例えば、プリスキャンではＮＭＲデータが獲得され、それを用いることによって、パルスシーケンスサーバ１８によって実行されるパルスシーケンスが校正される。ナビゲータ信号はスキャン中に獲得され、ＲＦ或いは勾配システム操作パラメータを調整したり、ｋ空間のサンプリング順を制御するために用いられる。また、１９９６年４月１９日に出願され同時係属中の米国特許出願０８／６３５，０７８号「造影剤を用いた磁気共鳴血管造影方法」に記載されているように、ＭＲＡスキャンで造影剤が到着したことを検出するために用いられるＮＭＲ信号を処理するためにデータ獲得サーバ２０を利用することができる。これらの全例では、データ獲得サーバ２０がＮＭＲデータを得て、実時間でそれを処理して、スキャンを制御するために利用される情報を生成する。
【００２２】
パルスシーケンスサーバ１８と同様に、ランタイムにアセンブラやＣやＣ＋＋等のプログラム言語のプログラムインストラクションによって、データ獲得サーバ２０のハードウェア要素が動作する。以下で詳しく説明されるが、スキャン中でのその動作に対する指示はオブジェクト形式でワークステーション１０からダウンロードされる。サーバは、シリアル化メカニズムを用いてオブジェクトを受け取り、ダウンロードされたオブジェクトは、ランタイムにデータ獲得サーバ２０を動作させるＣ＋＋オブジェクトに変換される。上述したように、Ｊａｖａ（商標）シリアル化メカニズムを用いた好適な実施形態で、Ｊａｖａオブジェクトがダウンロードされる。
【００２３】
データ処理サーバ２２は、データ獲得サーバ２０からＮＭＲデータを受信して、ワークステーション１０からダウンロードされた記述コンポーネントに従ってそれを処理する。その処理には、例えば、２次元または３次元の画像を生成するために未処理のｋ空間のＮＭＲデータをフーリエ変換したり、再構築された画像にフィルタをかけたり、逆投影法によって、得られたＮＭＲデータの画像再構築を行ったり、機能性ＭＲ画像を計算したり、或いは、動画像、即ち画像フローを計算する等が含まれていてもよい。
【００２４】
データ処理サーバ２２で再構築された画像は、ワークステーション１０に送り返されて、そこで記憶される。実時間画像はデータベースメモリキャッシュ（図示せず）に記憶され、そこから、磁石アセンブリ３０の近くにあるオペレータディスプレイ１２やディスプレイ４２にそれが出力されるので主治医はそれを利用できる。バッチモード画像や選択された実時間画像は、ディスク記憶４４上のホストデータベースに記憶される。その画像が再構築されてメモリに転送されると、データ処理サーバ２２はワークステーション１０のデータ記憶サーバ２３にそれを知らせる。オペレータはワークステーション１０を利用して、画像を保管したり、フィルムを作成したり、ネットワークを介して画像を他の施設に送ることができる。
【００２５】
以下で詳しく説明されるが、データ処理サーバ２２が実行する特定のオペレーションに対する指示はワークステーション１０からダウンロードされる。タイムクリティカルな機能は、アセンブラやＣやＣ＋＋で書かれたプログラムによって実行され、ダウンロードされたＪａｖａ（商標）オブジェクトの指示を、上で説明されたように、対応する実行可能コードに変換する必要がある。
【００２６】
上で示したように、ワークステーション１０は、Ｊａｖａ（商標）プログラミング言語で書かれたプログラムを実行するＪａｖａ（商標）仮想マシンである。ワークステーションソフトウェアは、オペレータによって選択され実行される「アプリケーション」を実行するように設計される。そのアプリケーションは、臨床的な撮像手順に対応し、例えば、
ＦＳＥパルスシーケンスを用いたスキャン、
ＣＥＭＲＡ動的検査、
ｆＭＲＩ検査
出血する血管の検査、
画像の後処理、
撮影、
ネットワーキング
が含まれていてもよい。
【００２７】
アプリケーションは、オペレータによって選択されてスキャンを行うための「アプリケーションコンテナ」に記憶されたＪａｖａ（商標）オブジェクトの集まりである。特に図２では、各アプリケーションコンテナには、コンテナ内のその他のＪａｖａ（商標）コンポーネントにスキャンを実行させるＪａｖａ（商標）アプリケーションコントローラコンポーネント４６が含まれる。これらのその他のコンポーネントには、アプリケーションによって実行される手続きをオペレータが制御することを可能にする規定支援コンポーネント５５とユーザインターフェイスコンポーネント５３を備える規定コントローラ５２が含まれる。
【００２８】
また、アプリケーションコンテナにはスキャン記述５０も含まれる。以下で詳しく説明するが、このスキャン記述はサーバ１８、２０、２２、２３（図１）にダウンロードされ、サーバはそれを用いて規定のスキャンを実行する。記憶されたスキャン記述５０はアプリケーション毎にユニークなものであるが、オペレータは、スキャンを完全に規定するように、さらに情報を入力することができる。
【００２９】
アプリケーションコントローラ４６には、スキャン中のアプリケーションのステートを維持するアプリケーションステートオブジェクト４８が含まれる。アプリケーションのライフサイクルには以下のステートがある。
初期化
規定
規定完了
ダウンロード
ダウンロード完了
プリスキャン
プリスキャン完了
バッチスキャン
実時間スキャン
スキャン停止
スキャン完了
再構築完了
視覚化完了
このライフサイクルは、アプリケーションコンテナからの（アプリケーションの初期化を行うような）コマンドと、オペレータからの（スキャンを開始させるような）コマンドと、アプリケーションによって内部的に生成される（スキャン完了のような）コマンドに基づいて駆動される。
【００３０】
オペレータがアプリケーションを選択すると、アプリケーションでは初期化を行って「規定状態」に変わり、規定コントローラ５２はイネーブルとなってスキャン記述コンポーネント５０と相互作用し、オペレータがどのスキャンパラメータ（例えば、ＴＲ、スライス数、ＦＯＶの位置、フリップアングル）を指定しなければならないかを決め、また、規定が完全に有効かどうかを決定する。次に、規定コントローラ５２は、アプリケーションステートオブジェクト４８に信号を送ることによって「規定された」状態に切替え、制御パネル上のダウンロードボタンとプリスキャンボタンとスキャンボタンをイネーブル状態にする。
【００３１】
もしオペレータが「ダウンロード」ボタンを押すと、アプリケーションステートオブジェクト４８は「ダウンロード状態」になって、アプリケーションコントローラ４６はスナップショットコントローラ５４を利用してスナップショットコマンドとダウンロードコマンドを発行する。以下で詳しく説明されるが、これらのコマンドに従って、スキャン記述５０がサーバ１８、２０、２２、２３にダウンロードされる。スナップショットコントローラ５４は、各サーバ１８，２０，２２、２３から「ダウンロード完了」の通知を受け取り、四つのサーバ全てでスナップショットの受信が完了すると、アプリケーションステートオブジェクト４８が「ダウンロード完了」状態に切り替わる。
【００３２】
もしオペレータがスキャンボタンを押すと、アプリケーションステートオブジェクト４８はスキャンモードに変わるので、スキャンコントローラ５６が用いられてパルスシーケンスサーバ１８にスキャンコマンドが発行される。次の状態遷移は、スキャンモード、即ち、実時間モードやバッチモードで制御される。この２つのモードでのアプリケーションの動作は全く異なっているので、２つの異なるスキャン状態が存在する。もし実時間モードであれば、アプリケーションは「実時間スキャン」状態になり、もしバッチモードであれば、アプリケーションステートは「バッチスキャン」状態になる。実時間モードで、もしユーザがスキャンの停止を選ぶと、アプリケーションは「スキャン停止」状態に遷移する。もしスキャンが再開すると、アプリケーションは実時間スキャン状態に戻る。実時間スキャン状態では、アプリケーションを編集して、編集された記述をスキャン中でもダウンロードすることができる。しかしながら、アプリケーションは状態遷移しない代わりに、編集およびダウンロードできるものとしてその状態が特徴付けられる。この実時間スキャン状態での動作がバッチスキャン状態での動作と区別される点である。
【００３３】
オペレータが「スキャン停止」のボタンを押すと、アプリケーションは「スキャン完了」状態に遷移する。また、もしアプリケーションがバッチスキャン動作モードにあるならば、スキャンが完了した時に、パルスシーケンスサーバ１８はアプリケーションコントローラ４６にそれを通知する。アプリケーションステートオブジェクトは、どちらの事象でも「スキャン完了」状態に変わる。
【００３４】
データ処理サーバ２２が獲得された画像の再構築を完了すると、データ記憶サーバ２３にその旨が通知され、全画像がディスク４４にインストールされる。このタスクが完了すると、アプリケーションコントローラ４６にその旨が通知され、アプリケーションステートオブジェクト４８が「再構築完了」状態に変えられる。これは、再構築された画像を表示したり、さらに別の処理を施したりするために、その画像がディスク４４から入手可能であることをワークステーション１０に示すものである。
【００３５】
特に図３を参照すると、スキャン記述５０には、規定コントローラ５２を利用してスキャンパラメータを集め、また、規定のスキャンパラメータをサーバ１８、２０、２２、２３にダウンロード可能な小さなコンポーネント集合にまとめるように機能する一連の構成コンポーネントが含まれる。規定のスキャンを実行するために、サーバ１８、２０、２２、２３では、ダウンロードされたそれらのコンポーネントによってハードウェアのオペレーションが指示される。
【００３６】
各アプリケーションにはコンポーネントを論理的にグループ化するための様々な種類の記述が存在するので、ＭＲスキャンを実行する様々な態様を取扱うことができる。これらの記述の種類には、
パルス記述５８
シーケンス記述６０
獲得記述６２
データ処理記述６４
データ記憶記述６６
がある。
【００３７】
パルス記述５８には、ハードウェア制御コンポーネントと勾配システムとＲＦシステムハードウェアで使われる波形を定義し制御するコンポーネントが含まれる。ランタイムにシーケンス記述コンポーネントによって生成された事象に応答して、これらのコンポーネントは、波形、またはハードウェアと波形の動的な態様を制御する。また、この記述５８には、ＲＦシステム２６によって受信されたＮＭＲ信号のフィルタ処理を制御するコンポーネントがさらに含まれる。これらのコンポーネントは、ＮＭＲ信号を励起し符号化し読み出すために用いられる勾配／ＲＦ／制御パルスのユニークなセットを集合的に定義するものである。その例としては、２Ｄスピンエコーシーケンスと２Ｄ勾配エコーシーケンスと２Ｄ高速スピンエコーシーケンスと３Ｄ勾配エコーシーケンスのパルス記述がある。
【００３８】
シーケンス記述６０には、行うパルスシーケンスの順序を制御する一連のコンポーネントが含まれており、スキャンのタイムラインに沿って規定された一連の事象を定義するものである。
【００３９】
シーケンス記述６０によって定義されたこれらの規定の事象は、パルス記述５８のパルス成分の動的な振る舞いを開始させるものである。これらのコンポーネントは、スライスとｋ空間のサンプリング順序を定義するために使われるユニークな獲得配列を規定するものである。この例としては、２Ｄシーケンシャルと２Ｄインタリーブと３Ｄシーケンシャルと３Ｄ楕円中心とマルチスライスＣＩＮＥがある。
【００４０】
獲得記述６２には、ＲＦシステム２６によって獲得されたＮＭＲ信号の実時間処理を指示する一連のコンポーネントが含まれる。これらのコンポーネントは、獲得されたＮＭＲ信号に関するオペレーションの実行を指示して情報を生成する。尚、この情報はシーケンス記述６０のコンポーネントに送られて、次のスキャナのオペレーションに影響を与えるものである。これらのコンポーネントは、例えば、プリスキャン中にＮＭＲ信号を処理して次のスキャンで生成されたＲＦパルスのパワーの変化、もしくは、周波数の変化をフィードバックしたり、造影剤のかたまりが注目の領域に到着して中心ビュー順序での獲得が開始する時点を検出するためにＮＭＲ信号を処理したり、スキャンのビュー順序を変えたり、ＲＦシステム２６の復調基準周波数を変えるために利用できる位相補正情報を生成するために「ナビゲータ」ＮＭＲ信号を処理したりするものである。この能力を必要としない臨床用アプリケーションで一般的に用いられるスキャンもあるが、このアプリケーションの獲得記述６２のコンポーネントでは、得られたＮＭＲ信号を単純にバッファリングして、それをデータ処理サーバ２２で利用可能なものにする。
【００４１】
データ処理記述６４には、得られたＮＭＲ信号を意味のある形式に変換するようにデータ処理サーバ２２に指示をだすコンポーネントが含まれる。画像再構築は最も一般的な機能であって、その結果の態様は、スキャンされた対象の２Ｄ画像や３Ｄ画像である。また、分光法に基づく処理もこれらのコンポーネントによって定義することができ、この場合の結果の態様は、得られたＮＭＲ信号のスペクトル画像である。
【００４２】
データ記憶記述６６には、スキャン中にデータベースに記憶された画像を定義するコンポーネントが含まれる。再構築された画像に加えて、これには、患者の解剖学的な情報やスペクトル分析に基づく情報と共にその画像に現れる患者情報とスキャンパラメータ情報が含まれてもよい。
【００４３】
特に図２と図３を参照すると、完全に規定が入力されてスキャン記述５０が完了するとダウンロードが始まり、スナップショットコントローラ５４が動作して、スキャン記述５０のコンポーネントがサーバ１８，２０，２２に転送される。このことは、エージェント６８、７０、７２、７４、７６を記述５８、６０、６２、６４、６６のコンポーネントから形成することによって達成される。この結果、各エージェントには、スキャン中にサーバがタスクを実行するよう指示できる一連のオブジェクトが含まれる。ダウンロード可能なコンポーネントをサーバに送るために、エージェントはプロセスブロック７８で示されたシリアル化の処理を利用する。シリアル化することによって、エージェントのオブジェクトは、オブジェクトクラス名とそれらのデータのインスタンスとオブジェクト間の関連を維持するストリームフォーマットに変換される。最初の初期化時に、スナップショットコントローラ５４にエージェントが登録される。規定が完全になると、スナップショットコントローラ５４は、スナップショットを撮ることをエージェントに通知する。エージェントは、それ自体とダウンロード可能なコンポーネントの全てをシリアル化し、そのデータストリームと目標サーバの識別情報をオブジェクトに知らせる。そのスナップショットオブジェクトは目標サーバに送られてダウンロードが完了する。
【００４４】
例えば、２０００年７月１８日に許可された「バイトコードとシリアル化されたオブジェクトをタイムリーに送る方法と装置」というタイトルであって、本願の援用文献である米国特許６、０９２、１２０に記載されているように、シリアル化メカニズムは、出力データストリームにオブジェクトを書き込めるＪａｖａでは標準的な特徴である。データストリームをプロセス境界を越えて送ったり、それを後で利用するためにディスクに保存してオブジェクトの状態を保持したりすることができる。シリアル化されたオブジェクトのデータストリームは、各オブジェクトのクラス名と、属性名と種類と値から記述されたそのオブジェクトのインスタンスデータを送るものである。シリアル化することの強力な態様は、データストリームを受け取って脱シリアル化するときに、オブジェクト間の関係を捕らえる能力である。これによって、シリアル化したストリームからオブジェクトのグラフを表現することができ、また、後で、もしくは、別のマシンで再現することもできる。シリアル化メカニズムによって、オブジェクト間の全ての関係が捉えられる。グラフ中の各オブジェクトは一度だけシリアル化される。もし一つのオブジェクトが１回以上参照されるならば、シリアル化メカニズムによって、その繰り返しが認識され、前にあった所へに対する参照情報がストリーム内に挿入される。これによって、シリアル化処理中の無限ループの発生が防止されたり、オブジェクトの重複があるためにストリームが膨らんでしまうことが防止される。尚、シリアル化したデータストリームにはオブジェクトデータだけが含まれ、オブジェクトの方法コード、即ち、オブジェクトの実行可能な部分が含まれないことに注意することは重要である。このため、スナップショットコントローラ４５によってサーバにダウンロードされたデータ量がかなり少なくなる。また、各サーバにオブジェクトの方法コードが既にあることが必要である。
【００４５】
特に図３を参照すると、シリアル化されたエージェント６８、７０、７２、７４、７６は、機能サーバ８０、８４、８６、８８にダウンロードされる。機能サーバ８０、８４、８６は３つのサーバ１８、２０、２２にあって、データはイーサネットシリアル通信ネットワークを介して送られる。パルスシーケンスサーバ８０は、パルスシーケンスサーバハードウェア１８上にあって、獲得サーバ８４は、データ獲得サーバハードウェア２０上にあって、データプロセスサーバ８６はサーバハードウェア２０もしくは２２上にある。データ記憶サーバ８８は、ワークステーション１０にある。様々な多くのハードウェアの組み合わせに基づいて機能サーバが存在し、現在のアーキテクチャによって様々なハードウェアの組み合わせを利用することを容易にできることは当業者にとって明らかである。もしサーバハードウェアが使われるなら、ワークステーションソフトウェアで必要となる唯一の変更部分は、新しいサーバハードウェア向けの記述コンポーネントを特にグループ化するエージェントである。既存のスキャン記述５０のコンポーネントを使って新しいエージェントが構築され、上述の既存のソフトウェアを使ってそれが生成されてダウンロードされる。
【００４６】
スナップショットのダウンロード事象がスナップショットコントローラ５４によって生成されるときに、対応する目標の機能サーバによってシリアル化したエージェントが受け取られる。プロセスブロック９０で示されるように、シリアル化したエージェントの各ストリームを脱シリアル化する必要がある。もしサーバがＪａｖａで書かれているならば、この脱シリアル化は、例えば、上で引用された米国特許６，０９２，１２０で記述されている言語の標準的な特徴となる。しかしながら、上述したように、好適な実施形態のサーバはＣ＋＋オブジェクトコードを使うので、脱シリアル化には余計な努力が必要となる。脱シリアル化を実行するために、サーバはコロラド州ボールダにあるローグウェーブソフトウエア社製のソフトウェア製品を用いることができる。この製品には、Ｊａｖａ（商標）オブジェクトストリームの修復用にＣ＋＋ライブラリが提供される。このツールで、Ｊａｖａストリームを構文解析でき、含まれるクラス名と属性と、リーダライタークラスとオブジェクトの関係を提供することができる。ストリームから生成される各Ｃ＋＋コンポーネントは、リーダライターを備える必要がある。このクラスは、構文解析された情報を適切な建設者にマップし、Ｃ＋＋オブジェクトの方法を設定する。
【００４７】
上述したように、シリアル化したストリームにはコードは含まれないが、オブジェクトのインスタンスデータだけが含まれる。Ｃ＋＋クラスのコードはサーバに存在する。全ての種類のＪａｖａ（商標）エージェントとＪａｖａ（商標）をダウンロード可能なコンポーネントは、サーバ上にミラーＣ＋＋オブジェクトを備える。ミラーコンポーネントは、同じクラス名を持ち、共通の属性集合を共有する必要がある。脱シリアル化プロセスが終了すると、９２で示される実行可能なオブジェクトコードは、機能サーバ８０、８４、８６、８８の各々に存在する。ダウンロードが完了し全サーバから信号を受けて、アプリケーションステートオブジェクト４８が「ダウンロード完了」状態に変わると、各機能サーバは、ワークステーション１０内のスナップショットコントローラ５４への送信と等価なことを行う。
【００４８】
オペレータがコントロールパネル上の「実行」ボタンを押すと、スキャンコントローラ５６は、ワークステーションとサーバのランタイムオペレーションを調整して、スキャンを実行させる。これを行うために、スキャンコントローラ５６は様々な複数のバス構造とバックプレーンとシリアル通信ネットワークを介して機能サーバ８０、８４、８６、８８と通信することができる。例えば、スキャンコントローラ５６は、パルスシーケンスサーバ１８に信号を送ってスキャンを開始させ、画像が利用可能になって見ることができるようになったときにデータ処理サーバ２２からの通知を受け取る。さらに、複数の機能サーバは、スキャン中に互いに通信する必要がある。例えば、獲得サーバ８４は、サーバ８０に情報を送り返して、スキャン中にパルスやシーケンスを変えることができる。獲得サーバ８４によって獲得された画像データはデータプロセスサーバ８６に送られ、データ記憶サーバ８８はデータプロセスサーバ８６とワークステーション１０の両方から情報を受け取って、再構築された画像を利用して特許情報をマージする機能を実行する。
【００４９】
タグ付きデータ転送システムによってランタイム通信が行われる。タグ付きデータ転送は、タグ（データパケット）表現と、様々な低レベル通信スキームに基づくルーティングメカニズムを備えることによって、ハードウェア依存性からアプリケーション／サーバを分離するシステムである。タグ付きデータパケットは、ヘッダとペイロードからなる。ヘッダには、識別子とタグ付きデータタイプとペイロードサイズとバイトオーダとホップカウント等のペイロードを解釈するために役立つ情報が含まれる。ペイロードには、プラットフォーム独立型データ、もしくは、タグ付きデータオブジェクトが含まれる。様々なプログラマブルマシンに送られたプロセスを含むプロセス内かプロセス間で交わされるデータを転送して解釈することができる。
【００５０】
タグ付きデータ：
ヘッダ
識別子
タイプ
ペイロードサイズ
バイトオーダ        
ペイロード
図４に示されているように、ワークステーション１０と機能サーバ８０、８２、８４、８６、８８の各々には、タグルータ９４が含まれる。これらはＪａｖａ（商標）とＣ＋＋で書かれており、利用可能な通信ハードウェアとプロトコルを用いて互いに通信する。タグ付きデータを受け取ることに関係するコンポーネントは、ローカルタグルータに登録された論理アドレスを備える。各プロセスは、その他のコンポーネントとプロセスを利用したタグ付きデータ転送を可能とする少なくとも１つのタグルータを備える。
【００５１】
特に図６について、各タグルータ９４は、ストリームパイプに類似のデータ転送チャネルを維持する。これらのチャネルは、タグルータ９４から低レベルの通信の細部を隠すものであって、別のプロセス空間にあるピアにタグ付きデータを転送するメカニズムを提供する。チャネルは、入力データチャネル９６と出力データチャネル９８からなる。送信コンポーネントには、タグ送信オペレーションの失敗／成功についての通知を得るオプションがある。
【００５２】
データ表現のためにＤＩＣＯＭ規格が使われるので、プラットフォーム独立性を達成することができる。医療画像とそれに関連するデバイス情報を送るための規格を提供するために、放射線科医学会（Ａｍｅｒｉｃａｎ  Ｃｏｌｌｅｇｅ  ｏｆ  Ｒａｄｉｏｌｏｇｙ）と、全国電機製造業者協会（Ｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｉｃａｌ  Ｍａｎｕｆａｃｔｕｒｅｒｓ  Ａｓｓｏｃｉａｔｉｏｎ）によって医療規格のデジタル撮像と通信が開発された。ＤＩＣＯＭのデータタイプはうまく定義されており、ハードウェア独立である。転送されるデータを識別するために、定義済みのＤＩＣＯＭタグを使うことができるので、アプリケーションプログラマによってパケットを簡単に拡張することができる。サポートされているデータタイプは、ストリングと整数と浮動小数点を含むＤＩＣＯＭ仕様によって特定されるもののサブセットである。
【００５３】
まだ図６を参照して、タグ付きデータオブジェクトは、タグ付きデータファクトリ１００に１つのタグ付きデータ系のものを要求するローカルプロセス９９によって生成される。転送されるデータは、タグ付けが可能な形式でタグ付きデータファクトリ１００に送られる。タグ付きデータファクトリ１００は、ヘッダを追加することによってタグ付きデータオブジェクトを生成し、そのオブジェクトはタグルータ９４に送られる。ルータ９４は、タグ付きデータを目的地に送る処理を行う。
【００５４】
各ルータ９４に関連するものには、ルータ９４からタグ付きデータオブジェクトを受け取って、それを登録済みのローカルコンポーネント１０２に送るタグ付きデータレシーバ１０１がある。タグ付きデータレシーバ１０１は、登録済みのローカルコンポーネント１０２の論理アドレスを示す登録テーブル１０３を使って、それらのコンポーネントが登録されたデータオブジェクトの種類と共にタグ付きデータオブジェクトを受信する。１０４で示される未登録のローカルコンポーネントの論理アドレスを識別し、受信したいタグ付きオブジェクトの種類（例えば、再構築完了、画像のインストール完了、生データフレーム特性、画像の幾何学的特性）を示すことによって、そのコンポーネントをタグ付きデータレシーバに登録することができる。
【００５５】
従って、登録済みコンポーネント１０２にはタグ付きデータオブジェクトが送られ、とりわけ、システム内のどこかにあるその他のコンポーネントとプロセスによってそれらのオブジェクトがそれらのコンポーネントに送られ、また、特定の種類のタグ付きデータオブジェクトがそれらのコンポーネントに送られる。従って、システム内のどこかにある登録済みコンポーネント１０２は、システム内の１つのプロセスから別のプロセスに送られた特定の種類のタグ付きデータオブジェクトを監視することができる。
【００５６】
特に図４を参照すると、医療撮像システムでは、タグ付きデータ転送システムによって実時間でスキャンの監視することが可能になる。ワークステーション１０のプロセスによって、パルスシーケンスサーバ１８とデータ獲得サーバ２０間とデータ獲得サーバ２０とデータ処理サーバ２２間のタグ付きデータを監視することができる。このワークステーションのプロセスは、例えば、スキャンの進行度を示すオペレータに実時間の表示を行うためのデータを使う。
【図面の簡単な説明】
【図１】図１は、本発明の好適な実施形態を利用したＭＲＩシステムのブロック図である。
【図２】図２は、図１のＭＲＩシステムの一部を構成するワークステーションの機能コンポーネントのブロック図である。
【図３】図３は、図１のＭＲＩシステムのダウンロード事象を示す機能及びデータコンポーネントのブロック図である。
【図４】図４は、図１のＭＲＩシステムのタグ通信システムを示す要素のブロック図である。
【図５】図５は、本発明を用いた画像システムのブロック図である。
【図６】図６は、図４の各ルータに関連するタグ通信システム要素のブロック図である。
【図１】
0003962859.tif 000002
【図２】
0003962859.tif 000003
【図３】
0003962859.tif 000004
【図４】
0003962859.tif 000005
【図５】
0003962859.tif 000006
【図６】
0003962859.tif 000007