(58)【調査した分野】(Int.Cl.,DB名)
前記基準マーカは、前記医療デバイス上に基準フレームとして配置され、前記基準フレームは、リング状の配置で前記基準マーカを含み、前記基準マーカの前記配置が非対称である、請求項1に記載の方法。
前記医療処置を実行するための前記計画挿入点を示す前記情報は、医療撮像コンピューティングシステムのディスプレイ上に前記画像データを提示するユーザインタフェースを介して受け取られる1つまたは複数の入力に基づく、請求項8に記載の方法。
前記クロップ画像データは、前記画像データの一部分に対応し、前記画像データの前記一部分は、前記画像データの前記一部分内の中心に位置するアーチファクト画像データを含み、
前記アーチファクト画像データは、前記クロップ画像データにおいて除去される、請求項1に記載の方法。
前記クロップ画像データ内で前記基準マーカオブジェクトを検出するステップは、前記クロップ画像データ内で、前記医療デバイスに含まれる全ての基準マーカを識別することを含む、請求項1に記載の方法。
前記対象の前記画像データは、解剖学的構造に対応する解剖学的画像データを含み、前記クロップ画像データは、前記解剖学的構造に対応する前記解剖学的画像データを含まない、請求項1に記載の方法。
前記対象の前記画像データは、人工構造に対応する構造画像データを含み、前記クロップ画像データが、前記人工構造に対応する前記構造画像データを含まない、請求項1に記載の方法。
実行可能プログラム命令を記憶したコンピュータ可読記憶媒体であって、前記実行可能プログラム命令が、1つまたは複数のプロセッサを備えたコンピューティングシステムによって実行されたときに、前記コンピューティングシステムに、
対象および医療デバイスの画像データを取得することであり、前記医療デバイスが基準マーカを含み、前記画像データが3次元画像データを含む、ことと、
医療処置を実行するための計画挿入点に基づいて3次元形状を表す情報を生成することと、
皮膚平面を識別することと、
医療処置を実行するための計画針軌道を決定することと、
前記画像データにクロッププロセスを適用して、前記3次元形状に基づいてクロップ画像データを生成することであり、前記クロップ画像データが、少なくとも2つの前記基準マーカの画像データを含む、ことと、
前記クロップ画像データ内で基準マーカオブジェクトを検出することと、
前記基準マーカのモデルを前記基準マーカオブジェクトとマッチングすることによって、前記基準マーカオブジェクトを位置合わせすることと
を実行させ、
前記3次元形状の配向は、前記皮膚平面に基づくか、または、前記計画針軌道に沿っている、コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0011】
以下、図面を参照して、例示的な実施形態について説明する。高度な自動デバイス画像間の位置合わせのための自動医療画像クロップを行うシステム、方法、およびデバイスについて述べる。いくつかの実施形態は、患者および基準マーカを含む医療デバイスの医療画像データを取得することと、医療画像データにクロッププロセスを適用してクロップ画像データを生成することと、クロップ画像データ内で基準マーカオブジェクトを検出することと、基準マーカのモデルを用いて基準マーカオブジェクトを位置合わせすることとを含む。患者および医療デバイスの画像データは、断層撮影デバイスの画像データである。いくつかの実施形態では、医療デバイスは、例えば患者に挿入する針を送る、または位置決めすることができる、患者装着型のデバイスである。
【0012】
実施形態によれば、自動医療画像クロッププロセスは、基準マーカを探索する領域を制限する。いくつかの実施形態では、医療画像データをクロップし、クロップした画像データ内で基準マーカを検出するプロセスを実行するが、画像データのクロップした領域に対して行われる基準マーカ検出プロセスは、クロップした領域の外部の画像データには適用されない。したがって、クロップした領域の外部に高強度の画像特徴がある場合に、この画像特徴を誤って基準マーカとして識別することを回避することができる。したがって、医療画像データ上で自動検出および位置合わせを行う前に、基準マーカ探索エリアを自動的に制限することによって、基準マーカの誤検出を低減させることができる。いくつかの実施形態では、医療画像をプレクロップすることにより、画像処理アルゴリズムが元の画像全体ではなく元の画像の一部にしか行われなくなるので、自動位置合わせが高速化される。
【0013】
いくつかの実施形態は、医療処置のための処置前計画に関連する情報を用いて、自動医療画像プロップを実行することを含む。さらに、いくつかの実施形態は、使用者との対話なしの自動クロップを実行することを含む。例えば、処置前計画に関連する情報を医療画像クロップのための入力として使用することによって、技術者または医師などの使用者が自動位置合わせを適用する画像の特定の部分を選択する必要なく、画像の一部分に対して自動位置合わせが適用される。技術者または医師は、自分の通常の計画を実行すればよく、この計画によって、自動位置合わせのための医療画像の自動クロップが駆動される。例えば、本明細書に記載するナビゲーションソフトウェアを使用して、使用者は、ターゲットと、針またはその他の医療器具を挿入すべき計画挿入点とを特定することができる。例えば、内科医が、ターゲットおよび皮膚侵入点(skin entry point)を計画画像上で指定することによって、針配置の軌道を規定することもできる。いくつかの実施形態では、挿入点は、基準マーカを含む医療デバイスの所望の中心を与え、ターゲットは、球形またはボックス形などのクロップ形状を構築するための皮膚平面を探索するための軌道を与える。次いで、既に処置前ワークフローの一部である処置前計画に基づくクロップ形状を利用して、取得した医療画像を自動的にクロップすることができる。
【0014】
いくつかの実施形態によれば、医療デバイスの再位置合わせが実行される。例えば、医療デバイスの1回または複数回の事前位置合わせを、同じ処置内で位置合わせを実行するための入力として使用して、クロップエリアをさらに制限し、かつ/または誤って基準として検出される可能性がある金属針のアーチファクトを除去する。クロップエリアをさらに精細化することにより、基準の誤検出の可能性を低下させる助けになる。さらに、いくつかの実施形態によれば、クロッププロセスを使用して、クロップ医療画像から針などの金属アーチファクトを解消して、金属アーチファクトが偶発的に基準として検出されるのを防止する。いくつかの実施形態では、反復クロップが実行される。例えば、初期クロッププロセスを適用して、基準マーカを探索するための小さいクロップエリアを生成することができる。次いで、この探索の結果に基づいて、クロップエリアを拡大し、もう一度探索を実行する。クロップエリアの漸次拡大は、最適な結果が得られるまで続けることができる。
【0015】
I.撮像および医療デバイス
医療デバイスは、断層撮影に関連して使用される任意の医療デバイスとすることができる。断層撮影は、例えば、MRI、CT、超音波、またはその他の撮像技術とすることができる。医療デバイスは、例えば針配置デバイスなど、患者装着型デバイスとすることができる。
【0016】
本明細書に記載するシステムと組み合わせて使用することができる医療デバイスの一例が、参照によりその全体を本明細書に組み込む米国特許公開第2014/0275979号に記載されている。この参考文献は、2重リング機構を備えたMRI適合性人体装着型針誘導デバイスを提供する。
【0017】
本明細書に記載する基準マーカ、システム、および方法を使用することができるその他の医療デバイスとしては、診断または手術を支援する際に針を配置する、またはツールを配置するための、その他の自立型または患者装着型医療デバイスがある。例えば、孔のグリッドからなる針誘導テンプレートは、画像誘導式の前立腺生体組織検査または小線源照射療法において焦点に針を送るために使用されることが多い。
【0018】
本明細書に記載する基準マーカ、システム、および方法を使用することができるさらに他の医療デバイスとしては、参照によりその全体を本明細書に組み込む米国特許公開第2018/00228568号に記載される針配置デバイスがある。さらに、米国出願第62/714,566号、第62/764,849号、第62/746,820号、および第62/747,913号に記載される医療デバイスも、本明細書に記載するシステムと組み合わせて使用することができる。
【0019】
II.ロボット制御ソフトウェア
いくつかの実施形態では、ナビゲーションソフトウェア100、論理制御層106、および物理制御インタフェース108の3つの構成要素の層を有するソフトウェアシステムが提供される(
図1)。これらの構成要素は、独立ソフトウェアプロセスとして実装され、例えばイーサネットおよびユニバーサルシリアルバス(USB)を介して互いに通信する。ただし、他の実施形態では、これらの構成要素のうちの2つ以上が、1つのソフトウェアプロセスに一体化される。
【0020】
これら3つの構成要素の詳細は、以下の通りである。
【0021】
ナビゲーションソフトウェア
ナビゲーションソフトウェア100は、システム内の最上位層の構成要素であり、
図1に例示してある。ナビゲーションソフトウェア100は、例えば、内科医および/またはオペレータのための1次ユーザインタフェースとして機能する。ナビゲーションソフトウェア100は、本明細書に記載するように、3D Slicer、オープンソース医療用画像計算ソフトウェアのプラグインモジュールとして実装され、このソフトウェア、またはその他のソフトウェアを介して、コンソール112およびMRIスキャナを含むMRIハードウェア114を含むMRIシステム104から画像を受信する。ナビゲーションソフトウェア100は、内科医が以下の作業を実行するのを支援する。
【0022】
針配置計画。
内科医は、計画画像上でターゲットおよび皮膚侵入点を指定することによって、針配置の軌道を規定することができる。ソフトウェアは、計画画像の一部分を任意の平面に沿って表示し、その上で内科医がマウスを用いてクリックすることによってこれらの点を指定できるようにする。軌道が規定されたら、ソフトウェアは、その軌道に沿った平面で3D画像を再スライスして、内科医がその経路の周りの任意の重要な構造および障害物を発見できるようにすることができる(
図3)。規定された軌道は、ロボット制御サーバ102に転送される。ただし、アクチュエータを動かす最終判断は、ガントリの脇に立つ内科医によって行われることが好ましく、アクチュエータは、内科医がフットスイッチを踏んだときにしか給電することができない。
【0023】
デバイス画像間の位置合わせ。
ソフトウェアは、デバイスを画像座標系に対して位置合わせするために、較正画像においてデバイスに埋め込まれたマーカを自動的に検出することができる。いくつかの実施形態における基準マーカを検出して位置合わせするアルゴリズムの詳細については、以下で述べる。デバイスが位置合わせされたら、ソフトウェアは、デバイスおよびそのアクセス可能範囲のモデルを画像に重畳させて、オペレータが全てのターゲットがその範囲内にあることを確認できるようにする(
図3)。一次変換行列は、例えばOpenIGTLinkプロトコルを用いて、ネットワークを介してロボット制御サーバ102に転送される。
【0024】
プローブ配置の監視および確認。
ソフトウェアを使用して、処置中にはいつでも、画像に重畳した3Dモデルによってデバイスの現在位置および配向を視覚化することができる。さらに、ソフトウェアは、患者の体内に挿入されたプローブを計画軌道およびターゲットとともに示す確認画像を表示することもできる(
図4)。これらの機能により、内科医は、デバイスを監視し、プローブ配置を確認することができる。
【0025】
論理制御層
論理制御層(LCL)106は、システムの中間層にあり、ナビゲーションソフトウェア100と下位レベルの物理制御層(PCL)108とのインタフェースとなる。ロボット制御サーバ102のこの層は、デバイスのハードウェアおよび運動学的構造をカプセル化することができ、デバイスから独立したアプリケーションプログラムインタフェース(API)を上位層に提供することができる。したがって、LCL106は、以下のサブ構成要素からなる。
【0026】
上位層とのTCP/IPネットワークインタフェース。
このインタフェースを介して、LCL106は、ターゲット位置など、上位層からハードウェアへのコマンドを受信し、針ガイドの現在位置、およびデバイス状態など、ハードウェア(110)の現在状態を上位層に提供する。また、LCL106は、運動学的計算(以下のキネマティクスエンジン参照)の結果として得られる所要針挿入深さも、上位層に提供する。いくつかの実施形態では、LCL106は、基準フレームの構成を、基準に基づくデバイス画像間の位置合わせが行われる上位層に提供して、上位層をハードウェアから独立した状態に保つ。いくつかの実施形態では、ネットワークインタフェースは、OpenIGTLinkプロトコルに準拠しているので、OpenIGTLinkに適合するソフトウェアと通信することができる。
【0027】
キネマティクスエンジン(Kinematics engine)。
いくつかの実施形態では、上位層から受信したハードウェア独立コマンドを、針誘導デバイスの運動学に基づいて個々のアクチュエータのターゲット位置に変換し、PCL108に送信することができる。さらに、いくつかの実施形態では、PCL108から受信した個々のアクチュエータの現在位置を、針ガイドの位置および配向に変換し、上位層に送信する。いくつかの実施形態によれば、針誘導デバイスは、手動操作型デバイスである。例えば、本明細書に記載するシステムと組み合わせて使用することができる針誘導デバイスは、ともに参照によりその全体を本明細書に組み込む米国特許第9,222,996号および米国特許公開第2018/00228,568号に記載されている。
【0028】
下位層とのシリアルインタフェース。
LCL106は、ユニバーサルシリアルバス(USB)を介して下位層のサブ構成要素と通信する。この例示的なインタフェースを介して、個々のアクチュエータのターゲット位置およびその他のデバイス特有コマンドが、PCL108に送信され、デバイスの現在状態および個々のアクチュエータのエンコーダの読みが、ナビゲーションソフトウェア100に送信される。このインタフェースを介して交換される情報は、運動学的構造に依存しているが、物理ハードウェア(例えばモータドライバおよびエンコーダ)からは独立している。
【0029】
物理制御層
物理制御層(PCL)108の役割は、物理入出力(I/O)からは独立しているが、運動学的構造には依存しているインタフェースを提供することである。いくつかの実施形態では、PCL108は、LCL106と通信するためのUSBインタフェースと、エンコーダおよびフットスイッチからの入力を読み取り、個々のモータのターゲット速度をモータドライバに与えるデジタル入出力インタフェースとを備えた、Linuxベースの組込型コンピュータ上で動作する。制御装置は、個々のアクチュエータのターゲット位置を受信すると、個々のモータの閉ループPID制御を実行して、2つのリングを指定された位置に位置決めする。このプロセスの間、PCL108は、任意選択で、リングの現在位置およびその他のデバイス状態を送信し続けることもできる。
【0030】
コンピューティングシステム
図2は、例示的なコンピューティングシステム200を示す図である。コンピューティングシステム200は、ナビゲーションソフトウェア100を含む。ナビゲーションソフトウェア100の様々なプログラムおよびデータ、例えばソフトウェアモジュール、ライブラリ、ツール、ユーザインタフェース要素、またはその他の構成要素などが、様々な実施形態によれば、任意の適当な方法でコンピューティングシステム200に常駐している。例えば、これらの構成要素は、1つまたは複数の記憶位置に常駐していることもある。ナビゲーションソフトウェア100の構成要素は、単一のソフトウェアアプリケーションの部分として設けられることも、複数の独立ソフトウェアアプリケーションとして設けられることもある。コンピューティングシステム200は、ナビゲーションソフトウェア100へのアクセスを提供する。いくつかの実施形態では、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、本明細書に記載または例示する1つまたは複数の方法の1つまたは複数のステップを実行する、あるいは本明細書に記載または例示する機能性を提供する。例えば、ナビゲーションソフトウェア100のプログラムは、1つまたは複数のプロセッサによって実行されたときに、コンピューティングシステム200に、医療画像データに対する自動クロッププロセスを実行させて、クロップ画像データを生成させ、次いでクロップ画像データ内で基準マーカオブジェクトを検出させ、基準マーカのモデルを使用して基準マーカオブジェクトを位置合わせさせる命令を含むことがある。
【0031】
本明細書で使用する「コンピューティングシステム」という用語は、これらに限定されるわけではないが、協働して電子データに対して演算を実行する、1つまたは複数のソフトウェアモジュール、1つまたは複数のハードウェアモジュール、1つまたは複数のファームウェアモジュール、あるいはそれらの組合せを含む。モジュールの物理的レイアウトは異なることもある。コンピューティングシステムは、ネットワークを介して結合された複数のコンピューティングデバイスを含む可能性がある。コンピューティングシステムは、内部モジュール(メモリおよびプロセッサなど)が協働して電子データに対して演算を実行する単一のコンピューティングデバイスを含むこともある。いくつかの実施形態では、単一のコンピューティングシステム200は、ナビゲーションソフトウェア100を含み、また、(A)論理制御層106の全てまたは一部分、および(B)物理制御層108の全てまたは一部分のうちの一方または両方を含む。一方、いくつかの実施形態では、論理制御層106および物理制御層108は、ナビゲーションソフトウェア100を有するコンピューティングシステム200から分離した別個の1つまたは複数のコンピューティングシステム上にある。
【0032】
いくつかの実施形態では、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、ロボット制御サーバ102およびMRIシステム104と対話する。コンピューティングシステム200は、任意の適当なプロトコル、標準、データ交換フォーマット、またはそれらの組合せを使用して、本明細書に記載するシステムのうちの1つまたは複数と通信し、それらとの間で情報を送受信することができる。コンピューティングシステム200は、OpenIGTLinkを用いて情報および要求を送信および受信することができる。コンピューティングシステム200は、Digital Imaging and Communications in Medicine(DICOM)のファイルおよびデータを受信、送信、および記憶することができる。例えば、コンピューティングシステム200は、MRIシステム104から医療画像を受信することができる。さらに、コンピューティングシステム200は、HTTP要求を送信し、HTTP応答を提供することができる。この応答は、ハイパーテキストマークアップ言語(HTML)ファイル、またはその他の適当なファイル、JAVASCRIPTなどの実行可能コード、フォーム要素、画像、またはその他のコンテンツを含む可能性がある。コンテンツの1つまたは複数の要素は、コンピューティングシステム200に格納されることもある。いくつかの実施形態では、コンピューティングシステム200は、Simple Object Access Protocol(SOAP)を使用して、メッセージを受信および送信する。
【0033】
コンピューティングシステム200は、1つまたは複数のプロセッサ201と、メモリ202と、記憶装置203と、入出力(I/O)インタフェース204と、通信インタフェース205と、バス206とを含む。コンピューティングシステム200は、任意の適当な物理的形態を取ることができる。例えば、限定されるわけではないが、コンピューティングシステム200は、埋込型コンピューティングシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(例えばコンピュータオンモジュール(COM)またはシステムオンモジュール(SOM))、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、PDA、タブレットコンピュータシステム、1つまたは複数のサーバ、ワークステーション、あるいはこれらのうちの2つ以上の組合せとすることができる。いくつかの実施形態では、コンピューティングシステム200は、ユニット型である。いくつかの実施形態では、コンピューティングシステム200は、分散型である。コンピューティングシステム200は、複数の位置にまたがっていることもある。コンピューティングシステム200は、複数の機械にまたがっていることもある。
【0034】
プロセッサ201は、コンピュータプログラムを構成する命令など、命令を実行するハードウェアを含む。プロセッサ201は、は、メモリ202、記憶装置203、内部レジスタ、または内部キャッシュから命令を取り出すことができる。プロセッサ201は、次いで、それらの命令を復号して、実行する。次いで、プロセッサ201は、1つまたは複数の結果を、メモリ202、記憶装置203、内部レジスタ、または内部キャッシュに書き込む。プロセッサ201は、オペレーティングシステム、プログラム、ユーザインタフェースおよびアプリケーションインタフェース、ならびにコンピューティングシステム200のその他の任意の機能を実行する処理機能を提供することができる。
【0035】
プロセッサ201は、中央処理装置(CPU)、1つもしくは複数の汎用マイクロプロセッサ、特定用途向けマイクロプロセッサ、および/または専用マイクロプロセッサ、あるいはこれらの処理構成要素の何らかの組合せを含む可能性がある。プロセッサ201は、1つまたは複数のグラフィックスプロセッサ、ビデオプロセッサ、オーディオプロセッサ、および/あるいは関連するチップセットを含む可能性がある。
【0036】
いくつかの実施形態では、メモリ202は、プロセッサ201が実行する命令、またはプロセッサ201が操作するデータを記憶する主メモリを含む。例えば、コンピューティングシステム200は、記憶装置203または別のソースからメモリ202に命令をロードすることもできる。命令の実行中または実行後に、プロセッサ201は、1つまたは複数の結果(中間結果であっても、最終結果であってもよい)をメモリ202に書き込むことができる。1つまたは複数のメモリバス(それぞれがアドレスバスおよびデータバスを含むことがある)が、プロセッサ201をメモリ202に結合することができる。1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ201とメモリ202との間に常駐して、プロセッサ201によって要求されたメモリ202へのアクセスを容易にすることができる。メモリ202は、1つまたは複数のメモリを含む可能性がある。メモリ202は、ランダム・アクセス・メモリ(RAM)であってもよい。
【0037】
記憶装置203は、データおよび/または命令を記憶する。例えば、限定されるわけではないが、記憶装置203は、ハードディスクドライブ、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス(USB)ドライブ、あるいはそれらのうちの2つ以上の組合せを含む可能性がある。いくつかの実施形態では、記憶装置203は、取外し可能媒体である。いくつかの実施形態では、記憶装置203は、固定型媒体である。いくつかの実施形態では、記憶装置203は、コンピューティングシステム200の内部にある。いくつかの実施形態では、記憶装置203は、コンピューティングシステム200の外部にある。いくつかの実施形態では、記憶装置203は、不揮発性ソリッドステートメモリである。いくつかの実施形態では、記憶装置203は、読取り専用メモリ(ROM)を含む。適切である場合には、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的変更可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つ以上の組合せである。記憶装置203は、1つまたは複数のメモリデバイスを含む可能性がある。記憶装置203は、アプリケーションデータ、プログラムモジュール、およびその他の情報を記憶することができる。記憶装置203に記憶された1つまたは複数のプログラムモジュールは、本明細書に記載する様々な動作およびプロセスを実行させるように構成される。いくつかの実施形態では、ナビゲーションソフトウェア100は、記憶装置203に常駐し、コンピューティングシステム200上で実行される。記憶装置203は、コンピューティングシステム200の様々な機能、グラフィカルユーザインタフェース(GUI)機能、および/またはプロセッサ機能を使用可能にする、その他のプログラムおよび/またはドライバをさらに記憶することもある。記憶装置203は、例えば画像データ、使用者データ、構成情報、グラフィカル要素またはテンプレートなどのGUI構成要素、あるいはコンピューティングシステム200が必要とするその他のデータなどのデータファイルを記憶することもできる。
【0038】
入出力インタフェース204は、コンピューティングシステム200と1つまたは複数の入出力デバイスとの間の通信のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。いくつかの実施形態では、コンピューティングシステム200は、1つまたは複数の入出力デバイスを含む。ここれらの入出力デバイスのうちの1つまたは複数は、人とコンピューティングシステム200の間の通信を可能にすることもある。例えば、限定されるわけではないが、入出力デバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、タッチパッド、スピーカ、スチールカメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオカメラ、別の適当な入出力デバイス、またはこれらのうちの2つ以上の組合せを含む可能性がある。入出力デバイスは、1つ以上のセンサを含む可能性がある。いくつかの実施形態では、入出力インタフェース204は、プロセッサ201がこれらの入出力デバイスのうちの1つまたは複数を駆動することを可能にする、1つまたは複数のデバイスまたはソフトウェアドライバを含む。入出力インタフェース204は、1つまたは複数の入出力インタフェースを含む可能性がある。
【0039】
いくつかの実施形態では、コンピューティングシステム200は、ディスプレイを含む。例えば、ディスプレイは、液晶ディスプレイ(LCD)とすることができる。いくつかの実施形態では、コンピューティングシステム200上で動作するナビゲーションソフトウェア100は、このディスプレイ上にGUIデータを提示する。いくつかの実施形態では、GUIデータは、医療画像データと関連付けて提示される。ディスプレイへの信号の出力に関しては、プロセッサ201は、ディスプレイに表示する画像をラスタ化し、ラスタ化した画像を入出力インタフェース204を介してディスプレイに転送する。次いで、ディスプレイが、GUIなどの画像を表示する。プロセッサ201は、さらに、MRIシステム104からの医療画像など、その他の種類の画像をディスプレイに表示させるように動作可能である。コンピューティングシステム200は、ディスプレイにおける使用者入力に基づいて入力信号を受信することができる。例えば、いくつかの実施形態では、ディスプレイは、ディスプレイ上の1つまたは複数のインタフェース要素に触れることに基づいて使用者の入力またはコマンドを受け取るように動作可能なタッチセンス要素を含む。インタフェース要素は、ディスプレイに提示されたグラフィカルオブジェクトであることもある。使用者は、指、スタイラス、またはその他のツールによってタッチセンスディスプレイに触れて、使用者入力を提供することができる。使用者がタッチセンスディスプレイ上の特定の領域に触れると、入出力インタフェース20を介して、プロセッサ201に、その領域の座標が通知される。プロセッサ201は、通知された座標、およびディスプレイ上の表示内容に基づいて使用者入力の内容を決定し、それらに基づいて処理を実行する。いくつかの実施形態では、ディスプレイ上に提示される情報と併せてマウスまたはタッチパッドを使用して、使用者の入力および選択を受け取る。例えば、カーソルを使用して、ディスプレイ上のGUIに提示される1つまたは複数のインタフェース要素を選択することができる。様々な実施形態によれば、タッチセンスディスプレイ、カーソル、または入力を提供するその他の適当な方法を使用して、ディスプレイ上のGUIに提示される医療画像上の1つまたは複数の位置を指定して、例えばターゲットと、針を患者の体内に挿入する計画挿入点とを示す。
【0040】
いくつかの実施形態では、コンピューティングシステム200は、キーボード/キーパッドを含む。使用者入力は、キーボード/キーパッドを介して提供することもできる。使用者がキーボード/キーパッドのハードキーを押圧すると、入出力インタフェース204を介して、プロセッサ201に、使用者入力を示す情報が通知される。プロセッサ201は、この通知に基づいて処理を実行する。キーボード/キーパッドのハードキーおよび/またはボタンは、任意の適当な構成で配置することができる。さらに、入力構造は、個々の実装態様の要件に応じて、ボタン、キー、スイッチ、制御パッド、またはその他の適当な構造を含む可能性がある。
【0041】
通信インタフェース205は、コンピューティングシステム200と1つまたは複数の他のコンピューティングシステムあるいは1つまたは複数のネットワークとの間の通信(例えばパケット通信など)のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。例えば、限定されるわけではないが、通信インタフェース205は、イーサネットまたはその他の有線ネットワークと通信するためのネットワークインタフェースカード(NIC)またはネットワーク制御装置、あるいはWi−Fiネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)またはワイヤレスアダプタを含む可能性がある。本開示では、そのために任意の適当なネットワークおよび任意の適当な通信インタフェース205を企図している。例えば、限定されるわけではないが、コンピューティングシステム200は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つもしくは複数の部分、あるいはこれらのうちの2つ以上の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線であっても、ワイヤレスであってもよい。例えば、コンピューティングシステム200は、ワイヤレスPAN(WPAN)(例えばBluetooth WPANまたは超広帯域(UWB)ネットワーク)、Wi−Fiネットワーク、WI−MAXネットワーク、携帯電話網(例えばGlobal System for Mobile Communications(GSM)ネットワーク)、またはその他の適当なワイヤレスネットワーク、あるいはこれらのうちの2つ以上の組合せと通信することができる。コンピューティングシステム200は、適当である場合には、これらのネットワークのうちの任意のネットワーク用の任意の適当な通信インタフェース205を含む可能性がある。通信インタフェース205は、1つまたは複数の通信インタフェース205を含む可能性がある。
【0042】
バス206は、コンピューティングシステム200の様々な構成要素を相互接続することにより、データの伝送、および様々なプロセスの実行を可能にする。バス206は、様々なバスアーキテクチャのうちのいずれかを使用する、メモリバスまたはメモリ制御装置、周辺バス、およびローカルバルを含む、1つまたは複数の種類のバス構造を含む可能性がある。
【0043】
III.基準フレーム
基準フレームは、複数の基準マーカを含む。これらのマーカは、全て球形マーカにするなど、全て同じ形状およびサイズにしてもよいし、あるいは基準フレームが様々なサイズおよび/または形状を有する基準マーカを含んでいてもよい。いくつかの実施形態では、基準フレーム内の基準マーカの配置は、リング状になっている。いくつかの実施形態では、リング状に配置された基準フレームは、非対称に配置された基準マーカを含む。いくつかの実施形態、全ての基準マーカが、同じ平面内にある。基準フレームには、任意の適当な数の基準マーカが存在することができる。例えば、基準フレーム内に2個から16個またはそれ以上の基準マーカがある可能性がある。様々な実施形態では、特に様々な形状の基準マーカを使用する実施形態では、複数の球形基準マーカを使用する。いくつかの実施形態によれば、基準フレームは、少なくとも3つの基準マーカを含む。
【0044】
いくつかの実施形態では、医療デバイスは、リングの周り、またはデバイスの各縁部において、等間隔または無作為な間隔で離間した複数のディボット(divot)または穴を有することがある。この場合には、デバイスの位置合わせが必要なときに、基準マーカをディボットまたは穴の中に配置する(穴の場合には、基準マーカは、穴に嵌合するピン状突起を有することがあるが、基準マーカを医療デバイスに取外し可能に固定するその他の方式も考えられる)。作成される基準マーカの数は、特定の用途で必要とされる位置合わせの質に基づいて規定することができる。
図5は、リング形を有する、非対称に配置された基準マーカを有する基準フレームの例示的な実装態様のMR画像である。このフレームは、円形テンプレートに取り付けられた10個の同一の円筒形液体容器からなり、テンプレートは、直径110mmの円に沿って6°ごとに60個の穴を有していて、様々なマーカの構成を可能にしている。各液体容器は、3D印刷で作成され、ガドリニウムジエチレントリアミン五酢酸(Gd−DTPA)溶液で充填した直径10mmの球形空洞を有する。この溶液は、T1強調MR画像状で明るい球形オブジェクトとして見えるので、充填された容器がマーカとして働く。
図5に示すように、フレームのMR画像は、円に平行な平面に沿っている。それぞれのマーカの中心点は、本明細書に記載するマーカ検出アルゴリズムによって検出することができる。
【0045】
いくつかの実施形態では、基準フレームは、CTスキャンに関連して使用される基準マーカを含む。CTスキャンに使用される基準マーカは、CTスキャンで生成される医療画像における効果的な基準の検出を可能にする任意の適当な基準マーカとすることができる。例えば、限定されるわけではないが、CTスキャンで使用される基準マーカは、硫酸バリウム、三酸化ビスマス、次炭酸ビスマス、塩化酸化ビスマス、またはタングステンがドープされた高分子とすることができる。本明細書に記載して例示する基準フレームの構成は、CTスキャンに使用される基準マーカに利用することができる。例えば、いくつかの実施形態は、CTスキャンに関連して使用される基準マーカを有する基準フレームを含み、基準フレームは、基準フレーム内に少なくとも3つの基準マーカがある、基準マーカが球形を有する、基準マーカが実質的に平面状の配置になっている、基準マーカがリング状の配置になっている、および基準マーカが非対称な配置になっているという特徴のうちの1つまたは複数を含む。
【0046】
球形基準マーカ(Spherical fiducial marker)
いくつかの実施形態では、基準マーカは、球形基準マーカである。いくつかの実施形態では、検出アルゴリズムは、特定の直径d
Mを有する個々の基準マーカの球形と、それらの基準マーカの円形構成(例えばリング状)とに依拠する。これを、
図6に例示する。
図6では、例示的な基準フレームは、実質的に平面状に配置された3つの球形基準マーカを含む。さらに、
図6の基準マーカは、リング状にも配置されており、この基準マーカの配置は、非対称である。球形画像データは、画像処理によって容易に検出することができる。また、球形基準マーカは、容易に製造することができる。例示的な球形基準マーカは、Gd−DTPA溶液で充填した3D印刷した球形液体容器である。
【0047】
球形マーカは、既定の直径D
Fを有する2D円内に位置合わせされているが、構成が非対称になるように不規則な間隔になっている。つまり、基準フレームは、中心の周りに回転し、かつ/または円をひっくり返した後では、見た目が変化する。基準座標フレームの原点が円の中心に規定され、そのz軸が円に対して直交するものとすると、i番目のマーカの座標は、以下のように定義することができる。
【数1】
ここで、N
Mは、球形マーカの数である。
【0048】
非対称要件を達成する簡単な方法は、以下の条件を満たすことである。
δ
i≠δ
j(0≦i<j≦N
M)
ここで、δiは、円の中心の周りのマークiとi+1の間の角度である。
δ
i=θ
i+1−θ
i (1<i<N
M−1)
δ
N=2π−θ
N
【0049】
いくつかの実施形態の基準マーカは球形であるが、この用語は、完全な球形を意味するものではない。ただし、球形の誤差の量は、基準マーカが球形を有するものと規定してオブジェクトの強調を適用する本明細書の以下で述べるアルゴリズムの能力を損なうほど大きくはならないものとする。
【0050】
IV.クロッププロセス
いくつかの実施形態では、医療処置のための処置前計画に関連する情報を使用して、自動画像クロッププロセスを実行する。
図7は、ナビゲーションソフトウェア100を実行するコンピューティングシステム200における例示的な動作の流れを示す図である。いくつかの実施形態では、
図7に示す動作は、処置前計画に関連する情報に基づいて実行される。
【0051】
ステップS701で、コンピューティングシステム200は、対象の画像データを取得する。例えば、画像データは、患者の解剖学的構造の医療画像データであることもある。いくつかの実施形態では、画像データは、MRIデータを含む。例えば、患者がMRIスキャナのガントリ内にいる間に、MRIスキャナが患者の体の少なくとも一部分をスキャンする。このスキャンに基づいて、MRIスキャナが、患者の解剖学的構造の画像を生成し、MRIシステム104が、その患者の解剖学的構造の3D画像データをコンピューティングシステム200に送信する。いくつかの実施形態では、画像データは、CTデータを含む。例えば、患者の体の一部分のCTスキャンを行い、CTスキャンに基づいて画像データを生成することもできる。画像データを生成した後で、撮像システムは、画像データをコンピューティングシステム200に送信する。
【0052】
いくつかの実施形態では、コンピューティングシステム200は、画像データを生成した撮像システム以外のソースから画像データをファイルとして取得する。例えば、コンピューティングシステム200は、コンピューティングシステム200に接続されたUSBフラッシュドライブまたはコンピューティングシステム200がアクセス可能なその他の任意の適当な記憶媒体などの記憶デバイスから、ファイルを読み取る、または取り出すこともできる。いくつかの実施形態では、コンピューティングシステム200は、LAN、WAN、その他の適当なネットワーク、またはネットワークの組合せなどのネットワークを介して画像データファイルを伝送するコンピューティングシステムから画像データを取得する。
【0053】
コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、したがって、コンピューティングシステム200において、例えば画像データを生成した撮像システムから、記憶媒体から、またはネットワークを介して別のコンピューティングシステムから、画像データを取得する。
【0054】
ステップS702で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、ステップS701で取得した画像データを、ディスプレイ上のGUIに提示する。いくつかの実施形態では、コンピューティングシステム200は、ディスプレイを含み、画像データは、コンピューティングシステム200のディスプレイ上のGUIに提示される。いくつかの実施形態では、このディスプレイが出力デバイスであり、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、入出力インタフェース204を介してディスプレイに画像データを出力する。いくつかの実施形態では、ステップS702は、GUIに医療画像を提示することを含み、この医療画像は、患者の解剖学的構造の3D表現を含む。GUIに提示される医療画像は、医療処置の処置前計画のための計画画像として使用することができる。例えば、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、医師などの使用者がGUIを介して入力を提供してGUIに提示される医療画像上で1つまたは複数の位置を指定することを可能にするインタフェース要素および特徴を含むGUIを提供する。いくつかの実施形態では、GUIは、任意の平面に沿って計画画像の一部分を表示し、内科医がターゲットおよび皮膚侵入点を指定できるようにする。したがって、内科医は、計画画像上でターゲットおよび皮膚侵入点を指定することによって、針配置の軌道を規定することができる。
【0055】
ステップS703で、コンピューティングシステム200は、医療画像上での挿入点およびターゲットの指定を示す1つまたは複数の入力を受け取る。いくつかの実施形態では、ステップS703は、医療画像がディスプレイ上のGUIに提示されている間に入力を受け取ることを含む。入力は、任意の適当な方法で受け取ることができる。例えば、限定されるわけではないが、使用者は、指、スタイラス、またはその他のツールによってタッチセンスディスプレイに触れること、マウスまたはタッチパッドによってカーソルを制御すること、キー、ボタン、またはその他の入力構造を押圧すること、GUIに含まれる1つまたは複数のインタフェース要素を操作または選択すること、入力を提供する別の技術、またはこれらのうちの2つ以上の組合せのうちの1つまたは複数によって、医療画像上の挿入点およびターゲットを指定する1つまたは複数の入力を提供することができる。計画挿入点は、針が患者の体内に挿入される皮膚侵入点である。ターゲットは、処置すべき位置、スポット、またはエリア、および/あるいはアクセスすべき解剖学的構造である。針配置の軌道は、計画挿入点とターゲットとを結ぶことによって規定される。
【0056】
ステップS704で、コンピューティングシステム上で実行されるナビゲーションソフトウェア100は、規定した軌道をロボット制御サーバ102に送信する。いくつかの実施形態では、ステップS704は、ターゲットおよび計画挿入点を示す情報を送信することを含む。例えば、いくつかの実施形態によれば、ロボット制御サーバ102がターゲットおよび挿入点の情報を使用して、ロボット制御サーバ102において軌道を決定する。いくつかの実施形態では、ステップS704は、ナビゲーションソフトウェア100が計画挿入点とターゲットを結ぶことによって針配置の軌道を決定することを含む。次いで、ナビゲーションソフトウェア100は、規定した軌道をロボット制御サーバ102に転送する。
【0057】
ステップS705で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、ディスプレイ上のGUIに、規定した軌道に沿った平面による再スライス3D画像を提示することができる。例えば、軌道が規定されたら、ナビゲーションソフトウェア100は、軌道に沿った平面によって3D画像を再スライスして、内科医が経路の周りで任意の重要な構造および障害物を発見できるようにすることができる。例えば、
図3は、ナビゲーションソフトウェア100の例示的なグラフィカルユーザインタフェースに提示される医療画像を示している。この画像は、患者の解剖学的構造の3D表現と、計画軌道およびターゲットを識別する情報とを含み、この画像は、規定された軌道に沿った平面でスライスされている。
【0058】
次いで、医療デバイスを、患者の手術部位の上に配置または固定することができる。
図8は、いくつかの実施形態による基準マーカを含む例示的な医療デバイス800を示す図である。
図8は、8個の基準マーカ801が単一の平面上に円形レイアウトで非対称に配置された、位置合わせする対象の医療デバイス800を示している。基準マーカを単一の平面上に配置することにより、位置合わせのためにクロップするフットプリントが最小限になる。さらに、基準マーカ801の非対称レイアウトにより、医療画像における医療デバイス800の真の配向を決定できることが保証される。基準マーカ801は、上述の基準マーカとすることができ、基準フレームは、本明細書に記載する方法で配置することができる。医療デバイス800の中心に位置するのは、医療デバイス800が位置決めされた後で針、プローブ、またはその他のデバイスを挿入する物理的針挿入点802である。次に、医療デバイス800および患者の医療画像データ1005を取得する。この画像データ1005は、例えば、MRIまたはCTデータである。基準マーカ801は、医療画像では基準マーカオブジェクトとして見えることがある。いくつかの実施形態では、医療画像は、医療デバイス800の位置合わせを実行するためにコンピューティングシステム200に送信される較正画像とすることもできる。
【0059】
図9は、ナビゲーションソフトウェア100を実行するコンピューティングシステム200における例示的な動作の流れを示す図である。いくつかの実施形態では、
図9に関連して説明する動作は、較正画像をMRIシステム104から取得したときに実行される。
図9の動作について、
図10(A)から
図10(C)を参照して説明する。
【0060】
ステップS901で、コンピューティングシステム200は、対象および医療デバイスの画像データを取得する。いくつかの実施形態では、ステップS901は、対象および医療デバイスの画像データを取得することを含み、この医療デバイスは、基準マーカを含み、画像データは、3次元画像データを含む。例えば、画像データは、
図7の患者の解剖学的構造および医療デバイス800の医療画像データであることもある。いくつかの実施形態では、画像データは、MRIデータを含む。例えば、患者がMRIスキャナのガントリ内にいるときに、MRIスキャナが、患者の体の少なくとも一部分を、医療デバイス800がその上に位置している間にスキャンする。このスキャンに基づいて、MRIスキャナが、患者の解剖学的構造および医療デバイス800の画像を生成し、MRIシステム104が、その患者の解剖学的構造および医療デバイス800の3D画像データをコンピューティングシステム200に送信する。いくつかの実施形態では、画像データは、CTデータを含む。例えば、患者の体の一部分および医療デバイス800のCTスキャンを行い、CTスキャンに基づいて画像データを生成することもできる。画像データを生成した後で、撮像システムは、画像データをコンピューティングシステム200に送信する。
【0061】
いくつかの実施形態では、コンピューティングシステム200は、画像データを生成した撮像システム以外のソースから画像データをファイルとして取得する。例えば、コンピューティングシステム200は、コンピューティングシステム200に接続されたUSBフラッシュドライブまたはコンピューティングシステム200がアクセス可能なその他の任意の適当な記憶媒体などの記憶デバイスから、ファイルを読み取る、または取り出すこともできる。いくつかの実施形態では、コンピューティングシステム200は、LAN、WAN、その他の適当なネットワーク、またはネットワークの組合せなどのネットワークを介して画像データファイルを伝送するコンピューティングシステムから画像データを取得する。
【0062】
コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、したがって、コンピューティングシステム200において、例えば画像データを生成した撮像システムから、記憶媒体から、またはネットワークを介して別のコンピューティングシステムから、患者および医療デバイス800の画像データを取得する。
【0063】
ステップS902で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、計画挿入点に基づいて3次元形状を表す情報を生成する。ステップS903で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、ステップS902で生成した3次元形状に基づいて、ステップS901で取得した画像データにクロッププロセスを適用する。ステップS902およびS903について、
図10(A)から
図10(C)を参照して説明する。
【0064】
図10(A)は、自動クロップが実行される例示的な医療画像データセット1005を示す図である。医療画像データセット1005は、2次元で示してあるが、このデータセットは、標準的な3D医療撮像データセットであり、自動クロップは3次元で行われる。患者ベッド1006による医療画像内の金属アーチファクトが示されている。これらのアーチファクトは、自動位置合わせを実行する前に画像を事前クロップしないときには、基準マーカとして誤認されることが多い。処置前計画中に、使用者は、標準的な臨床処置前計画ワークフローを使用して、計画針挿入点1001を選択する。自動画像クロップは、3D画像セット中に球形エリア1002を構築することによって行われる。球形エリア1002のサイズは、位置合わせする対象の医療デバイス800の最大サイズに、内科医による患者上の医療デバイス800の物理的配置と計画挿入点1001の間の予想最大誤差を足した値に設定する。(2次元だけでなく)3次元でのクロップであることが再度認識され分かりやすいように、球形エリア1008の3次元表現を、
図10(B)に示す。画像クロップキューブ1009の3次元図に示すように、球形エリア1002を完全に包囲する画像クロップキューブ1003を計算する。次いで、この画像クロップキューブ1003を使用して、画像データセットをクロップして、クロップ画像1007を生じる(
図10(C))。次いで、基準マーカオブジェクト1004がないかどうか、クロップ画像データセット1007を探索する。いくつかの実施形態では、クロップ画像データセット1007は、少なくとも2つの基準マーカを含む。
【0065】
本明細書に記載する様々な実施形態によれば、誤差情報は、所定値である情報であることもある。例えば、本明細書に記載する様々な実施形態で使用される誤差の量は、自動位置合わせの前に決定され、ナビゲーションソフトウェア100に事前にプログラムされる値であることもある。いくつかの実施形態では、誤差は、医療デバイス800のサイズの百分率として規定される。任意の適当な方法を利用して、含める誤差の量を決定することができる。
【0066】
ステップS904で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、クロップ画像データセット1007内で基準マーカオブジェクト1004を検出する。画像データ内での基準マーカオブジェクトの検出は、任意の適当な方法で実行することができる。基準マーカオブジェクトの検出については、以下の項でさらに説明する。
【0067】
ステップS905で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、ステップS904で検出した基準マーカオブジェクト1004を位置合わせする。基準マーカオブジェクトの位置合わせは、任意の適当な方法で実行することができる。基準マーカオブジェクトの位置合わせについては、以下の項でさらに説明する。
【0068】
図11は、ナビゲーションソフトウェア100を実行するコンピューティングシステム200における例示的な動作の流れを示す図である。いくつかの実施形態では、
図11に関連して説明する動作は、較正画像をMRIシステム104から取得したときに実行される。
図11の動作について、
図12(A)から
図12(C)を参照して説明する。
【0069】
ステップS1101で、上述のステップS901に対応する方法で、動作が実行される。ステップS1102で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、計画挿入点に基づいて3次元形状を表す情報を生成する。ここで、3次元形状の配向は、計画針軌道に沿っている。ステップS1103で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、ステップS1102で生成した3次元形状に基づいて、ステップS1101で取得した画像データにクロッププロセスを適用する。ステップS1102およびS1103について、
図12(A)から
図12(C)を参照して説明する。
【0070】
図12(A)は、自動クロップが実行される例示的な医療画像データセット1005を示す図である。処置前計画中に、使用者は、標準的な臨床処置前計画ワークフローを使用して、計画針挿入点1001を選択する。処置前計画中に、使用者は、計画針ターゲット1203を選択する。次いで、計画針挿入点1001と計画針ターゲット1203とを結ぶ計画針軌道1202が、自動的に規定される。画像クロップ直方体キューブ1201を構築し、医療画像データセット1005をクロップするために計画針軌道1202に沿って配向させる。(2次元だけでなく)3次元でのクロップであることが再度認識され分かりやすいように、画像クロップ直方体キューブの3次元表現1208を示す(
図12(B))。画像クロップ直方体キューブの長さ1207、および画像クロップ直方体キューブの奥行き1205は、それぞれ、患者の上に配置された位置合わせする対象の医療デバイス800の最大長さおよび最大奥行きに、ある程度の誤差幅を足した値に設定される。誤差幅は、内科医による患者上での医療デバイス800の物理的配置と計画挿入点1001との間の予想最大固有ベクトル距離に設定される。画像クロップ直方体キューブの高さ1206は、患者の上に配置された医療デバイス800の基平面から医療デバイス800内の基準マーカ801までの最大距離に、ある程度の誤差幅を足した値に設定される。誤差幅は、患者の呼吸による医療デバイス800の予想最大変位、または患者上に配置された医療デバイス800の予想最大傾斜のうち、いずれか大きい方に設定される。
【0071】
画像クロップ直方体キューブ1201を用いて元の医療画像データセット1005をクロップした後、より小さなクロップ画像データセット1204が得られる(
図12(C))。次いで、基準マーカオブジェクト1004がないかどうか、このクロップ画像データセットを探索する。
図12(C)は、基準探索エリアを制限する1つの方法である画像の実際のクロップを示しているが、代わりに、実際には画像をクロップせずに、画像クロップ直方体キューブ1201を単純に基準探索ボックスとして使用することもできる。さらに詳細には、基準がないかどうか、例示的な医療画像データセット1005の全体を探索してもよく、その場合には、画像クロップ直方体キューブ1201内で発見された基準のみが、有効な基準とみなされる。ただし、実際に画像をクロップすると、探索可能エリアが制限されるので、位置合わせアルゴリズムが高速化する。
【0072】
ステップS1104で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、クロップ画像データ1204内で基準マーカオブジェクト1004を検出する。画像データ内での基準マーカオブジェクトの検出は、任意の適当な方法で実行することができる。基準マーカオブジェクトの検出については、以下の項でさらに説明する。
【0073】
ステップS1105で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、ステップS1104で検出した基準マーカオブジェクト1004を位置合わせする。基準マーカオブジェクトの位置合わせは、任意の適当な方法で実行することができる。基準マーカオブジェクトの位置合わせについては、以下の項でさらに説明する。
【0074】
図13は、ナビゲーションソフトウェア100を実行するコンピューティングシステム200における例示的な動作の流れを示す図である。いくつかの実施形態では、
図13に関連して説明する動作は、例えば
図11によるプロセスが実行された後で実行される。
図13の動作について、
図14(A)から
図14(C)を参照して説明する。
【0075】
図14(A)は、自動クロップが実行される医療画像データセット1005を示す図である。処置前計画中に、使用者は、標準的な臨床処置前計画ワークフローを使用して、計画針挿入点1001を選択する。処置前計画中に、使用者は、標準的な臨床処置前計画ワークフローを使用して、計画針ターゲット1203を選択する。次いで、計画針挿入点1001と計画針ターゲット1203とを結ぶ計画針軌道1202が、自動的に規定される。医療画像データセット1005を反復的にクロップするために、計画針軌道1202に沿って、3つの反復、すなわち画像クロップ直方体キューブ反復A1401、画像クロップ直方体キューブ反復B1402、および画像クロップ直方体キューブ反復C1403を構築する(
図14(B))。画像クロップ直方体キューブA1401、B1402、およびC1403は、計画針挿入点1001を中心としている(
図14(C))。(2次元だけでなく)3次元でのクロップであることが再度認識され分かりやすいように、画像クロップ直方体キューブ反復Aの3次元表現1407、画像クロップ直方体キューブ反復Bの3次元表現1408、および画像クロップ直方体キューブ反復Cの3次元表現1409を示す。反復プロセスは、最適な位置合わせ結果が得られるまでクロップ画像エリアを反復的に拡大することによってクロップ画像エリアを狭くすることを意図したものである(ステップS1302、S1303、S1304)。反復プロセスにより、全ての基準マーカを含みながら最も小さいクロップエリアを識別することができる。ステップS1302における位置合わせ結果が所定の基準を満たすかどうかの判定(S1303のYesまたはNo)は、任意の適当な基準に基づいていてよい。例えば、その基準は、発見された基準マーカの所定の量または割合であってもよい。基準を満たす場合には、位置合わせは、ステップS1304で終了する。基準が満たされない場合には、反復プロセスは継続する。いくつかの実施形態によれば、反復プロセスは、最適な位置合わせ結果が得られるまでクロップ画像エリアを反復的に拡大ではなく縮小することによって行われる。例えば、計画挿入点1001を中心としたクロップ画像エリアの漸次縮小を行うことができる。クロップ画像エリアは、反復のたびに、所定のサイズまで、または所定の割合で、収縮することができる。このプロセスは、所定の結果が得られるまで、例えば発見された基準マーカが所定の量または割合になるまで、継続することができる。
【0076】
反復Aに関しては、画像クロップ直方体ボックス反復A1407の長さ1410および奥行き1411は、内科医による患者上の医療デバイス800の物理的配置と計画挿入点1001の間の予想最小誤差に等しい。画像クロップ直方体ボックス反復A1407の高さ1412は、患者の呼吸による医療デバイス800の予想最小変位、または患者上に配置された医療デバイス800の予想最小傾斜のうちの大きい方に設定される。その結果得られる3次元クロップ画像データセット反復Aは、1404で与えられる(
図14(C))。次いで、基準マーカオブジェクト1004を探索することによって、このデータセットに対して自動位置合わせを実行する(ステップS1301)。
【0077】
反復Bに関しては、画像クロップ直方体ボックス反復B1408の長さ1413および奥行き1414は、画像クロップ直方体ボックス反復A1407の長さ1410および奥行き1411に小さな誤差幅を足した値に等しい。画像クロップ直方体ボックス反復B1408の高さ1415は、画像クロップ直方体ボックス反復A1407の高さ1412に大きな誤差幅を足した値に設定される(ステップS1305)。その結果得られる3次元クロップ画像データセット反復Bは、1405で与えられる(ステップS1306)。次いで、基準マーカオブジェクト1004を探索することによって、このデータセットに対して自動位置合わせを実行する(ステップS1307)。
【0078】
反復Cに関しては、画像クロップ直方体ボックス反復C1409の長さ1416および奥行き1417は、画像クロップ直方体ボックス反復A1407の長さ1410および奥行き1411に大きな誤差幅を足した値に等しい。画像クロップ直方体ボックス反復C1409の高さ1418は、画像クロップ直方体ボックス反復B1408の高さ1415に設定される。その結果得られる3次元クロップ画像データセット反復Cは、1406で与えられる。次いで、基準マーカオブジェクト1004を探索することによって、このデータセットに対して自動位置合わせを実行する。
【0079】
第4のクロップ(反復D)が必要な場合には、画像クロップ直方体ボックス反復Dの長さ、奥行き、および高さは、反復Bおよび反復Cで得られた位置合わせ結果に基づいて設定される。例えば、反復Bで8個の基準のうち6個が発見され、反復Cでも8個の基準のうち6個しか発見されなかった場合には、残りの2つの基準を見つけるために、画像クロップ直方体ボックス反復Dの高さをさらに拡大する。次いで、基準マーカオブジェクト1004を探索することによって、このデータセットに対して自動位置合わせを実行する。
【0080】
図15は、ナビゲーションソフトウェア100を実行するコンピューティングシステム200における例示的な動作の流れを示す図である。いくつかの実施形態では、
図15に関連して説明する動作は、較正画像をMRIシステム104から取得したときに実行される。
図15の動作について、
図16を参照して説明する。
【0081】
ステップS1501で、上述のステップS901に対応する方法で、動作が実行される。ステップS1502で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、計画挿入点を中心とするベクトルに沿って画素値の大きさ(pixel intensity)をサンプリングすることによって、皮膚平面を探索する。皮膚平面が見つからない場合(ステップS1503でnoの場合)には、計画針軌道に沿って挿入点を移動させる(ステップS1504)。皮膚平面が見つかった場合(ステップS1503でyesの場合)には、プロセスは、ステップS1505に進み、ナビゲーションソフトウェア100が、計画挿入点に基づいて3次元形状を表す情報を生成する。ここで、3次元形状の配向は、皮膚平面に基づいている。ステップS1506で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、ステップS1505で生成した3次元形状に基づいて、ステップS1501で取得した画像データにクロッププロセスを適用する。ステップS1502からS1506について、
図16(A)から
図16(C)を参照して説明する。
【0082】
図16(A)は、自動クロップが実行される医療画像データセット1005を示す図である。処置前計画中に、使用者は、標準的な臨床処置前計画ワークフローを使用して、計画針挿入点1001を選択する。処置前計画中に、使用者は、標準的な臨床処置前計画ワークフローをしようして、計画針ターゲット1203を選択する。次いで、計画針挿入点1001と計画針ターゲット1203とを結ぶ計画針軌道1202が、自動的に規定される。計画針挿入点1001を中心とするベクトルに沿って、画素値の大きさのサンプリングを実行する。皮膚平面1602を発見するために、画素値の大きさのサンプリングベクトルを計画針挿入点1001の周りで回転させる。皮膚平面サンプリングベクトルA1603および皮膚平面サンプリングベクトルB1604などの各配向で、そのベクトルに沿った各画素の強度をサンプリングする。サンプリングした全ての画素値の大きさが空気のハウンズフィールド単位(HU)に近いとき、すなわち値−1000HUに近いときに、皮膚平面1602を決定する。計画針挿入点1001が体の直近の空気中ではなく体の中に選択される可能性もある。この場合には、強度サンプリングベクトルを回転させても空気のハウンズフィールド単位に近い強度が得られないので、皮膚平面を発見することができない。皮膚平面1602が発見されない場合には、このアルゴリズムは、計画挿入点を計画針軌道1202に沿って計画針ターゲット1203から遠ざけるように移動させ、皮膚平面1602を発見するために、新たな計画針挿入点1001を中心とする回転するベクトルに沿って画素値の大きさを再度サンプリングする。このプロセスは、皮膚平面が識別されるまで繰り返される。
【0083】
画像クロップ直方体キューブ1601は、医療画像データセット1005をクロップするために発見した皮膚平面1602に合わせて配向して構築する。(2次元だけでなく)3次元でのクロップであることが再度認識され分かりやすいように、画像クロップ直方体キューブの3次元表現1609を
図16(B)に示す。画像クロップ直方体キューブ1609の長さ1608、および画像クロップ直方体キューブ1609の奥行き1606は、それぞれ、患者の上に配置された位置合わせする対象の医療デバイス800の最大長さおよび最大奥行きに、ある程度の誤差幅を足した値に設定される。誤差幅は、内科医による患者上での医療デバイス800の物理的配置と計画挿入点1001との間の予想最大誤差に設定される。画像クロップ直方体キューブ1609の高さ1607は、患者の上に配置された医療デバイス800の平面からの医療デバイス800内の基準マーカ801の最大高さに、ある程度の誤差幅を足した値に設定される。誤差幅は、患者の呼吸による医療デバイス800の予想最大変位、または患者上に配置された医療デバイス800の予想最大傾斜のうち、いずれか大きい方に設定される。画像クロップ直方体キューブ1601を用いて元の医療画像データセット1005をクロップした後、より小さなクロップ画像データセット1605が得られる(
図16(C))。次いで、基準マーカオブジェクト1004がないかどうか、このクロップ画像データセットを探索する。
【0084】
ステップS1507で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、クロップ画像データ1605内で基準マーカオブジェクト1004を検出する。画像データ内での基準マーカオブジェクトの検出は、任意の適当な方法で実行することができる。基準マーカオブジェクトの検出については、以下の項でさらに説明する。
【0085】
ステップS1508で、コンピューティングシステム200上で実行されるナビゲーションソフトウェア100は、ステップS1507で検出した基準マーカオブジェクトを位置合わせする。基準マーカオブジェクトの位置合わせは、任意の適当な方法で実行することができる。基準マーカオブジェクトの位置合わせについては、以下の項でさらに説明する。
【0086】
図17は、ナビゲーションソフトウェア100を実行するコンピューティングシステム200における例示的な動作の流れを示す図である。いくつかの実施形態では、
図17に関連して説明する動作は、較正画像をMRIシステム104から取得した後で実行される。
図17は、
図13の方法と
図15の方法の組合せを含み、これについて、
図18(A)から
図18(C)を参照して説明する。
【0087】
図18(A)は、自動クロップが実行される医療画像データセット1005(ステップS1701で取得される)を示す図である。処置前計画中に、使用者は、標準的な臨床処置前計画ワークフローを使用して、計画針挿入点1001を選択する。処置前計画中に、使用者は、標準的な臨床処置前計画ワークフローを使用して、計画針ターゲット1203を選択する。次いで、計画針挿入点1001と計画針ターゲット1203とを結ぶ計画針軌道1202が、自動的に規定される。計画針挿入点1001を中心とするベクトルに沿って、画素値の大きさのサンプリングを実行する。皮膚平面1602を発見するために、画素値の大きさのサンプリングベクトルを計画針挿入点1001の周りで回転させる(S1702)。皮膚平面サンプリングベクトルA1603および皮膚平面サンプリングベクトルB1604などの各配向で、そのベクトルに沿った各画素の強度をサンプリングする。
図16(A)から
図16(C)を参照して述べたように、サンプリングした全ての画素値の大きさが空気のハウンズフィールド単位に近いときに、皮膚平面1602を決定する。計画針挿入点1001が体の直近の空気中ではなく体の中に選択される可能性もある。この場合には、強度サンプリングベクトルを回転させても空気のハウンズフィールド単位に近い強度が得られないので、皮膚平面を発見することができない(ステップS1703でno)。皮膚平面1602が発見されない場合には、このアルゴリズムは、計画挿入点を計画針軌道1202に沿って計画針ターゲット1203から遠ざけるように移動させ、新たな計画針挿入点1001を中心とする回転するベクトルに沿って画素値の大きさを再度サンプリングして、皮膚平面1602を発見することになる(S1704)。このプロセスは、皮膚平面が識別される(ステップS1703でyes)まで繰り返される。
【0088】
医療画像データセット1005を反復的にクロップするために、皮膚平面1602に沿って、3つの反復、すなわち画像クロップ直方体キューブ反復A1802、画像クロップ直方体キューブ反復B1801、および画像クロップ直方体キューブ反復C1803を構築する。皮膚平面1602が識別されているので、クロップボックス1816の底縁部は、皮膚平面1602と同じになるように設定することができる。ただし、位置合わせは、まだ行われていないので、皮膚平面1602は、医療デバイス800の平面の推定に過ぎず、実際には、医療デバイス800が患者の湾曲によって傾斜している可能性がある。したがって、クロップボックス1816の底縁部は、皮膚平面1602と物理的な医療デバイス800の平面との間の任意の誤差を補正するために、挿入点1001の下方の既定距離に設定されるものとする。基準マーカオブジェクト1004は患者の体外にあることが分かっているので、クロップの反復では、患者の解剖学的構造内部に向かってではなく、患者から離れるようにのみ、クロップボックスの高さ(例えば高さ508、高さ511、高さ514)を拡大するものとする。(2次元だけでなく)3次元でのクロップであることが再度認識され分かりやすいように、画像クロップ直方体キューブ反復Aの3次元表現1817、画像クロップ直方体キューブ反復Bの3次元表現1818、および画像クロップ直方体キューブ反復Cの3次元表現1819を、
図18(B)に示す(ステップS1705)。反復プロセスは、最適な位置合わせ結果が得られるまでクロップ画像エリアを反復的に拡大することによってクロップ画像エリアを狭くすることを意図したものである(ステップS1706、S1709、S1710、S1811)。反復プロセスにより、全ての基準マーカを含みながら最も小さいクロップエリアを識別することができる(ステップS1710、
図18(C))。
【0089】
反復Aに関しては、画像クロップ直方体キューブ反復A1817の長さ1807および奥行き1809は、内科医による患者上の医療デバイス800の物理的配置と計画挿入点1001の間の予想最小誤差に等しい。画像クロップ直方体キューブ反復A1817の高さ1808は、患者の呼吸によるデバイスの予想最小変位、または患者上に配置された医療デバイス800の予想最小傾斜のうちの大きい方に設定される。その結果得られる3次元クロップ画像データセット反復Aは、1804で与えられる(
図18(C))。次いで、基準マーカオブジェクト1004を探索することによって、このデータセットに対して自動位置合わせを実行する(ステップS1707およびS1708)。
【0090】
反復Bに関しては、画像クロップ直方体キューブ反復B1818の長さ1810および奥行き1812は、画像クロップ直方体キューブ反復A1817の長さ1807および奥行き1809に小さな誤差幅を足した値に等しい。画像クロップ直方体キューブ反復B1818の高さ1811は、画像クロップ直方体キューブ反復A1817の高さ1808に大きな誤差幅を足した値に設定される(ステップS1711)。その結果得られる3次元クロップ画像データセット反復Bは、1805で与えられる(S1706からS1707)。次いで、基準マーカオブジェクト1004を探索することによって、このデータセットに対して自動位置合わせを実行する(ステップS1708)。
【0091】
反復Cに関しては、画像クロップ直方体キューブ反復C1819の長さ1813および奥行き1815は、画像クロップ直方体キューブ反復A1817の長さ1807および奥行き1809に大きな誤差幅を足した値に等しい。画像クロップ直方体キューブ反復C1819の高さ1814は、画像クロップ直方体キューブ反復B1818の高さ1811に設定される。その結果得られる3次元クロップ画像データセット反復Cは、1806で与えられる。次いで、基準マーカオブジェクト1004を探索することによって、このデータセットに対して自動位置合わせを実行する。
【0092】
第4のクロップ(反復D)が必要な場合には、画像クロップ直方体キューブ反復Dの長さ、奥行き、および高さは、反復Bおよび反復Cで得られた位置合わせ結果に基づいて設定される。例えば、反復Bで8個の基準のうち6個が発見され、反復Cでも8個の基準のうち6個しか発見されなかった場合には、残りの2つの基準を見つけるために、画像クロップ直方体キューブ反復Dの高さをさらに拡大する。次いで、基準マーカオブジェクト1004を探索することによって、このデータセットに対して自動位置合わせを実行する。
【0093】
図19は、ナビゲーションソフトウェア100を実行するコンピューティングシステム200における例示的な動作の流れを示す図である。いくつかの実施形態では、
図19に関連して説明する動作は、較正画像をMRIシステム104から取得したときに実行される。
図19の動作について、
図20を参照して説明する。
【0094】
ステップS1901からS1905は、ステップS1101からS1105に対応する。ステップS1906で、針を、
図8に示す針挿入点802に部分的に挿入する。ステップS1907からS1911について、
図20(A)から
図20(C)を参照して説明する。
【0095】
図20(A)は、自動クロップが実行される例示的な医療画像データセット1005を示す図である。
図20(A)では、医療デバイス800は、(
図8に示すように)物理的針挿入点802を中心にして円形レイアウトで配置された基準マーカ801を有するものと仮定している。医療撮像によって誘導される介入性処置は反復プロセスであるので、デバイス位置を、取得した全ての画像データセット(S1907)を用いて再位置合わせすることが一般的である。画像におけるデバイス位置の第1の位置合わせ(S1901からS1905)の後で、画像クロップ直方体キューブ2001を、基準探索エリアをさらに制限し、基準の誤検出を低減するためにデバイス位置に患者の動きおよび呼吸を見込むためのある程度の誤差幅を足したものだけを含むように縮小して、再位置合わせ(S1911)を行うことができる。(2次元だけでなく)3次元でのクロップであることが再度認識され分かりやすいように、画像クロップ直方体キューブの3次元表現2002を、
図20(B)に示す(S1908)。基準は物理的針挿入点902を中心とする円形レイアウト内にあるので、画像クロップ直方体キューブの中心から、円筒形クロップエリア2003を取り除くこともできる(S1909)。この手法により、基準マーカオブジェクト1004の探索に使用されるクロップ画像データセット2006内の高強度針アーチファクト2005が除去される(
図20(C))。これは、基準マーカとして誤って検出される可能性がある針アーチファクトを除去する助けになる。
【0096】
ステップS1910で、クロップ画像データ2006における基準の検出を行う。次いで、ステップS1911で、ステップS1910で識別した基準を位置合わせする。
【0097】
検出および位置合わせ
検出および位置合わせは、任意の適当な位置合わせ方法によって行うことができる。例えば、基準の検出および位置合わせは、参照によりその全体を本明細書に組み込む米国特許公開第2017/0000581号に記載の方法で実行することもできる。医療画像データの基準マーカオブジェクトを検出する。そのために、最初に、微分に基づく演算などの特徴強調をデータに適用することができる。次に、特徴抽出を適用することができる。次いで、代表点を規定する。次のステップは、基準マーカオブジェクトを位置合わせすることを含む。基準がリング状に配置される実施形態では、リングを回転させる、またはひっくり返す。これは、一回転または部分回転、あるいは180°の反転としてもよい。次いで、2点間マッチングを適用する。2点間マッチングのデータから、画像上のターゲットを規定する。この位置合わせに基づいて、デバイスに対するターゲットの座標を計算する。次いで、針をターゲットに誘導するようにデバイスを調節する。
【0098】
以上の説明は、本開示の原理を説明するのに役立つものであるが、本開示は、上述の例に限定されないものとする。例えば、様々な動作のうちのいくつかの順序および/またはタイミングは、本開示の範囲を逸脱することなく、上記に与えた例とは異なることもある。さらに、例えば、ネットワークおよび/またはコンピューティングシステムの種類は、本開示の範囲を逸脱することなく、上記に与えた例とは異なることもある。上記に与えた例とのその他の変形例も、本開示の範囲を逸脱することなく、存在する可能性がある。GUIの特定の例を例示したが、GUIのその他の様々な実装態様も本開示の範囲内であることは理解されるであろう。例えば、本開示の範囲を逸脱することなく、例示した例の様々な特徴を、修正、再配置、または除去することもできるし、あるいは1つまたは複数の特徴を追加することもできる。
【0099】
本開示の範囲は、1つまたは複数のプロセッサによって実行されたときに、その1つまたは複数のプロセッサに本明細書に記載する1つまたは複数の実施形態を実行させる命令を記憶したコンピュータ可読媒体を含む。コンピュータ可読媒体は、ハードディスク、フロッピーディスク、光磁気ディスク(MO)、コンパクトディスク読取り専用メモリ(CD−ROM)、書き込み可能なコンパクトディスク(CD−R)、書き換え可能なCD(CD−RW)、デジタル汎用ディスクROM(DVD−ROM)、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性メモリカード、およびROMを含む。コンピュータ実行可能命令は、ネットワークを介してダウンロードすることによってコンピュータ可読記憶媒体に供給得することもできる。
【0100】
例示的な実施形態を参照して本開示について説明したが、本開示は記載した例示的な実施形態に限定されないことを理解されたい。