ここで、同じ参照番号が様々な図面において同一の構成要素を識別するために使用される図面を参照して、図1は、一つ以上の幾何学的構造の多次元表面モデルを生成するためのシステム10の一例示的な実施形態を示す。以下に記載するように、例示的な実施形態において、システム10によって生成されたモデルは、三次元モデルである。しかし、以下の記載は、一般的に三次元モデルの生成に限定されるが、本開示はそのように限定されることを意図していないことが理解される。むしろ、他の例示的な実施形態において、システム10は、三次元以外の多次元モデルを生成するように構成されてもよく、そのような実施形態は、本開示の精神と範囲の中にある。
以下の記載は、主に解剖学的構造、特に心構造のモデルの生成におけるシステム10の使用に焦点を合わせるが、本開示はそのように限定されることを意図していないことに留意されたい。むしろ、システム10と、システム10が使用する方法及び技術とが、心構造以外の解剖学的構造を含む、様々な幾何学的構造の三次元モデルの生成に適用されてもよい。しかし、例示と説明を容易にする目的のために、以下の記載は、心構造の三次元モデルの生成におけるシステム10の使用に限定される。
続けて図1を参照すると、例示的な実施形態において、システム10は、数ある構成要素の中でも、医療デバイス12とモデル構築システム14とを備える。例示的な実施形態において、医療デバイス12は、カテーテル(カテーテル12)を備える。モデル構築システム14は、その一部として処理装置16を備える。処理装置16は、電子制御ユニットの形態を採ってもよく、その電子制御ユニットは、例えば、カテーテル12によって収集されたデータを使用して、心臓内の構造三次元モデルを構築する。
図1に示されるように、カテーテル12は、患者の身体18、より詳細には患者の心臓20の中に挿入されるように構成される。カテーテル12は、ケーブルコネクタ又はインターフェース22と、ハンドル24と、近位端28及び遠位端30(本明細書において使用されるように、「近位」は、臨床医に近いカテーテル12の部分に向かう方向を指し、「遠位」は、臨床医から離れた、患者の身体の(概ね)内側の方向を指す)を有するシャフト26と、カテーテル12のシャフト26の中や表面に取り付けられた一つ以上のセンサ32(例えば、321、322、323)とを含むことができる。例示的な実施形態において、センサ32はシャフト26の遠位端30又はその近くに配置される。カテーテル12は、他の従来の構成要素を含んでもよく、特に限定されない例であるが、温度センサと、追加のセンサ又は電極と、焼灼要素(例えば、RF焼灼エネルギーを送達するための焼灼先端電極、高密度焦点式超音波焼灼要素など)と、対応する導体又はリード線とをさらに含んでもよい。
コネクタ22は、例えば、モデル構築システム14及び/又はシステム10の他の構成要素(例えば、(モデル構築システム14とは別個で異なる場合には)視覚化システム、ナビゲーションシステム、及び/又はマッピングシステム、焼灼ジェネレータ、潅注源など)に延びるケーブル34、36などのケーブルに対して、機械的接続、流体的接続、及び電気的接続を提供する。コネクタ22は、当該分野における従来のものであり、カテーテル12の近位端、特にカテーテル12のハンドル24に配置される。
シャフト26の近位端28に配置されたハンドル24は、臨床医がカテーテル12を保持する位置を提供し、また患者の身体18内でシャフト26を操作又は誘導するための手段をさらに提供してもよい。例えば、ハンドル24は、シャフト26を操作するために、シャフト26の遠位端30までカテーテル12を通って延びる操作ワイヤの長さを変えるための手段を含んでもよい。ハンドル24もまた当該分野における従来のものであり、ハンドル24の構造は変わってもよいことを理解されたい。別の例示的な実施形態において、カテーテル12はロボット操作で駆動又は制御されてもよい。したがって、そのような実施形態では特に、臨床医がハンドルを操作してカテーテル12及びカテーテル12のシャフト26を操作又は誘導するのではなく、カテーテル12を操作するロボットが使用される。
シャフト26は、身体18の中で動くように構成された細長く、管状で、柔軟性のある部材である。シャフト26は、例えば、センサ32、関連付けられる導体、及び場合により信号処理や調整のために使用される追加の電子機器などのセンサ及び/又はセンサに取り付けられる電極などを支持するが、それらには限定されない。シャフト26はまた流体(潅注流体、低温焼灼流体、及び体液を含む)、医薬品、及び/又は手術道具もしくは手術器具の輸送、送達、及び/又は除去を可能にしてもよい。シャフト26は、ポリウレタンなどの従来の材料から作られてもよく、導電体、流体、又は手術道具を収容及び/又は輸送するように構成された一つ以上の管腔を画定する。シャフト26は従来のイントロデューサを通じて身体18内の血管又は他の構造の中に導入されてもよい。そしてシャフト26は、当該分野で周知の手段を使用して、心臓20などの所望の位置まで身体18を通って操作又は誘導されてもよい。
カテーテル12のシャフト26の中や表面に設置されたセンサ32は、モデル構築システム14、特にモデル構築システム14の処理装置16に電気的に接続される。センサ32は、様々な診断や治療の目的のために提供されてもよく、様々な診断や治療の目的とは、例えば、電気生理学の研究、ペーシング、心臓マッピング、及び焼灼を含むが、それらに限定されない。例示的な実施形態において、センサ32のうちの一つ以上が場所又は位置の検知機能を果たすように提供される。さらに詳細には、以下でさらに詳細に記載されるように、センサ32のうちの一つ以上が、特定の時点における、カテーテル12、特にカテーテル12のシャフト26の遠位端30の場所(位置及び向き)に関する情報を提供する位置決めセンサであるように構成される。したがって、こうした実施形態においては、カテーテル12が、心臓の対象の構造の表面に沿って、及び/又は、構造の内部で動かされるので、センサ32は、対象の構造の表面及び/又は対象の構造内の他の場所に対応する場所データ点を収集するために使用することができる。これらの場所データ点は、対象の三次元モデルの構築において、例えばモデル構築システム14によって使用されることができる。これについては、以下でさらに詳細に記載する。明確性と例示との目的のために、以下の記載では、カテーテル12の複数のセンサ32が位置センサを有する実施形態について説明する。しかしながら、他の例示的な実施形態では、これも本開示の精神と範囲に含まれるが、カテーテル12は、一又は複数の位置センサに加えて、他の診断及び/又は治療の機能を発揮する他のセンサを有してもよい。
簡潔に上述され、また詳細に後述されるように、モデル構築システム14は、カテーテル12で収集された場所データを一部使用して、心臓内の構造の三次元モデルを構築するように構成される。より詳細には、モデル構築システム14の処理装置16は、センサ32によって収集又は測定された場所データ点を獲得し、次いで、場所データ点が対応する構造のモデルの生成又は構築において、それらの場所データ点を使用するように構成される。例示的な実施形態において、モデル構築システム14は、場所データ点を収集するためにセンサ32と共に機能することによって場所データ点を獲得する。しかし、別の例示的な実施形態において、モデル構築システム14は、場所データ点の収集に積極的に参加することなく、センサ32又はシステム10における別の構成要素、例えば、モデル構築システム14の一部であるメモリもしくは他の記憶装置、又はモデル構築システム14がアクセス可能なメモリもしくは他の記憶装置などから場所データ点を単に獲得してもよい。いずれの実施形態においても、モデル構築システム14は、収集された場所データ点の一部又は全部に基づいて三次元モデルを構築するように構成される。例示と明確性との目的のために、以下の記載は、モデル構築システム14が、場所データ点の収集において、センサ32と共に機能することによって、モデルを構築することと、場所データ点を獲得することとの両方を行うように構成される実施形態に限定される。しかし、モデル構築システム14が、単に、センサ32又はシステム10の別の構成要素から場所データ点を獲得して、それから、場所データ点に基づいて三次元モデルを構築する実施形態は、本開示の精神と範囲の中にあることが理解される。
したがって、例示的な実施形態において、モデル構築システム14は、構造のモデルを構築することに加えて、モデルの構築において使用される場所データ点を収集するためにセンサ32と共に機能するように構成される。こうした実施形態において、モデル構築システム14は、例えば、エンサイト(EnSite)NavX(商標)システムなどの電場ベースのシステムを備えてもよく、EnSite NavX(商標)システムは、セント・ジュード・メディカル社(St. Jude Medical, Inc.)から市販されており、「Method and Apparatus for Catheter Navigation and Location and Mapping in the Heart」と題される米国特許第7,263,397号を参照して概略的に示される。米国特許第7,263,397号の全開示は参照により本明細書に組み込まれる。しかし、他の例示的な実施形態において、モデル構築システム14は、例えば以下の他の種類のシステムを備えてもよいがそれらに限定されない。例えば他の種類のシステムは、バイオセンス・ウェブスター社(Biosense Webster)から入手可能であり、「Intrabody Measurement」と題される米国特許第6,498,944号、「Medical Diagnosis, Treatment and Imaging Systems」と題される米国特許第6,788,967号、及び「System and Method for Determining the Location and Orientation of an Invasive Medical Instrument」と題される米国特許第6,690,963号のうちの一つ以上を参照して概略的に示されるようなCarto(商標)システムなどの磁場ベースのシステムなどである。これらの文献の全開示は参照により本明細書に組み込まれる。あるいは他の種類のシステムは、メディガイド社(MediGuide Ltd.)から入手可能であり、「Medical Positioning System」と題される米国特許第6,233,476号、「System for Determining the Position and Orientation of a Catheter」と題される米国特許第7,197,354号、及び「Medical Imaging and Navigation System」と題される米国特許第7,386,339号のうちの一つ以上を参照して概略的に示されるようなgMPSシステムで、これら文献の全内容が参照により本明細書に組み込まれる。あるいは他の種類のシステムは、やはりBiosense Websterから入手可能なCarto 3(商標)システムなどの電場ベースのシステムと磁場ベースのシステムとの組み合わせである。また、他のインピーダンスベースの位置特定システム、音声又は超音波ベースのシステム、X線透過コンピュータ断層撮影(CT)、磁気共鳴映像法(MRI)ベースのシステムも同様である。
簡潔に上述されたように、例示的な実施形態において、カテーテル12のセンサ32は位置センサを備える。センサ32はカテーテルの場所(位置及び/又は向き)情報を示す信号を作り出す。モデル構築システム14が電場ベースのシステムである実施形態において、センサ32は一つ以上の電極を備えてもよい。あるいは、モデル構築システム14が磁場ベースのシステムである実施形態において、センサ32は、低強度磁場の一つ以上の特性を検出するように構成された一つ以上の磁気センサを備えてもよい。例えば、一例示的な実施形態において、センサ32はカテーテル12のシャフト26の表面又は中に配置された磁気コイルを備えてもよい。
明確性と例示との目的のために、以下では、モデル構築システム14は、例えば、上で特定されたEnSite NavX(商標)システムなどの電場ベースのシステムを備えるものとして記載される。以下の記載は主に、センサ32が一つ以上の電極を備える実施形態に限定されるが、他の例示的な実施形態においては、センサ32は一つ以上の磁場センサ(例えば、コイル)を備えてもよいことが理解される。したがって、以下に記載されるセンサ又は電極以外の位置センサを含むモデル構築システムも依然本開示の精神と範囲の中にある。
図2を参照すると、処理装置16に加えて、モデル構築システム14は、考えられる他の構成要素の中でも、複数のパッチ電極38と、多重化スイッチ40と、信号生成器42と、ディスプレイデバイス44とを含んでもよい。別の例示的な実施形態において、これらの構成要素のうちの一部又は全部が、モデル構築システム14とは別個で異なっているが、モデル構築システム14に電気的に接続されて、モデル構築システム14と通信するように構成される。
処理装置16は、プログラマブルマイクロプロセッサもしくはプログラマブルマイクロコントローラを備えてもよく、又は特定用途向け集積回路(ASIC)を備えてもよい。処理装置16は、中央演算装置(CPU)と入力/出力(I/O)インターフェースとを含んでもよく、入力/出力(I/O)インターフェースを通じて、処理装置16は、例えば、パッチ電極38やセンサ32によって生成された信号を含む複数の入力信号を受信し、例えば、ディスプレイデバイス44やスイッチ40を制御するために使用される出力信号、及び/又はディスプレイデバイス44やスイッチ40にデータを提供するために使用される出力信号を含む複数の出力信号を生成してもよい。処理装置16は、適切なプログラミング命令又はプログラミングコード(すなわち、ソフトウェア)を用いて、さらに詳細な上述及び後述の機能などの様々な機能を行うように構成されてもよい。したがって、処理装置16は、本明細書において記載される機能を行うための、コンピュータ記憶媒体で符号化された一つ以上のコンピュータプログラムでプログラミングされる。
「腹パッチ」と呼ばれるパッチ電極38Bの可能性を除いて、パッチ電極38は、例えば、カテーテル12の位置と向きとを決定する際に使用される電気信号を生成するために提供される。一実施形態において、パッチ電極38は、身体18の表面上に、直交して配置され、身体18内に軸固有電場を作るために使用される。例えば、一例示的な実施形態において、パッチ電極38X1、38X2は、第1(x)の軸に沿って配置されてもよい。パッチ電極38Y1、38Y2は、第2(y)の軸に沿って配置されてもよく、パッチ電極38Z1、38Z2は、第3(z)の軸に沿って配置されてもよい。パッチ電極38のそれぞれが、多重化スイッチ40に結合されてもよい。例示的な実施形態において、処理装置16は、適切なソフトウェアを通じてスイッチ40に制御信号を提供して、信号生成器42に電極38の対を順次結合するように構成される。電極38の各対の励起が、身体18内で、そして心臓20などの対象となる部分内で電場を発生させる。腹パッチ38Bに対する基準となる、励起されていない電極38における電圧レベルがフィルタリングされ変換されて、基準値として使用するために処理装置16に提供される。
例示的な実施形態において、カテーテル12のセンサ32は処理装置16に電気的に接続され、位置検知機能を果たすように構成される。さらに詳細には、センサ32は、パッチ電極38を励起させることによって身体18(例えば、心臓の中)において作られる電場内に配置される。明確性と例示の目的のためだけに、以下の記載は、単一のセンサ32が電場内に配置される実施形態に限定される。しかし、本開示の精神と範囲の中にある他の例示的な実施形態において、複数のセンサ32が電場内に配置され得、次いで各センサの位置と向きが以下に記載される技術を使用して決定され得ることが理解される。
電場内に配置された時に、センサ32は、パッチ電極38間の場所と組織に対するセンサ32の位置とに依存する電圧を受ける。センサ32とパッチ電極38との間で行われた電圧測定の比較を使用して、組織に対するセンサ32の場所を特定できる。したがって、カテーテル12を、対象となる特定の部分又は表面の周囲で、又はそれに沿って掃引すると、処理装置16は、センサ32上の電圧レベルの変化を反映するセンサ32から信号(場所情報)を受信し、また電圧を加えられていないパッチ電極38から信号(場所情報)を受信する。処理装置16は次いで、様々な公知のアルゴリズムを使用して、センサ32の場所(位置及び向き)を特定し、それを、センサ32の場所に対応する、即ち、モデル化の対象である構造の表面上の点に対応する測定された場所データ点46(本明細書において「データ点46」とも呼ばれ、図3に例示される)として、処理装置16と関連付けられるか、又は処理装置16がアクセス可能なメモリ47などのメモリ又は記憶装置に記録する。例示的な実施形態において、場所データ点として場所を記録する前に、処理装置16が受信した信号が提示する生の場所データは、公知の技術又は今後開発される技術を使用して、呼吸、心臓の活動、及び他のアーチファクトを明らかにするために処理装置16で補正されてもよい。いずれにしても、経時的に取得した場所データ点46(461、462・・・46n)の集合は、メモリ又は記憶装置に格納される(図3に最も良く示される)点群48を形成することになる。
上の記載は、これまでのところ、概して、パッチ電極38の直交する配置に関するものであるが、本開示はそのように限定されることを意図していない。むしろ、他の例示的な実施形態においては、直交しない配置を用いて、センサ32の場所座標を特定してもよい。例えば、一般的には、図4A〜図4Dは、座標系50に設定された複数の例示的な直交しない双極子D0、D1、D2、及びD3を示す。図4A〜図4Dにおいて、X軸のパッチ電極は、XA及びXBと指定され、Y軸のパッチ電極は、YA及びYBと指定され、Z軸のパッチ電極は、ZA及びZBと指定される。あらゆる所望の軸に関して、駆動(ソースシンク)構成の所定の組に起因する、センサ32などの心臓内センサにわたって測定された電位を代数的に組み合わせて、直交する軸に沿って均一な電流を単に流すことによって取得されるものと同じ有効電位を生み出すようにしてもよい。パッチ電極38X1、38X2、38Y1、38Y2、38Z1、及び38Z2(図2を参照)のうちの任意の2つが、例えば、腹パッチ38Bなどの基底基準に対して、双極子のソース及びドレーンとして選択されてもよく、他方励起されていないパッチ電極は基底基準に対する電圧を測定する。心臓20に配置されたセンサ32はまた、電流パルスに対する場にさらされ、例えば、腹パッチ38Bなどの基底に対して測定される。
別の例示的な実施形態において、複数のパッチ電極38が、共通の軸に沿って直線的に配置されてもよい。こうした実施形態において、パッチ電極38のうちの一つと、カテーテルに取り付けられた電極とから構成される電極対の励起が、電場を発生させる。そして、励起されていない電極38は、センサ32の位置を決定するために用いられ得る電位を測定してもよい。したがって、実施形態において、異なるパッチ電極38と、カテーテルに取り付けられた電極とを含む複数の電極対の励起が、センサ32の位置を決定するために用いられてもよい。
それぞれのパッチ電極38及びセンサ32からのデータセットを全て使用して、心臓20内のセンサ32の場所を特定する。電圧測定が行われた後、異なる対のパッチ電極が電流源によって励起され、残りのパッチ電極と内部のセンサとの電圧測定プロセスが生じる。センサ32の場所がされると、上記のように、その場所は上記と同じ方法でデータ点46として記録されてもよい。例示的な実施形態において、場所データ点として場所を記録する前に、処理装置16が受信した信号が提示する生の場所データは、公知の技術又は今後開発される技術を使用して、呼吸、心臓の活動、及び他のアーチファクトを明らかにするために処理装置16で補正されてもよい。したがって、センサ32の場所を特定するために、したがって、センサ32の場所に対応するデータ点を収集するために、様々な技術が使用されてもよいことが理解され、それらの技術のそれぞれが、本開示の精神と範囲の中にある。
図3は、モデル化される特定の対象の構造に対応する場所データ点461〜463を含む点群48を示す。図3に示す点群48は、3つの場所データ点46だけを含むが、実際は、点群48は、一般的に、数百〜数十万ものデータ点46を含むものであることが理解される。しかし、例示と説明を容易にする目的のために、以下の記載は、限定された数の場所データ点を有する点群、例えば、3つの場所データ点46から構成される点群48に限定される。対象の構造の異なる領域に対応する場所データ点46が、収集されてもよいことがさらに理解される。こうした実施形態において、処理装置16は、データ点46が収集された対象の構造の領域に対応するデータ点46をグループ分けするように構成されてもよい。よって、対象の構造に2つの領域がある場合、第1の領域に対応する全ての場所データ点が、一緒にグループ分けされて第1の点群を形成し、一方、第2の領域に対応する全てのデータ点が、同様に一緒にグループ分けされて第2の点群を形成する。
一例示的な実施形態において、そして、図5を参照すると、処理装置16は、一般的には、まず、対象の解剖学的構造の一つ以上の個別領域の一つ以上の表面モデルを生成する(ステップ100)ように構成される。2つ以上の対象の個別領域の2つ以上の表面モデルが生成される例示的な実施形態において、処理装置16は、複数の個別表面モデルを結合して、対象の構造の複合表面モデルを形成する(ステップ102)ようにさらに構成されてもよい。明確性及び例示の目的のために、複数の対象領域の複数の表面モデルが生成され、そして結合される実施形態を、対象の解剖学的構造の2つの領域を表す三次元複合表面モデルの生成に関して、以下に記載する。よって、複合表面モデルは、それぞれが対象の構造の2つの異なる領域の各一つに対応する2つの結合された表面モデルから構成される。しかし、本開示は、処理装置16が2つの結合された表面モデルから構成される複合表面モデルを生成する実施形態に限定されないことが理解される。むしろ、処理装置16は、以下に記載の技術を用いて結合された3つ以上の個別表面モデルから構成される複合表面モデルを生成するように構成されてもよく、したがって、この能力を有する処理装置が、本開示の精神及び範囲の中にあることを、当業者は理解するであろう。
表面モデル(すなわち、複合表面モデルを生成するために用いられる各表面モデル)が、様々な方法で生成されてもよい。図5に示すような例示的な実施形態において、一般的に、処理装置16は、初めに、第1の対象領域に対応する場所データ点46の第1の集合を獲得するように構成される。処理装置はさらに、第2の対象領域に対応する場所データ点46の第2の集合を収集してもよい。上述のように、場所データ点の第1の集合内の各場所データ点46は、対象の解剖学的構造の第1の領域の表面上の各位置に対応し、一方、場所データ点の第2の集合内の各データ点46は、対象の解剖学的構造の第2の領域の表面上の各位置に対応する。
本明細書中の他の箇所で記載するように、処理装置16は、様々な方法で場所データ点を獲得するように構成される。例示的な実施形態において、処理装置16は、構造の表面から場所データ点を収集するセンサ32から場所データ点を獲得する。別の例示的な実施形態において、処理装置16は、処理装置16の一部である、あるいは処理装置16に電気的に接続され処理装置16と通信するように構成された、メモリ又は記憶装置から、場所データ点の集合を取得することによって、場所データ点の集合を獲得する。したがって、処理装置16は、それぞれが本開示の精神及び範囲の中にある様々なソースのうちの一つから、場所データ点の集合(及びその場所データ点)を獲得してもよい。場所データ点46のそれぞれの集合を用いて、処理装置16は、各対象領域の表面モデルを生成するように構成される。
場所データ点46の一つ以上の集合が獲得されると、処理装置16は、場所データ点46のそれぞれの集合内の場所データ点46に基づいて、各対象領域の一つ以上の個別表面モデルを生成するように構成される。そうするために、一般的に、処理装置16は、場所データ点46の第1及び第2の集合のそれぞれについて、各ボクセル領域又はボクセル格子を算出あるいは構築する(ステップ106)ように構成される。各ボクセル格子は、当該ボクセル格子が対応する場所データ点の集合の全ての場所データ点46を含み、各ボクセル格子は、複数のボクセルを含む。
場所データ点46の各集合についてボクセル格子が構築されると、処理装置16は、各ボクセル格子内のどのボクセルが、個別表面モデルの生成に用いられるか決定又は特定する(ステップ108)ように構成される。それから、処理装置16は、それらには限定されないが例えば、アルファ包技術又はアルゴリズムなどの、当該分野において公知の様々な三角面再構築技術のうちの一つを用いて表面モデルを生成するために、これら特定されたボクセルを用いる(ステップ110)。
個別表面モデルの生成についての記載は、これまでのところ、一般的なものであるが、個別表面モデルを生成するための処理の例示的な実施形態を、ここでより詳細に記載する。この例示的な実施形態において、個別表面モデルは、以下に記載する特定のアルファ包技術又はアルゴリズムを用いて生成される。しかし、他の例示的な実施形態において、異なる技術、又は技術の組み合わせが、ボクセルに基づいた表面モデルを生成するために用いられてもよいことが理解される。一つのそのような例示的な技術は、マーチングキューブ法の技術又はアルゴリズムである。別のそのような例示的な技術は、2011年8月16日に発行され「System and Method for Surface Reconstruction from an Unstructured Point Set」と題される米国特許第8,000,941号に記載されているものであり、当該米国特許は、全内容が参照により本明細書に組み込まれる。したがって、ボクセルに基づく表面モデルが、本明細書中において詳細に具体的に記載される技術以外の技術を用いて生成される実施形態は、本開示の精神及び範囲の中にある。
さらに、例示と、明確性と、説明を容易にする目的のために、以下の記載は、解剖学的構造の単一の対象領域(例えば、第1の対象領域)に対応する表面モデルの生成のみに限定される。しかし、第1の対象領域の表面モデルの生成に関して記載される技術が、第2の対象領域又は対象の解剖学的構造の他の対象領域の表面モデルを生成するために、処理装置16によって実施されてもよい。したがって、第2の対象領域(及び他の対象領域)の表面モデルは、以下に記載の技術と同じ技術を用いて生成されてもよい。
したがって、図6を参照すると、上述のように、例示的な実施形態において、処理装置16は、対象領域に対応するデータ点46の集合を獲得する(ステップ104)ように構成される。処理装置16は、それらには限定されないが、例えば、メモリ47などの、処理装置16と関連付けられたもしくは処理装置16がアクセス可能なメモリ又は記憶装置などの様々なソースから、あるいは、システム10又はモデル構築システム14内の他のソース(例えば、センサ32)から、データ点46を獲得するように構成されてもよい。上記でも記載したように、処理装置16は、獲得した場所データ点の集合について、ボクセル格子を算出又は構築する(ステップ106)ように構成される。図6に示す例示的な実施形態において、ボクセル格子を構築するために、処理装置16は、まず、場所データ点の集合のデータ点46のそれぞれを含む境界ボックス又はボリューム52を画定する(ステップ112)ように構成される。例えば、図7は、図3に示すデータ点461〜463に対応する境界ボックス52を示す。
境界ボックス52が画定されると、境界ボックス52のユークリッド座標が決定される。さらに詳細には、x、y、z軸のそれぞれに沿った最小値及び最大値が決定され、境界ボックス52の座標として用いられる。したがって、境界ボックス52のx座標を決定するために、処理装置16は、データ点の集合内の全てのデータ点46のうちの最小の「x値」を有する場所データ点46と、データ点の集合内の全てのデータ点46のうちの最大の「x値」を有する場所データ点46とを、決定するように構成される。そして、処理装置16は、これら各最小値及び最大値を、境界ボックス52の最小及び最大のx座標として用いる。境界ボックス52の最小及び最大のy座標とz座標が、x座標に関して上述した方法と同じ方法で決定される。
境界ボックス52の座標(すなわち、(MIN
x,MIN
y,MIN
z)及び(MAX
x,MAX
y,MAX
z))が決定されると、例示的な実施形態において、境界ボックス52は、x、y及びz方向に所定距離アルファ(α)だけ拡張することによって、パディングされ(padded)、拡張された境界ボックス52の座標(すなわち、(min
x,min
y,min
z)及び(max
x,max
y,max
z))が決定される。拡張された境界ボックス52の座標は、以下の等式(1)〜(6)を用いて決定されてもよい。
例示的な実施形態において、αの値は、システム10、特に、処理装置16のセットアップの一部として(すなわち、システム10の製造中又はシステム10の初期化中かつ使用前に)設定されてもよい、約数ミリメートルの距離の尺度である。別の実施形態において、αは、医療デバイスの大きさによって、規定されてもよく、例えば、αは、カテーテル12、センサ32の半径もしくは直径、又はその分数もしくは倍数であってもよい。さらに当該値は、調整不可能でもよく、あるいは、例えば、タッチスクリーン、キーボード、キーパッド、スライダコントロール、一つ以上のユーザ選択可能なもしくはユーザ入力可能なフィールドを有するグラフィカルユーザインターフェース、又はユーザがαの値を設定もしくは調整できるように処理装置16に電気的に接続された他のユーザ制御可能な入力デバイスなどのユーザインターフェース53(図1に最も良く示される)を、システム10のユーザが用いることによって、調整可能であってもよい。
別の実施形態において、α、又は他の所定値が、各場所データ点46に付加されて、一つ以上の新たな又は付加的な場所データ点46’を作成できる。さらに詳細には、処理装置16は、各場所データ点46について、当該場所データ点46の位置に基づいて、一つ以上の付加的な場所データ点46’に対する位置を計算し、そして、一つ以上の場所データ点46’をその又はそれらの計算した位置に追加するように構成されてもよい。このようにして追加された場所データ点46’を、「測定された」場所データ点である、センサ32によって収集された場所データ点46と区別するために、「算出された」場所データ点46’と呼ぶ場合がある。例えば、図19を参照して、αを(1)として設定すると、例えば、8個の新たな「算出された」場所データ点46’が、一つの軸上の位置(x,y,z)における測定された点から作成され得て、これらの点は、点46’1〜46’8(すなわち、(x+1,y,z)、(x+1,y+1,z)、(x,y+1,z)、(x−1,y+1,z)、(x−1,y,z)、(x−1,y−1,z)、(x,y−1,z)及び(x+1,y−1,z))である。同様に、8個の新たな、すなわち、算出されたデータ点が、他の各軸上において、点がいくつか重複して、作成され得て、又は合計で以下の26個の新たな点46’が作成され得る。
(x−1,y−1,z)、(x,y−1,z−1)、(x+1,y−1,z−1)、
(x−1,y,z−1)、(x,y,z−1)、(x+1,y,z−1)、
(x−1,y+1,z−1)、(x,y+1,z−1)、(x+1,y−1,z−1),
(x−1,y−1,z)、(x,y−1,z)、
(x+1,y−1,z)、(x−1,y,z)、(x+1,y,z)、
(x−1,y+1,z)、(x,y+1,z)、(x+1,y+1,z)、
(x−1,y−1,z+1)、(x,y−1,z+1)、(x+1,y−1,z+1)、
(x−1,y,z+1)、(x,y,z+1)、(x+1,y,z+1)、
(x−1,y+1,z+1)、(x,y+1,z+1)、(x+1,y+1,z+1)
そして、これらの算出された場所データ点46’は、上記の式を用いて又は用いずに境界ボックス52を画定するために、場所データ点46(すなわち、測定された場所データ点46)と共に、用いられてもよい。
特定の例において、(最小)及び(最大)の座標の決定に続いて、さらなる境界ボックス52のパディングが必要な場合がある。さらに詳細には、例示的な実施形態において、各方向における境界ボックス52の寸法が、ボクセル格子を構成するボクセルの寸法の整数倍となる必要がある場合がある。しかし、境界ボックス52をα値でパディングした後に、境界ボックス52の寸法が、(例えば、α値自体がボクセル寸法の整数倍でないため)ボクセル寸法の整数倍でない場合、この要件を満たすために、さらなる境界ボックス52のパディングが必要である。例えば、ボクセルの寸法が1×1×1(ミリメートル)であり、α値によるパディング後の境界ボックス52の寸法が、128.4×1296.0×417.9(同様にミリメートル)であるとする。この例において、処理装置16は、この例においてパディングされた寸法が129×1296×418となるように、寸法を各方向の隣のボクセル境界にまで拡張することによって、境界ボックス52をパディングする。よって、境界ボックスの寸法は、各側面上又は各方向においてボクセル寸法の整数倍となる。そのような例において、(最小)及び(最大)の座標の一部又は全ては、さらなる境界ボックスのパディングの大きさに応じて調整される必要がある。
図6及び8を参照すると、境界ボックス52のパディング又は拡張と、拡張された境界ボックス52の座標の決定とに続いて、処理装置16は、図8に示すように、境界ボックス52内にボクセル格子54を構築する(ステップ114)ように構成される。ボクセル格子54は、ボクセル格子54内の各ボクセル56(ボクセル56を構成する、図8において水平及び垂直格子線が交差する各点)間の距離に対応する所定の値「ν」を有する。上述のα値と同様に、値νは、システム10、特に処理装置16のセットアップの一部として(すなわち、システム10の製造中又はシステム10の初期化中かつ使用前に)設定されてもよい。さらに、当該値は、調整不可能でもよく、又は、システム10のユーザが、例えば、上述のユーザインターフェース53を用いることによって、調整可能であってもよい。例示的な実施形態において、値νは、約0.75mmであるが、本開示はそのように限定されることを意図していない。
ボクセル格子54は、x方向におけるIセル、y方向におけるJセル及びz方向におけるKセルによって与えられる寸法を有する。I、J及びKの実際の値は、等式(7)〜(9)を用いて計算される。
ボクセル格子54内の各ボクセル56は、格子内の指数(i,j,k)によって、特定され、各ボクセル56の座標は、(min
x+iν,min
y+jν,min
z+kν)となる。
簡潔に上述したように、ボクセル格子54が構築されると、処理装置16は、格子54のどのボクセル56が、対象領域の表面モデルの生成に用いられるかを決定する(ステップ108)ように構成される。例示的な実施形態において、これは、以下により詳しく記載するように、「内部ボクセル」とみなされるボクセル56を特定することによって、行われる。「内部ボクセル」を特定する例示的な技術を、ここで記載する。
例示的な実施形態において、処理装置16は、評価中の場所データ点46の集合に対して、拡大処理を行うように構成される。さらに詳細には、評価中のデータ点の集合内の各場所データ点46について、処理装置16は、当該データ点46と格子内の各ボクセル56との間の距離「d」を算出するように構成される。例示的な実施形態において、距離「d」は、等式(10)を用いて計算され得る。
式中、「n」は、評価中の場所データ点46(例えば、46
1、46
2、...、46
n)の数に対応する。データ点46の一つとの距離が所定の値α(境界ボックス52の拡張に関して簡易に上述された)未満である各ボクセル56について、当該ボクセル56は、「内部ボクセル」として表される。したがって、境界ボックス52内の各データ点46は、どのボクセル56のサブ集合が、データ点46のうちの少なくとも一つから距離α内にあり、よって内部ボクセルとみなされるかを判定するために評価される。例えば、図9においてボックスで表される各ボクセル56は、処理装置16によって、データ点46のうちの少なくとも一つから所定距離α内にあると判定され、よって、内部ボクセル(ボクセル56
I)であると判定される。内部ボクセルと判定されない他の全てのボクセル56は、「外部ボクセル」とみなされ、特定される。
どのボクセル56が内部ボクセルであるかが判定されると、例示的な実施形態において、処理装置16は、内部ボクセル56
Iと外部ボクセルのいくつかとで構成されるボクセルのサブ集合に対して、エロージョン(erosion)プロセスを行うように構成される。さらに詳細には、処理装置16は、外部ボクセルとして特定されるが内部ボクセル56
Iに隣接する各ボクセル56の指数を含む指数の集合を構築するように構成される。例えば、図10においてボクセル56
Eとして特定された各ボクセル56は、内部ボクセル56
Iに隣接もする外部ボクセルであると判定されている。各ボクセル56
Eについて、処理装置16は、当該ボクセル56
Eと各ボクセル56
Iとの間の距離を算出するように構成される。処理装置16は、算出した距離に基づいて、一つ以上のボクセル56
Eへの距離が、等式(11)で表される距離「dist.」未満であるボクセル56
Iのサブ集合を決定するように構成される。
一つ以上のボクセル56 E から距離dist.内にあると判定された各ボクセル56 I について、当該ボクセルの識別が、「内部ボクセル」から「外部ボクセル」に変更され、よって、図11に示すように、これらボクセルの表示が「ボクセル56 I 」からボクセル「56 IE 」に変わる(記号「56 IE 」は、前に内部ボクセルとみなされた外部ボクセルを、常に外部ボクセルとみなされる外部ボクセルと区別するように意図される)。
上述のエロージョンプロセスに続いて、処理装置16は、ボクセル56I(すなわち、内部ボクセル)を処理してボクセル56Iに基づく表面モデルを生成するように構成される。例示的な実施形態において、これは、内部ボクセル56Iからアルファ包近似を算出/計算又は抽出すること(ステップ110)を含む。上述のように、例示及び明確性の目的のために、アルファ包技術のみを、ボクセル56Iからの表面モデルの生成に関して、本明細書中において詳細に記載するが、他の例示的な実施形態において、アルファ包技術以外の技術又はアルゴリズムが用いられてもよいことが理解される。例えば、簡易に上述したように、別の例示的な実施形態において、マーチングキューブ法の技術又はアルゴリズムが、表面モデルを生成するために用いられ得る。よって、アルファ包技術以外の技術が表面モデル生成処理に用いられる実施形態は、本開示の精神及び範囲の中にある。
アルファ包技術が用いられる実施形態において、上述の抽出によって、多面化表面(例えば、複数の小面60と頂点62とを含む)を有するアルファ包近似(表面モデル又はアルファ包近似58)の形態の表面モデルが生じ、例示的な実施形態において、当該多面化表面は、三角面を含む。生じた表面モデルすなわちアルファ包近似58において、各ボクセル56Iは、アルファ包近似58の多面化表面の頂点62に対応する。例示の目的のために、図12は、例示的なアルファ包近似58の多面化表面の一部を示す。図11に示す内部ボクセル56Iは、二次元で示されているため、図12に示すアルファ包近似は、必ずしも内部ボクセル56Iに対応せず、むしろ、その多面化表面の頂点62及び小面60を示すだけの例示の目的のために単に提供される、例示的なアルファ包近似であることに留意されたい。
図5を参照すると、多面化表面を有する表面モデル58が生成されると、その生成が上述のアルファ包近似を行うことによってなされようと又は別の方法でなされようと、例示的な実施形態において、処理装置16は、多面化表面内の小面60及び頂点62の数を減らすために、多面化表面から余分な小面60をデシメーションする(ステップ116)ように構成される。さらに詳細には、表面モデル58の表面がデシメーションされる実施形態において、処理装置16は、表現の精度を維持しながら、小面60及び頂点62の数を減らすデシメーションアルゴリズムを実行するように構成される。例示的な実施形態において、これは、多面化表面のより広い範囲の特徴に対してほとんど影響を与えない頂点62を統合することによって、達成される。一般的に、小面60の数の低減は、頂点62の評価と、頂点62の評価に基づく、当該分野で周知の技術である、エッジコラプスの工程とによって達成される。内部ボクセル56Iから導き出される頂点62は、例えば、形態的かつ幾何学的基準などの要素に基づいて貪欲アルゴリズムの様式で選択され、そして、本明細書中において記載するように評価される。
図13Aを参照して、処理装置16によって実行され得る例示的なデシメーションアルゴリズムを、ここで記載する。まず始めに、処理装置16は、多面化表面の小面60/頂点62の基本的な隣接関係を確立する(ステップ118)ように構成される。そうするために、処理装置16は、所定の頂点62及び/又は小面エッジ64(図12に示すように、各小面60は、複数のエッジ64を含む)を別の小面60と共有する小面60を、表にまとめる。したがって、所定の頂点62及び/又はエッジ64を別の小面60と共有する各小面60は、今後の処理又は評価のためにリストに入れられる。
適切な小面60がリストに入れられると、例示的な実施形態において、処理装置16は、リスト内の各小面60に対する小面法線及び各頂点62に対する頂点法線を計算する(ステップ120)ように構成される。小面法線は、小面60の平面に垂直な、単位長さのベクトルであり、小面60が一部となる面によって囲まれたボリュームから外へ向かう。頂点法線は、評価中の頂点62に直接隣接する小面60の小面法線の加重平均である。重み係数は、より大きな小面60が、隣接するより小さな小面60より、比例的により頂点法線に寄与するように、小面60の対応するエリアに関連する。小面法線及び頂点法線は、当該分野で周知の技術を用いて計算されてもよく、したがって、小面法線及び頂点法線を計算する技術を記載しない。
小面法線及び頂点法線が、それぞれリスト内の各小面60及び頂点62に対して計算されると、処理装置16は、特定のデシメーション基準に関して、リスト内の各頂点62を評価し(ステップ122)、そして、この評価に基づいてデシメーションキューを作成する(ステップ124)ように構成される。一般的に、デシメーション基準では、考慮中の頂点62の近隣が相対的に平坦であり、多面化表面の全体形状に重要でない(すなわち、頂点の近隣が、解剖学的構造の重要な形態的特徴を表すかもしれないピーク又は谷(でこぼこの領域)を含まない)ことが要求される。本開示の目的のために、「近隣」という用語は、評価又は考慮中の頂点62(すなわち、中心頂点)と、評価中の頂点62と共にエッジ64を形成する全ての隣接又は周囲の頂点62とを含む、多面化表面のエリアとして定義される。この点をより適切に示すために、頂点621の近隣を示す図14を参照する。頂点621の近隣は、各周囲の頂点622〜627が、中心頂点621と共にエッジを形成するため、頂点622〜627のそれぞれを含む。
より具体的には、例示的な実施形態において、処理装置16は、考慮中の頂点62の近隣における各小面60の小面法線ベクトルを評価して、当該ベクトルが、整列している又は略同じ方向を指し示しているか否かを確認する(すなわち、ベクトルが、互いに少なくとも略平行又は許容できるように平行であるかどうか判定する)。したがって、図14中の頂点621が、評価中の頂点である場合、各隣接する小面60(すなわち、図14中の小面601〜606)の法線ベクトルが、互いに整列しているかどうかを確認するために評価される。所定の近隣において法線ベクトルが整列していると、当該近隣が多面化表面の少なくとも略平坦なエリアを構成している予備的な証拠となる。一方、法線ベクトルが不整列であると、当該近隣が多面化表面の平坦でないでこぼこのエリアを構成する予備的な証拠となる。
処理装置16が、法線ベクトルが不整列であると判定すると、処理装置16は、評価中の頂点62の近隣が、多面化表面の全体形状にとって重要でない相対的に平坦なエリアを含むというデシメーション基準を満たさないため、当該頂点62を捨てるように構成される。評価された頂点62が捨てられると、処理装置16は、リスト内の次の頂点62に進み、上述の処理を繰り返す。しかし、処理装置16が、法線ベクトルが実際に整列し、よって、デシメーション基準が満たされると判定すると、処理装置16はその後、評価された頂点62をデシメーションキューに入れる(ステップ124)ように構成される。
リスト内の各頂点62が評価され、デシメーションキューが作成されると、キュー内の頂点62が、デシメーションに関して評価される順番を決定するために、デシメーションキュー内の頂点62には、互いに優先順位が付けられる(ステップ126)。さらに詳細には、キュー内の頂点62及びそれらの対応する近隣には、多面化表面の最も平坦なエリアが最初にデシメーションされるように、優先順位が付けられる必要がある。
例示的な実施形態において、処理装置16は、キュー内の各頂点62を考慮して、特定の所定計量に対応する値をそれぞれに割り当て、そして割り当てた計量値に従って、頂点62を並び換える。
例示的な目的のためだけに提供される一実施形態において、用いられた計量は、デシメーションキュー内のこれら頂点62の近隣内の頂点62とそれぞれの近隣に対応する平均平面との間の距離に関連する。こうした実施形態において、処理装置16は、考慮中のデシメーションキューから、頂点62の近隣に対する平均平面を決定するように構成される。これは、当該近隣内の頂点62(しかし、考慮された頂点62を除く)の全てに対して平面を適合させることによって行われてもよい。そして、処理装置16は、平均平面からの、当該近隣内の各頂点62の距離を測定又は算出する。そして、処理装置16は、当該近隣に対する平均平面からの最大絶対距離を決定する。例えば、当該近隣内に3つの頂点62があり、これら頂点62が、それぞれ、平均平面から、平面の上に2ミリメートル(+2mm)、ゼロミリメートル(0mm)、及び平面の下に2ミリメートル(−2mm)の距離を有する場合、考慮された頂点62に対応する近隣に対する最大絶対距離、したがって、優先順位付けの目的のために、考慮された頂点62に割り当てられる最大絶対距離は、2ミリメートル(2mm)である。キュー内の所定の頂点62に対する最大絶対距離が決定されると、処理装置16は、デシメーションキュー内の次の頂点62に進み、当該頂点62に対する最大絶対距離を決定する同様の処理を行うように構成される。
キュー内の各頂点62が考慮され、その各近隣に対応する最大絶対距離が割り当てられると、処理装置16は、最も小さい最大絶対距離から最も大きい最大絶対距離の順に、頂点62を並び換えるように構成される。最も小さい最大絶対距離を有する頂点62は、(多面化表面の「最も平坦」又は最も共平面なエリアを表すので)最高優先順位とみなされ、一方、最も大きい最大絶対距離を有する頂点62は、デシメーションの目的のために最低優先順位とみなされる。上述のような計量(例えば、近隣の平均平面からの最大絶対距離)に基づいた頂点の優先順位付けを基準として使用することに加え、例示的な実施形態において、最低度の頂点、すなわち、特定数の隣接小面(例えば、3又は4個の小面)のみを有する頂点62の優先順位が、当該頂点62がプリエンプティブデシメーションの対象となるように、人為的に高くされてもよい。
上の記載は、近隣の平均平面からの最大絶対距離を、デシメーションキューに優先順位を付けるための計量として用いることに限定したが、本開示はそのように限定されることを意図していないことが理解される。むしろ、他の計量が、デシメーションキューに優先順位を付けるために用いられてもよく、そのような他の計量は本開示の精神及び範囲の中にあることを、当業者は理解するであろう。
デシメーションキューが作成され、その中の頂点62に優先順位が付けられると、処理装置16は、実際のデシメーションプロセスを開始するように構成される。例示的な実施形態において、図13Aに示すように、処理装置16は、表面モデル58の多面化表面内の最高優先順位エッジ64をコラプスする(ステップ130)ように構成される。さらに詳細には、処理装置16は、キュー内の最高優先順位の頂点62を選択し(ステップ127)、当該最高優先順位の頂点62に基づいて、多面化表面の最高優先順位エッジ64を決定する(ステップ128)。そうするために、処理装置16は、最高優先順位の頂点62に隣接する頂点62(すなわち、最高優先順位の頂点62と共に、小面60のエッジ64を形成する頂点)のうちのどれが、最高優先順位の頂点62に対して距離が最も近いかを判定する。最高優先順位の頂点62と最も近い隣接する頂点62とで形成されたエッジ64が、最高優先順位エッジ64である。そして、処理装置16は、評価中の頂点62(キューから取得された最高優先順位の頂点)を多面化表面から消去し、付随する全てのエッジ64を最高優先順位エッジ64の残りの頂点62(すなわち、評価中の頂点62に最も近い隣接する頂点であった頂点62)に移動させることによって、最高優先順位エッジ64をコラプスする(ステップ131)。よって、現在、残りの頂点62は、消去された頂点が前にその一部となっていた全てのエッジ64の一部となっている。その結果、最高優先順位エッジ64がもう存在しないため、今しがたコラプスされた最高優先順位エッジ64を共有した2つの小面が、多面化表面から排除される。
図13Bに示すような例示的な実施形態において、最高優先順位の頂点62を消去して最高優先順位エッジ64をコラプスする前に、処理装置16は、一つ以上の所定条件を評価して、実際に、デシメーションプロセスが、評価中の最高優先順位の頂点62、又は最高優先順位の頂点62とそれに最も近い隣接する頂点62とがその一部である最高優先順位エッジ64に対して実行されるべきかを判定する(図13B中のステップ132)ように構成される。
例えば、例示的な実施形態において、処理装置16は、最も近い隣接する頂点62(すなわち最高優先順位の頂点62と共にエッジ64を形成する最も近い頂点62)が、最高優先順位の頂点62から所定の閾値距離を超えていると、処理装置16によって判定される場合、デシメーションキューから評価中の最高優先順位の頂点62を削除する(すなわち、デシメーション処置を、当該頂点62に対して行わない)ように構成される。そのような例において、最高優先順位の頂点62は拒絶され、デシメーションキューから削除される。閾値距離は、システム10、特に処理装置16のセットアップの一部として(すなわち、システム10の製造中又はシステム10の初期化中かつ使用前に)設定されてもよい。さらに閾値距離は、調整不可能でもよく、又は、システム10のユーザが、例えば、図1に最も良く示される上述のユーザインターフェース53を用いることによって、調整可能であってもよい。閾値距離は、約数ミリメートルである。例えば、例示的な目的のためだけに提供される一実施形態において、閾値距離は、4ミリメートル(4mm)である。しかし、閾値距離が4mmより大きい又は小さい実施形態が、本開示の精神及び範囲の中にあることが理解される。例示的な実施形態において、頂点62がデシメーションキューから上述のように削除されると、処理装置16は、デシメーションプロセスの現在の反復を停止し、そして以下に記載するように、次の反復のための処理を再開するように構成される。
さらに、あるいは代替的に、処理装置16は、評価中の最高優先順位の頂点62が、アルゴリズムの現在の反復中(すなわち、デシメーションキュー内の頂点を通じた現在の進行の間)に、前にコラプスされたいずれかのエッジ64の一部であったか否かを判定するように構成されてもよい。もしそのような場合、例示的な実施形態において、処理装置16は、評価中の最高優先順位の頂点62をデシメーションキューから削除し、キュー内の次の最高優先順位の頂点62に対して上述の処理を繰り返す。逆に、評価中の最高優先順位の頂点62が、前にコラプスされたエッジ64の一部ではない場合、その後、処理を上述のように続けてもよい。そのような条件の目的は、デシメーションアルゴリズムの単一の反復の効果を、近隣毎に多くとも一つのコラプスされたエッジ64に制限するためである。
処理装置16が、エッジ64をコラプスする前に、任意の所定条件を評価するように構成されようとされまいと、例示的な実施形態において、処理装置16は、頂点62の削除及びその結果生じたエッジ64のコラプスが、多面化表面に与える影響を評価する(図13B中のステップ136)ように構成される。例えば、処理装置16は、周囲の小面の向きのいずれかが、所定の閾値又は許容量を超えて摂動されるかどうかを判定するように構成されてもよい。もしそのような場合、処理装置16は、コラプスを取り消すように構成されてもよい。さらに詳細には、表面のエッジ64のコラプスによって、例えば小面60が反転され、狭められ、又は広げられるなどのアーチファクトを生じる場合があり、これらアーチファクトの全てがデシメーションプロセスの望ましくない影響となる場合がある。したがって、後処理ルーチンが行われ、それによって、エッジ64のコラプスの影響を、当該コラプスによって生じた摂動が許容できるか否かを判定するために、評価してもよい。一つのそのようなルーチンが、影響を受けた小面60の向きを考慮に入れるものであってもよい。さらに詳細には、小面60の向きが、当該小面60に対する小面法線ベクトルを再計算し、そして再計算された小面法線をその以前の方向と比較することによって、測定される。この比較によって、処理装置16は、いずれかの摂動が上記所定の閾値を超えるか否かを判定し、もしそのような場合、場合によってはコラプスを取り消すように構成される。
評価され満たさなければならない前述の条件がない場合、又は、そのような条件が存在し満たされている場合、エッジ64がコラプスされると、例示的な実施形態において、処理装置16は、当該コラプスは取り消される必要がないと判定し、処理装置16は、消去された頂点62を、デシメーションキューから、そして簡易に上述したように表面モデル58の多面化表面から、削除する(ステップ131)ように構成される。さらに、処理装置16は、そして、影響を受けた全ての隣接関係情報を更新し、コラプスされたエッジ64の近隣内の影響を受けた全ての頂点法線を再計算する(ステップ131のサブステップ134)ように構成され、以下に記載するように、これら頂点法線は、デシメーションアルゴリズムの次の反復において処理装置16に用いられる場合がある。したがって、この情報は、例えば、図1に示すメモリ47などの、処理装置16と関連付けられた又は処理装置16がアクセス可能なメモリに格納されてもよい。
上述のデシメーションプロセスが、所定の頂点62に対して完了すると、処理装置16は、上述のステップ127で始まる処理を、上記と同じ方法で、デシメーションキュー内の次の最高優先順位の頂点62に対して繰り返すことによって、デシメーションプロセスの現在の反復を続けるように構成される。
デシメーションキュー内の全ての頂点62に対して上述の処理が完了する(すなわち、処理の反復が完了する)と、又は、デシメーションプロセスの現在の反復が、(上述の理由で)終了すると、処理装置16は、デシメーションプロセスの現在の反復を終了し、上記と同じ方法で、全体の処理を繰り返す。しかし、例示的な実施形態において、処理のステップの一部は、直前の反復中に既に行われているため、反復する必要がないことに留意されたい。
例えば、例示的な実施形態において、頂点62がデシメーションキュー及び表面モデル58の多面化表面から消去されると、処理装置16は、影響を受けた全ての隣接関係情報を更新し、コラプスされたエッジ64の近隣内の影響を受けた全ての頂点法線を再計算するように構成される。よって、隣接関係情報及び頂点法線は、前の反復中に隣接関係情報及び頂点法線が更新された特定の近隣について、更新される又は再計算される必要がない。むしろ、処理装置16は、例えば、処理装置16と関連付けられた又は処理装置16がアクセス可能で、且つ隣接関係情報が格納されたメモリから、必要な情報を獲得するように構成される。同様に、デシメーションプロセスの前の反復による影響を受けていない表面モデル58のエリア又は近隣についての隣接関係情報及び頂点法線も、デシメーションプロセスの前の反復の結果、これらエリア又は近隣についての隣接関係情報及び頂点法線に変更がないため、更新又は再計算される必要がない。よって、こうした実施形態において、処理装置16は、図13A及び13Bに示される、上述のステップ122で始まる処理を繰り返す。
上述のデシメーションプロセスは反復型プロセスであり、デシメーション基準を満たす多面化表面内の頂点62(例えば、でこぼこであるか又は少なくとも十分に平坦でないとみなされるエリアに配置された全ての頂点62)がなくなるまで、任意の回数又は反復が繰り返され得る。多面化表面を構成する小面60の数が、所定の最小小面数を満たす、あるいは、小面が、デシメーションが有益でない又は望ましくないほど大きい(すなわち、他ではデシメーション基準を満たしている全ての頂点62から生じる全てのエッジが、所定の長さ(例えば、4mm)を超える)と判定されると、デシメーションプロセスは、終了してもよい。
図5に示すように、例示的な実施形態において、処理装置16は、表面モデル58の多面化表面の小面60に対して平滑化工程を行う(ステップ138)ように構成される。平滑化工程は、上述のデシメーションプロセスが多面化表面に対して行われるかどうかに関わらず行われてもよい。しかし、多面化表面がデシメーションされる例示的な実施形態において、平滑化工程は、デシメーションプロセスの完了後に行われる。一般的に、平滑化工程は、例えば、表面モデル58の多面化表面をより均一且つ規則的にし、そして、小面60をより正確で且つ歪みが少なくなるように機能する。図15を参照して、例示的な実施形態において、多面化表面は、当該分野に公知の簡易ラプラシアン緩和技術を用いて平滑化される。しかし、要するに処理装置16は、多面化表面内の各頂点62を評価し、それに対応する平滑化された座標を算出するように構成され、これによって多面化表面を平滑化する。
さらに詳細には、例示的な実施形態において、処理装置16は、評価される頂点62を選択し(ステップ139)、選択された頂点62と小面60を共有する頂点62のリストと、当該頂点62の各(x,y,z)座標(すなわち、各頂点62が、整数座標の三次元空間に変換される)とを作成する(ステップ140)ように構成される。したがって、選択された頂点62についての頂点62のリスト(例えば、座標(x1,y1,z1))は、選択された頂点62と小面60を共有する頂点62(例えば、座標(x2,y2,z2)、・・・、(xL,yL,zL)、「L」は、リスト内の頂点62の数である)を含む。頂点のリストが作成されると、処理装置16は、選択された頂点について、平滑化された座標を算出する(ステップ142)ように構成される。
例示的な実施形態において、処理装置16は、以下の等式(12)を用いて、平滑化された座標を算出するように構成される。
等式(12)中、項「wl」は、加算演算の一部(ステップ141)である、各頂点62に割り当てられる重み値である。重み値は、常に正の値であり、全ての重みの合計は、常に1に等しい。重み値は、リスト内のどの頂点62が、選択された頂点62に対してより大きな「引力」(pull)を有するか、よって、選択された頂点62が、どの頂点すなわちリスト内のどの頂点62に対してより強く引っ張られるかを示す。したがって、重みが等しいか又は均一である場合、リスト内の各頂点62の引力が等しくなる。一方、一部の頂点62が他より大きな重みを有する場合、より大きな重みを有する頂点62の引力は、より小さい重みを有する頂点62の引力より強くなる。
重みの特定の値は、様々な要因に依存してもよい。一つの要因は、リスト内にあり、よって選択された頂点62と小面60を共有する、頂点62の数であってもよい。例えば、図14中の頂点621が、座標が平滑化される選択された頂点であるとする。したがって、図14に示すように、選択された頂点621と小面60を共有する頂点は6個(頂点622〜627)あり、よってリスト内に6個の頂点がある。リスト内の頂点622〜627のそれぞれは重みが割り当てられ、これら重みの合計は値1に等しい。リスト内の各頂点が同じ面の一部である(すなわち、同じ表面モデル58内にある)例示的な実施形態において、頂点62の重みは均一である。したがって本例において、6個の頂点622〜627のそれぞれは、「1/6」すなわち(0.167)の重みを有する。
平滑化された座標が、一つの頂点62について決定されると、処理装置は、多面化表面の評価される他の頂点62があるかどうかを判定し(ステップ144)、上述の平滑化プロセスを、表面モデル58の多面化表面内の残りの各頂点62に対して、全ての頂点62が評価されそれらの平滑化された座標が決定されるまで、繰り返すように構成される。
簡易に上述したように、そして、図5に示すように、上述の技術を用いて、対象の構造の所望の領域について、表面モデルが生成されると、例えば、処理装置16は、個別表面モデルを結合して、対象の構造の複合表面モデルを形成する(ステップ102)ように構成される。例示的な実施形態において、処理装置16は、対象の構造の所望の対象領域の多面化表面に対応するブールユニオン近似を計算又は算出することによって、個別表面モデルを結合するように構成される。言い換えると、対象領域の表面モデル58は、表面モデル58の三次元ブールユニオン近似を算出又は計算することによって結合される。
一般的に、処理装置16は、上述の個別表面モデル58の生成とほぼ同じ方法で、ブールユニオン近似を計算/算出するように構成される。さらに詳細には、例示的な実施形態において、処理装置16は、まず、対象の個別領域に対応する多面化表面から、ボクセルの格子を算出又は構築するように構成される。言い換えると、2つ以上の個別表面モデルの2つ以上の多面化表面が組み合わされて、一つの共通のボクセル格子となる。例示の目的のために、図16は、対象の構造の異なる領域に対応し、且つ結合されて複合表面モデルを作成する一対の簡略化した長円形の表面モデルについて算出されたボクセル格子66を示す。ボクセル格子66が算出又は構築されると、処理装置16は、例えば、マーチングキューブ法のアルゴリズムを用いて、ボクセル格子66から、多面化単一の複合表面モデルを抽出するように構成される。例示的な実施形態において、処理装置16は次いで、個別表面モデル58の生成に関して上述した方法と同じ又は類似の方法で、結果として生じた多面化表面をデシメーション及び/又は平滑化するように構成される。
したがって、図17を参照すると、処理装置16は、複数のボクセル68を含む二元のボクセル格子66を算出又は構築し(ステップ146)、個別表面モデル58のボクセル格子の構築に関して上述した方法とほぼ同じ方法で、ボクセルの値のソースを特定する指数を維持するように構成される。しかしさらに詳細には、例示的な実施形態において、処理装置16は、結合される各個別表面モデル58の多面化表面を読み出し(ステップ148)、例示的な実施形態において、各個別表面モデルの各小面に、当該小面が属する対象領域の識別子をつけるように構成される。処理装置16は、個別の多面化表面内の小面60の頂点62のそれぞれを、整数座標の三次元空間に変換する(ステップ150)ように構成される。例示的な実施形態において、各整数座標は、以下に記載するような理由で、その値が偶数となるように摂動される。処理装置16はそして、結合される表面モデル58の全ての頂点62を含む境界ボックスを画定する(ステップ152)ように構成される。
例示的な実施形態において、境界ボックスが画定されると、境界ボックスのユークリッド座標(すなわち、(MINx,MINy,MINz)及び(MAXx,MAXy,MAXz))が、決定される。さらに詳細には、x、y、z軸のそれぞれに沿った最小値及び最大値が決定され、境界ボックスの座標として用いられる。したがって、境界ボックスのx座標を決定するために、処理装置16は、表面モデル58の全ての頂点62のうち、最小の「x値」を有する個別表面モデル58の頂点62と、表面モデル58内の全ての頂点62のうち、最大の「x値」を有する頂点62とを決定するように構成される。そして、処理装置16は、各最小値及び最大値を、境界ボックスの最小及び最大のx座標として用いる。境界ボックスの最小及び最大のy座標とz座標が、x座標に関して上述された方法と同じ方法で、決定される。
例示的な実施形態において、境界ボックスは、境界ボックス52に関して上述した方法と同じ又は類似の方法で、パディング又は拡張されてもよい(例えば、境界ボックスは、その寸法が、境界ボックスに対応するボクセル格子を構成するボクセルの寸法の整数倍となるように、又は寸法を一つ以上のボクセルだけ単に拡張するように、パディングされてもよい)。そのような例において、拡張された境界ボックスの座標は、境界ボックス52に関して上述した方法とほぼ同じ方法で決定される。
境界ボックスの座標の決定に続いて、処理装置16は、境界ボックス内にボクセル格子66を構築する(ステップ153)ように構成される。ボクセル格子66は、ボクセル格子66内の各ボクセル68(ボクセル68を構成する、図16において水平及び垂直格子線が交差する各点)間の距離に対応する所定の値「ν」を有する。値νは、システム10、特に処理装置16のセットアップの一部として(すなわち、システム10の製造中又はシステム10の初期化中かつ使用前に)設定されてもよい。さらに、当該値は、調整不可能でもよく、又は、システム10のユーザが、例えば、上述のユーザインターフェース53を用いることによって調整可能であってもよい。例示的な実施形態において、値νは、約0.75mmであるが、本開示はそのように限定されることを意図していない。
結合される両方(又は全て)の個別表面モデル58を含むボクセル格子66が算出されると、処理装置16は、格子66のどのボクセル68が、結合される多面化表面の内部にあるか、そしてどのボクセル68が外部にあるかを判定する(ステップ154)ように構成される。例示的な実施形態において、これは、当該分野で周知のレイキャスティング技術を用いて行われる。しかし要するに、ボクセル格子66は、x方向におけるIセル、y方向におけるJセル及びz方向におけるKセルによって与えられる寸法を有する。よって、ボクセル格子54及びそのボクセル56に関して上述したように、各ボクセル68は、(i,j,k)指数を有する。例示的な実施形態において、レイキャスティング技術は、「i」方向に複数の光線を放つことを含む。各光線は、j−k面内の各点に中心があり、j−k面は、i=0となるボクセル格子66の側面にあるボクセル空間自体の断面である。したがって、光線の起点は、座標(0,MINy+jν,MINz+kν)を有する。例示的な実施形態において、個別表面モデルの頂点62の座標は(簡易に上述したように)偶数であるため、各光線の起点は奇数にされる。これは、光線が確実に表面モデルの小面60の頂点62を含まないようにするために行われる。
各光線は、当該光線がi=I(格子の「i」方向におけるボクセルの数である)となるボクセル格子の他の側面に到達するまで、i=0となるj−k面上の各点から放たれる。光線のJ座標及びk座標は、光線の長さに沿って一定のままである。放たれる光線の最大数は、ボクセル格子66の寸法の関数である。したがって、ボクセル格子66は寸法J−Kを有するため、レイキャスティング技術中に放たれる光線の可能な最大数は、J×Kである。
各光線は、個別表面モデル58の多面化表面によってその境界が画定される立体内にある、「i」方向に沿うボクセル68の集合を決定するために用いられる。図16は、レイキャスティングプロセスを示し、ボクセル格子66(ボクセル68I)内に含まれる一つ以上の立体の境界内にあると判定されたボクセル68を、当該立体の外にあると判定されたボクセル68と区別して示す。立体のうちの少なくとも一つの内にあると判定されたボクセル68は、以下に記載するように、複合表面モデルを生成するために用いられる。これらボクセル68Iのそれぞれの値は1に設定され、各立体に対応するボクセル68Iのそれぞれの集合は、ボクセル68Iの集合を含む立体の指数で特定される。
レイキャスティングプロセスの間、光線は、2つの小面60によって共有されるエッジと交差する場合がある。このことによって生じる問題は、この交点が、両方の小面60の一部となり得ないことである。したがって、そのような例において、交差が生じる点がどちらの小面60に属するかについて、決定又は指示がなされる必要がある。いずれの場合も、この決定又は指示を行うプロセスは、一貫性を確保するために均等に適用される必要がある。この決定を行うために適用され得る一つの例示的な技術では、摂動を光線の位置に導入する。さらに詳細には、例示的な実施形態において、例えば微少の摂動が光線のz位置に加えられてもよい。光線の位置を摂動することによって、光線は、共有されたエッジと交差しなくなり、むしろ当該光線は当該エッジからずれて、そして当該光線が当初交差したエッジを共有する2つの小面60のうちの一つだけの一部となる。光線の位置への摂動は、エッジと光線との外積の符号を分析し、それに従って摂動を行うことによってなされてもよい。
上の記載は、光線の中心をj−k面内の点に置き、「i」方向に光線を放つことに関するものであるが、他の例示的な実施形態において、光線は、i−j、i−k又はj−k面のいずれかの面上に中心が置かれてもよく、あるいは光線が非軸状に並んでもよく(例えば、データが別の座標システムに変換され得る)、よってこれら実施形態は本開示の精神及び範囲の中にあることが理解される。
処理装置16が、どのボクセル68(すなわち68I)を複合表面モデル(すなわち、ブールユニオン近似)の生成に用いるかを決定するように構成され、例示的な実施形態において、処理装置16は、個別表面モデル58が生成された方法とほぼ同じ方法で、複合表面モデルを生成する(ステップ156)ように構成される。
したがって、例示的な実施形態において、処理装置16は、ボクセル68Iを処理して、ボクセル68Iに対応する複合表面モデル70を抽出する(ステップ158)ように構成される。図18は、例示的な複合表面モデル70の多面化表面の一部を示す。複合表面モデル70は、ボクセル格子66の各ボクセル68Iが、複合表面モデル70内の頂点72を含む、多面化表面を有する。例示的な実施形態において、多面化表面の小面74は、三角形であるが、本開示はそのように限定されることを意図していない。
例示的な実施形態において、処理装置16は例えば、マーチングキューブ法の技術を用いてボクセル68Iから複合表面モデル70を抽出するように構成される。しかし、マーチングキューブ法の技術以外の技術が、ボクセル68Iから複合表面モデル70を抽出又は生成するために用いられてもよく、これら技術は本開示の精神及び範囲の中にあることが理解される。
上述の個別表面モデル58の生成と同様に、例示的な実施形態において、処理装置16は、抽出後の又は生成後の処理工程を、複合表面モデル70の多面化表面に対して行うように構成される。例えば、処理装置16は、複合表面モデル70の多面化表面から、余分な小面74をデシメーションする(ステップ160)ように構成されてもよい。処理装置16が、デシメーションプロセスを行うように構成される実施形態において、処理装置16は、個別表面モデル58の多面化表面のデシメーションに関して詳細に上述した特定の技術を用いてもよい。したがって、複合表面モデル70の多面化表面の各頂点72及び/又は小面74は、個別表面モデル58、特にその多面化表面のデシメーションに関して上述した方法と同じ方法で、評価又は考慮される。よって、上記の説明が、ここで同様に適用され、繰り返されずにむしろ参照により組み込まれる。
複合表面モデル70の多面化表面がデシメーションされようとされまいと、例示的な実施形態において、処理装置16は、複合表面モデル70の多面化表面に対して、平滑化工程を行う(ステップ162)ように構成される。上述のように、平滑化工程は、例えば、複合表面モデル70の多面化表面をより均一に且つ規則的にし、そして小面74をより正確で且つ歪みが少なくなるようにし、さらに、個別表面モデル58となるものの間で複合表面モデル70が遷移するエリアを操作する(massage)ように機能する。
図15を参照し、そして個別表面モデル58の多面化表面の平滑化に関して上述したように、例示的な実施形態において、多面化表面は、それには限定されないが例えばラプラシアン緩和技術などの、当該分野で公知の様々な技術を用いて平滑化されてもよい。しかし要するに、処理装置16は、多面化表面内の各頂点72を評価し、それに対応する平滑化された座標を算出するように構成され、これによって多面化表面を平滑化する。
さらに詳細には、処理装置16は、評価される頂点72を選択し(ステップ139)、選択された頂点72と小面74を共有する頂点72のリストと、当該頂点72の各(x,y,z)座標(すなわち、各頂点72が、整数座標の三次元空間に変換される)とを作成する(ステップ140)ように構成される。したがって、選択された頂点72についての頂点72のリスト(例えば、座標(x1,y1,z1))は、選択された頂点72と小面74を共有する頂点72(例えば、座標(x2,y2,z2)、...、(xL,yL,zL)、「L」は、リスト内の頂点72の数である)を含む。頂点のリストが作成されると、処理装置16は、選択された頂点について平滑化された座標を算出する(ステップ142)ように構成される。
例示的な実施形態において、処理装置16は、上述の等式(12)を用いることによって、平滑化された座標を算出するように構成される。上述のように、等式(12)の項「wl」は、加算演算の一部(ステップ141)である各頂点72に割り当てられる重み値である。重み値は常に正の値であり、全ての重みの合計は常に1に等しい。上述のように、重み値は、リスト内のどの頂点72が選択された頂点72に対して最大の「引力」を有するか、よって選択された頂点72が、リスト内のどの頂点又は複数の頂点72に対してより強く引っ張られるかを示す。したがって、重みが等しいか又は均一である場合、リスト内の各頂点72の引力が等しくなる。一方、一部の頂点72が他より大きな重みを有する場合、より大きな重みを有する頂点72の引力は、より小さい重みを有する頂点72の引力より強くなる。
重みの特定の値は、様々な要因に依存してもよい。一つの要因は、リスト内にあって、よって選択された頂点72と小面74を共有する頂点72の数であってもよい。例えば、例示のために、図18中の頂点722が、座標が平滑化される選択された頂点であるとする。したがって、図18に示すように、選択された頂点722と小面74を共有する頂点は6個(頂点721及び723〜727)あり、よってリスト内に6個の頂点がある。リスト内の頂点721及び723〜727のそれぞれは重みが割り当てられ、これら重みの合計は値1に等しい。リスト内の各頂点が、同じ面の一部である(すなわち、同じ表面モデル58からのものである)例示的な実施形態において、頂点72の重みは均一である。したがって本例において、6個の頂点721及び723〜727のそれぞれは、1/6(すなわち0.167)の重みを有する。
複合表面モデルに対する平滑化工程の実行にのみ適用可能な別の要因は、選択された頂点72が、結合される2つの異なる面に共有される(すなわち、両方の表面モデル58が、結合して複合表面モデル70を形成する場合に、頂点72が当該表面モデル58に共有される)か否かである。そのような例において、結合される2つの異なる面に共有される頂点リスト内の頂点72は、2つの面に共有されない頂点72より大きい重みが割り当てられる。
例えば、例示のために、図18中の頂点722が、座標が平滑化される選択された頂点であるとする。したがって、図18に示すように、選択された頂点722と小面74を共有する頂点は6個(頂点721及び723〜727)あり、よって、リスト内に、6個の頂点がある。リスト内の頂点721及び723〜727のそれぞれは、重みが割り当てられ、これら重みの合計は値1に等しい。さらに複合表面モデル70の小面741〜743は、一つの個別表面モデルからのものであり、一方小面744〜746は、別の個別表面モデルからのものであるとする。したがって、頂点721〜723のそれぞれは、結合され複合表面モデル70を形成する両方の表面モデルに共有される。よって、頂点721〜723のそれぞれは、残りの頂点72(頂点724〜727)の重みと異なり且つこれら重みより大きい重みが割り当てられる。例えば、一例示的な実施形態において、頂点721〜723のそれぞれは、「48/100」すなわち(0.48)の重みが割り当てられ、一方、リスト内の残りの頂点72は、それぞれ(「1/100」)すなわち(0.01)の重みが割り当てられてもよい。これらの重みを考慮して、選択された頂点722は、ピンと張ったラインになるように頂点721及び723の両方に向かってより強く引っ張られ、平滑な境界を形成する。上述の特定の重みは、単に例示的なものであり、限定的なものであることを全く意図しないことが理解される。実際、重みは、境界が多少ピンと張るように調整されてもよい。
いずれにしても、適切な重みが割り当てられると、所定の選択された頂点72について、平滑化された座標を決定するために、等式(12)が実行されもよい。一つの頂点72について、平滑化された座標が決定されると、処理装置16は、多面化表面の評価される他の頂点72があるかどうかを判定し(ステップ144)、上述の平滑化プロセスを、複合表面モデル70の多面化表面内の残りの各頂点72に対して、全ての頂点72が評価されそれらの平滑化された座標が決定されるまで、繰り返すように構成される。
平滑化工程が完了すると、複合表面モデル70の生成も完了し、その結果が、対象の構造の三次元複合表面モデルである。
上述のシステム10の構造に加えて、本開示の別の局面は、一つ以上の幾何学的構造の三次元表面モデルを生成するための方法であることが理解される。例示的な実施形態において、上述のように、システム10のモデル構築システム14、特にモデル構築システム14の処理装置16は、当該方法を行うように構成される。しかし他の例示的な実施形態において、処理装置16は、方法の全てではなく一部を行うように構成される。こうした実施形態において、システム10、特にシステム10のモデル構築システム14の一部分である別の構成要素、又はシステム10、特にシステム10の処理装置16と通信するように構成された別の構成要素は、方法の一部を行うように構成される。
いずれの例においても、図5を参照すると、例示的な実施形態において、方法は、最も一般的な形態で、対象の構造の各対象領域について、三次元表面モデルを生成するステップ100を含む。複数の対象領域の複数の表面モデルが生成される例示的な実施形態において、方法は、個別表面モデルを結合して対象の構造の複合表面モデルを形成するステップ102を含んでもよい。
例示的な実施形態において、生成するステップ100は、対象の構造の各対象領域について、場所データ点の集合を獲得するサブステップ104を含む。場所データ点の各集合は、場所データ点の当該集合が対応する各対象領域の表面上のそれぞれの位置に対応する複数の場所データ点を含む。場所データ点は、様々な方法で獲得されてもよい。一例示的な実施形態において、獲得するステップは、メモリ又は記憶装置から場所データ点を取得することを含んでもよい。別の例示的な実施形態において、獲得するステップは、例えば、カテーテルに取り付けられたセンサを用いて、対象領域のそれぞれの表面から場所データ点を収集することを含んでもよい。例示と説明を容易にする目的のために、そして簡潔さのために、以下の記載は、場所データ点の単一の集合に関するものである。しかし以下の記載は、対象の構造の対象領域の表面モデルを生成するために用いられる場所データ点の各集合に適用されることが理解される。したがって、以下に説明する方法のステップは、場所データ点の獲得された各集合に対して行われる。
場所データ点の集合が獲得されると、生成するステップ100は、場所データ点の獲得された集合に対応するボクセル格子を構築するサブステップ106を含む。ボクセル格子は、複数のボクセルを含み、生成するステップ100は、ボクセル格子のどのボクセルが、対象領域の表面モデルを生成するのに用いられるかを決定又は特定するサブステップ108を含む。例えば、表面モデル58の生成に関して上述した技術を含むがそれらには限定されない様々な技術が、表面モデルの生成に用いられるボクセルを決定又は特定するために用いられてもよい。サブステップ108のボクセルの特定に続いて、生成するステップ100は、対象領域について、多面化表面モデルを生成するサブステップ110を含む。例示的な実施形態において、サブステップ10は、サブステップ108で特定されたボクセル格子のボクセルからアルファ包近似を計算/算出又は抽出することによって、多面化表面モデルを生成することを含んでもよい。しかし、当該分野に公知の他の技術が用いられてもよく、そのような技術は本開示の精神及び範囲の中にあることが理解される。
対象領域の表面モデルが生成されると、複数の生成後の工程が、表面モデルの多面化表面に対して行われてもよい。例えば、例示的な実施形態において、方法は、表面モデルの多面化表面をデシメーションして、多面化表面から余分な小面を削除するステップ116を含む。デシメーションステップ116は、例えば、表面モデル58の多面化表面のデシメーションに関して上述し図13A及び13Bに示したステップを含んでもよいが、それらには限定されない。よって上記の説明は繰り返されず、むしろここに参照により組み込まれる。
ステップ100で生成された表面モデルの多面化表面がデシメーションされてもされなくても、表面モデルの多面化表面に対して行われ得る別の生成後の工程は、平滑化工程である。したがって、例示的な実施形態において、方法は平滑化するステップ138を含む。平滑化するステップは、例えば表面モデル58の多面化表面の平滑化に関して上述し図15に示したステップを含むが、それらには限定されない。よって上記の説明は繰り返されず、むしろここに参照により組み込まれる。
例示的な実施形態において、表面モデルが対象の構造の各対象領域について生成されると、個別表面モデルを結合して複合表面モデルを生成するステップ102が行われてもよい。例示的な実施形態において、結合するステップ102は、個別表面モデルのブールユニオン近似を算出又は計算することを含む。
結合するステップ102は、複数のサブステップを含んでもよい。複合表面モデル70の生成に関して上述した図17に示すような例示的な実施形態において、比較的一般的に、結合するステップ102は、対象の構造の対象領域の個別表面モデルに対応し且つ当該モデルを含む、複数のボクセルから構成されるボクセル格子を算出又は構築するサブステップ146を含む。例示的な実施形態において、サブステップ146は、個別表面モデルの多面化表面を読み出すステップ148と、各個別表面モデルの頂点を整数座標の三次元空間に変換するステップ150と、これら頂点を含む境界ボックスを画定するステップ152と、最後に、画定された境界ボックスに対応するボクセル格子を計算又は算出するステップ153とを含む。
ボクセル格子が構築されると、例示的な実施形態において、結合するステップ102は、ボクセル格子のどのボクセルが、複合表面モデルの生成に用いられるかを決定又は特定するサブステップ154を含む。例えば、複合表面モデル70の生成に関して上述したレイキャスティング技術を含むがそれには限定されない様々な技術が、表面モデルの生成に用いられるボクセルを決定又は特定するために用いられてもよい。サブステップ154のボクセルの特定に続いて、結合するステップ102は、対象の構造について、多面化複合表面モデルを生成するサブステップ156を含む。例示的な実施形態において、サブステップ156は、例えば、それには限定されないがマーチングキューブ法の技術を用いて、サブステップ154で特定されたボクセル格子のボクセルから多面化表面モデルを抽出するステップ158を含んでもよい。しかし、当該分野に公知の他の技術が用いられてもよく、そのような技術は、本開示の精神及び範囲の中にあることが理解される。
上述の個別表面モデルと同様に、対象の構造の複合表面モデルが生成されると、複数の生成後の工程が、複合表面モデルの多面化表面に対して行われてもよい。例えば、例示的な実施形態において、方法は、表面モデルの多面化表面をデシメーションして、多面化表面から余分な小面を削除するステップ160を含む。デシメーションステップ160は、例えば、表面モデル58及び複合表面モデル70の多面化表面のデシメーションに関して上述し図13A及び13Bに示したステップを含んでもよいが、それらには限定されない。よって上記の説明は繰り返されず、むしろここに参照により組み込まれる。
複合表面モデルの多面化表面がデシメーションされようとされまいと、行われ得る別の生成後の工程は、平滑化工程である。したがって、例示的な実施形態において、方法は、平滑化するステップ162を含む。平滑化するステップ162は、例えば、表面モデル58及び複合表面モデル70の多面化表面の平滑化に関して上述し図15に示したステップを含むが、それらには限定されない。よって上記の説明は繰り返されず、むしろここに参照により組み込まれる。
システム10に関して、先に詳述された追加の機能、ならびにモデル構築システム14、及び特にモデル構築システム14の処理装置16もまた、発明の方法の一部であってもよいことが理解される。したがって、こうした機能が方法に関して明示的に記載されていない範囲において、機能に関する上記の説明はここに参照により組み込まれる。
上述のような、モデル構築システム14、及び特に処理装置16は、関連付けられるメモリに格納された事前にプログラミングされた命令を実行できる、当該分野において公知の従来の処理装置を含んでもよく、事前プログラミングされた命令は全て本明細書に記載された機能に従って行うものであることが理解されるべきである。本発明の実施形態の方法のステップを含むがそれらには限定されない、本明細書に記載された方法は、好適な実施形態においてプログラミングされ、結果として生じるソフトウェアは、関連付けられるメモリに格納され、またそのように記載される場合においては、こうした方法を行うための手段を構成してもよいことが企図される。上記の可能にする記載を鑑みると、ソフトウェアでの本発明の実装は、当業者によるプログラミング技術の日常的な利用を必要とするにすぎない。こうしたシステムはさらに、ソフトウェアを格納でき、かつ動的に作り出されたデータ及び/又は信号の格納及び処理を可能にできるような、ROM、RAM、不揮発性及び揮発性(修正可能)のメモリの組み合わせの全てを有する種類のものであってもよい。
特定の実施形態のみを、ある程度詳細に上述したが、当業者は、本開示の範囲を逸脱することなく、開示された実施形態に対して様々な変更を行える。結合に関する言及(例えば、添付された、結合された、接続された、など)は広く解釈され、要素の接続間の中間の部材や、要素間の相対的な動きを含んでもよい。したがって、結合に関する言及は、その2つの要素が直接的に接続/結合され、互いに固定した関係にあることを必ずしも暗示しない。さらに、電気的に接続される、通信するという用語は、有線接続及び有線通信と無線接続及び無線通信との両方を含むように広く解釈されることを意図する。上記の説明に含まれる、又は添付の図面に示された全ての事項は、単なる例示として解釈され、限定として解釈されないことが意図される。詳細又は構造の変更が、添付の特許請求の範囲に定義される本発明を逸脱することなく行われてもよい。