(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
[実施の形態1]
第1の実施の形態においては、環状に配置されたランドマークを通る曲面によって物体の形状を分割する例について説明する。
【0012】
図1に、第1の実施の形態における情報処理装置1の機能ブロック図を示す。情報処理装置1は、ランドマーク格納部101と、第1算出部103と、第1関数格納部105と、セグメントデータ格納部107と、第2算出部109と、第2関数格納部111と、分割部113と、データ格納部115と、出力部117とを含む。
【0013】
第1算出部103は、ランドマーク格納部101に格納されたデータに基づき処理を実行し、処理結果を第1関数格納部105に格納する。第2算出部109は、セグメントデータ格納部107に格納されたデータに基づき処理を実行し、処理結果を第2関数格納部111に格納する。分割部113は、第1関数格納部105に格納されたデータ及び第2関数格納部111に格納されたデータに基づき処理を実行し、処理結果をデータ格納部115に格納する。出力部117は、データ格納部115に格納されたデータを出力する。
【0014】
図2に、医療画像上に配置されるランドマークの一例を示す。
図2は心室の医療画像を示す図であり、ランドマーク201乃至204が2つの弁輪上に配置されている。切断面は、弁輪を通る面とほぼ直交する。読影者は、複数層の医療画像について
図2に示すようなランドマークを配置する。そして、複数層の医療画像について配置されたランドマークを抽出すると、例えば
図3に示すようになる。
図3の例では、肺動脈弁、大動脈弁、僧帽弁、及び三尖弁の各々について配置されたランドマークが示されている。ランドマーク格納部101には、配置されたランドマークの位置情報(例えば、三次元構造格子上の位置を表す情報)が格納される。
【0015】
セグメントデータ格納部107に格納されたセグメントデータは三次元構造格子のデータである。三次元構造格子は、直方体の一様格子である。物体の境界面の内部に位置する格子点にはラベル値「1」が付与され、物体の境界面の外部に位置する格子点にはラベル値「0」が付与される。セグメントデータは、物体の境界面の内部である領域と物体の境界面の外部である領域とが指定された、
図4に示すような医療画像から生成される。
図4の例においては、物体の境界面の内部である領域が白色で表されており、物体の境界面の外部である領域が黒色で表されている。領域の指定はセグメンテーションとも呼ばれ、指定は読影者によって行われる。
【0016】
次に、
図5乃至
図15を用いて、第1の実施の形態における情報処理装置1が実行する処理について説明する。説明を簡単にするため、第1の実施の形態においては
図6に示すような物体及びランドマークを例にして説明する。
図6においては、正方形の図形はランドマークを表し、ランドマークは環状に配置されている。物体は円筒形状であり、物体の長軸方向はz軸方向と一致する。
【0017】
まず、情報処理装置1の第1算出部103は、分割面生成処理を実行する(
図5:ステップS1)。分割面生成処理については、
図7及び
図8を用いて説明する。
【0018】
第1算出部103は、ランドマーク格納部101に格納されたランドマークx
1,x
2,・・・,x
i,・・・,x
Nの位置情報に基づき、各ランドマークにおける単位主法線ベクトルn
i及び単位従法線ベクトルb
iを計算する(
図7:ステップS11)。ここで、Nはランドマークの数である。
【0019】
ステップS1における計算の詳細を以下に示す。まず、x
clを以下のように計算する。
【0021】
次に、x
iに基づきs
iを以下のように計算する。
【0023】
次に、s
iに基づきn
iチルダを以下のように計算する。
【0025】
この計算は、主法線の方向を揃えるために行われる。次に、n
iチルダに基づきn
iハットを以下のように計算する。
【0027】
この計算は、主法線ベクトルの振動を抑制するために行われる。次に、n
iハットに基づき単位主法線ベクトルn
iを以下のように計算する。
【0029】
次に、単位主法線ベクトルn
iに基づき単位従法線ベクトルb
iを以下のように計算する。
【0031】
そして、第1算出部103は、点集合p
1,p
2,・・・,p
j,・・・,p
Mを生成する(ステップS13)。ステップS13においては、M=3Nとして、以下のような点集合が生成される。
【0033】
すなわち、生成される点集合は、ランドマークと、ランドマークを従法線の正方向にε
b移動した点と、ランドマークを従法線の負方向にε
b移動した点とを含む。ε
bは定数であり、ランドマーク間の距離よりも十分に小さい値が採用される。本実施の形態においては、ε
b=1.0とする。
【0034】
第1算出部103は、陰関数gの関数値を設定する(ステップS15)。具体的には、以下のように関数値を設定する。これにより、陰関数gの値が0となる点の集合によって形成される面に凹凸が生じるのを抑制できるようになる。
【0036】
第1算出部103は、関数値がステップS15において設定された値になるように陰関数gを求め(ステップS17)、陰関数gのデータを第1関数格納部105に格納する。そして呼び出し元の処理に戻る。
【0037】
ステップS17においては、TPS(Thin Plate Spline)を用いて、以下の式を満たすようにα
j,β
0,β
1,β
2,β
3が決定される。但し、基底関数はφ
j(x)=−|x−p
j|である。
【0039】
ここでは、(1)式、(2)式及び(3)式を連立一次方程式とし、一般的な解法(例えば、ガウスの消去法或いはLU分解法)によってα
j,β
0,β
1,β
2,β
3を決定する。なお、x=(x,y,z)であり、p
j=(p
j,x,p
j,y,p
j,z)である。
【0040】
陰関数gの値が0となる点の集合によって形成される面(以下、分割面と呼ぶ)は、
図8に示すようになる。
図8においては、分割面801が黒色で表されている。分割面801はランドマークx
1,x
2,・・・,x
i,・・・,x
Nを通る。ランドマークについての従法線の正方向においては陰関数gの値は正になり、ランドマークについての従法線の負方向においては陰関数gの値は負になる。ここでは、物体と分割面との関係がわかりやすくなるように、分割面の一部が示されている。
【0041】
図5の説明に戻り、第2算出部109は、第1の実施の形態における形状生成処理を実行する(ステップS3)。第1の実施の形態における形状生成処理については、
図9乃至
図14を用いて説明する。
【0042】
まず、第2算出部109は、セグメントデータ格納部107に格納されたセグメントデータから、点集合p
v,1,p
v,2,・・・,p
v,j,・・・,p
v,Mvを生成する(
図9:ステップS21)。
【0043】
ステップS21においては、以下のようにして点集合p
v,1,p
v,2,・・・,p
v,j,・・・,p
v,Mvが生成される。添点vは、点集合が物体の境界であることを表す。
【0044】
はじめに、境界面の内部に位置する格子点(すなわち、ラベル値が0である格子点)のうち、隣接格子点の少なくともいずれかが境界面の外部に位置する格子点(すなわち、ラベル値が1である格子点)である格子点を内部境界点に設定する。ここで「隣接格子点」とは、注目した格子点からx方向に1d
x(d
xはx軸方向の格子間距離)離れた位置にある2点、注目した格子点からy方向に1d
y(d
yはy軸方向の格子間距離)離れた位置にある2点、及び、注目した格子点からz方向に1d
z(d
zはz軸方向の格子間距離)離れた位置にある2点を含む6点である。但し、格子点が空間の端に位置する場合には、隣接格子点は6点より少ない。
【0045】
例えば、或るxy平面におけるセグメントデータが
図10に示すような状態であるとする。
図10において、境界面の内部に位置する格子点は白丸で表されており、境界面の外部に位置する格子点は黒丸で表されている。この場合において内部境界点を設定すると、例えば
図11に示すようになる。
図11においては、内部境界点が白丸で表されており、境界面の外部に位置する格子点が黒丸で表されている。但し、内部境界点を表す白丸は、境界面の内部に位置する格子点を表す白丸よりも小さい。
【0046】
次に、境界面の外部に位置する格子点のうち、隣接格子点の少なくともいずれかが内部境界点である格子点を外部境界点とする。例えば
図11に示したような状態において外部境界点を設定すると、
図12に示すようになる。
図12においては、内部境界点が白丸で表されており、外部境界点が黒丸で表されている。但し、外部境界点を表す黒丸は、境界面の外部に位置する格子点を表す黒丸よりも小さい。
【0047】
次に、内部境界点の値を−1に設定し、外部境界点の値を+1に設定する。例えば
図12に示したような状態において値を設定すると、
図13に示すようになる。
【0048】
すなわち、点集合p
v,1,p
v,2,・・・,p
v,j,・・・,p
v,Mvに含まれる点は、内部境界点又は外部境界点である。
【0049】
図9の説明に戻り、第2算出部109は、陰関数fの関数値を設定する(ステップS23)。具体的には、以下のように関数値を設定する。
【0051】
第1算出部103は、関数値がステップS23において設定された値になるように陰関数fを求め(ステップS25)、陰関数fのデータを第2関数格納部111に格納する。そして呼び出し元の処理に戻る。
【0052】
ステップS23においては、TPSを用いて陰関数fが求められる。なお、TPSによって陰関数fを求めるのに時間がかかる場合は、例えば非特許文献1に記載の方法によって陰関数fを求めてもよい。
【0053】
陰関数fの値が0となる点の集合によって形成される境界(以下、陰関数fの0等値面と呼ぶ)は、
図14に示すようになる。
図14において、境界の内側(すなわち、円筒の内部)においては陰関数fの値は負になり、境界の外側(すなわち、円筒の外部)においては陰関数fの値は正になる。
【0054】
図5の説明に戻り、分割部113は、第1関数格納部105に格納された陰関数gのデータと、第2関数格納部111に格納された陰関数fのデータとに基づき、分割処理を実行し(ステップS5)、分割後の形状を表すボリュームデータをデータ格納部115に格納する。
【0055】
分割処理は、陰関数fの0等値面で表される形状を陰関数gの0等値面で分割する処理である。例えば、陰関数f=0且つ陰関数g>0を満たす点集合が分割処理において求められ、点集合についてのボリュームデータがデータ格納部115に格納される。
【0056】
なお、セグメントデータと同じ構造格子でボリュームデータを生成する場合、まず、セグメントデータの格子数、ボクセルサイズ、及び原点座標を用いて構造格子を生成する。そして、各格子点に対して、その格子点が陰関数g>0且つ陰関数f>0を満たす場合は−1を設定し、その格子点が陰関数g>0且つ陰関数f>0を満たさない場合は+1を設定する。これにより、2値のボリュームデータが生成される。また、例えばマーチングキューブ法によってボリュームデータにメッシュを貼り付けることで、メッシュデータを生成することもできる。
【0057】
出力部117は、データ格納部115に格納されたボリュームデータを、表示装置に出力する(ステップS7)。ボリュームデータと、分割面とを表示すると、例えば
図15に示すようになる。
図15に示すように、ランドマークを通る分割面によって物体が分割されており、物体のうち陰関数g>0を満たす部分が出力されている。
【0058】
なお、陰関数gの基底関数、陰関数fの基底関数、α
j,β
0,β
1,β
2,β
3、及び陰関数gと陰関数fの合成方法を出力すれば、ユーザ自身が
図15の表示を再現することができる。これにより、ボリュームデータを出力する際にユーザが格子数を自由に変更できるというメリットがある。また、格子数を減らせば、保存されるボリュームデータのサイズが小さくなる。
【0059】
以上のような処理を実行すれば、環状の構造を有する部分において物体を分割することができるようになる。そして、本実施の形態を弁輪に適用すれば、心室とそれ以外の部分とを分割する境界面を生成できるので、心室だけ或いはそれ以外の部分だけを抽出する処理が容易になる。これにより、心室についてのパラメータとそれ以外の部分についてのパラメータとを別々に設定すること等が容易になる。また、心室の形状とそれ以外の部分の形状とを別々に生成したうえで結合する場合と比べると、結合部分の形状が実際の形状に近いので、シミュレータの信頼性が高くなる。
【0060】
[実施の形態2]
第2の実施の形態においては、環状に配置されたランドマークに従って物体の形状を修正する例について説明する。
【0061】
図16に、第2の実施の形態における情報処理装置1の機能ブロック図を示す。情報処理装置1は、ランドマーク格納部101と、第1算出部103と、第1関数格納部105と、セグメントデータ格納部107と、第2算出部109と、点集合格納部110と、第3算出部119と、第3関数格納部121と、第4算出部123と、第4関数格納部125と、分割部113と、データ格納部115と、出力部117とを有する。
【0062】
第1算出部103は、ランドマーク格納部101に格納されたデータに基づき処理を実行し、処理結果を第1関数格納部105に格納する。第2算出部109は、セグメントデータ格納部107に格納されたデータに基づき処理を実行し、処理結果を点集合格納部110に格納する。第3算出部119は、ランドマーク格納部101に格納されたデータに基づき処理を実行し、処理結果を第3関数格納部121に格納する。第4算出部123は、点集合格納部110に格納されたデータ及び第3関数格納部121に格納されたデータを用いて処理を実行し、処理結果を第4関数格納部125に格納する。分割部113は、第1関数格納部105に格納されたデータ及び第4関数格納部125に格納されたデータに基づき処理を実行し、処理結果をデータ格納部115に格納する。出力部117は、データ格納部115に格納されたデータを出力する。
【0063】
次に、
図17乃至
図24を用いて、第2の実施の形態における情報処理装置1が実行する処理について説明する。第2の実施の形態においても、
図6に示すような物体及びランドマークを例にして説明する。
【0064】
まず、第3算出部119は、閉曲面生成処理を実行する(
図17:ステップS31)。閉曲面生成処理については、
図18乃至
図24を用いて説明する。
【0065】
第3算出部119は、ランドマーク格納部101に格納されたランドマークx
1,x
2,・・・,x
i,・・・,x
Nの位置情報に基づき、各ランドマークにおける単位主法線ベクトルn
i及び単位従法線ベクトルb
iを計算する(
図18:ステップS41)。本処理は第1の実施の形態におけるステップS11と同じ処理であるので、説明を省略する。
【0066】
第3算出部119は、点集合p
1,p
2,・・・,p
j,・・・,p
Mを生成する(ステップS43)。ステップS43においては、M=5Nとして、以下のような点集合が生成される。
【0068】
すなわち、生成される点集合は、ランドマークを法線の正方向にD移動した点と、ランドマークを法線の正方向に(D+ε
b)移動した点と、ランドマークを法線の正方向に(D−ε
b)移動した点と、ランドマークを法線の正方向にD移動し且つ従法線の正方向に7ε
b移動した点と、ランドマークを法線の正方向にD移動し且つ従法線の負方向に7ε
b移動した点とを含む。ε
bは定数であり、ランドマーク間の距離よりも十分に小さい値が採用される。本実施の形態においては、ε
b=1.0とする。Dは、閉曲面がランドマーク及びランドマークを通る曲面上に有る境界を包含するように設定されることが好ましい。本実施の形態においては、D=5ε
bとする。
【0069】
第3算出部119は、陰関数hの関数値を設定する(ステップS45)。具体的には、以下のように関数値を設定する。これにより、h=0を満たす点集合が、環状に配置されたランドマークを包含する閉曲面を形成するようになる。
【0071】
第3算出部119は、関数値がステップS45において設定された値になるように陰関数hを求め(ステップS47)、陰関数hのデータを第3関数格納部121に格納する。そして呼び出し元の処理に戻る。ステップS47においても、TPSを用いて陰関数hが求められる。基本的な考え方はステップS17の処理と同じなので、説明を省略する。
【0072】
陰関数hの値が0となる点の集合によって形成される面(以下、陰関数hの0等値面と呼ぶ)は、
図19に示すようになる。
図19において、正方形の図形はランドマークを表し、陰関数hの0等値面1901は楕円体の形状をした閉曲面である。陰関数hの0等値面1901はランドマークを包含する。閉曲面の内側においては陰関数hの値が負になり、閉曲面の外側においては陰関数hの値が正になる。
【0073】
図17の説明に戻り、第2算出部109及び第4算出部123は、第2の実施の形態における形状生成処理を実行する(ステップS33)。第2の実施の形態における形状生成処理については、
図20乃至
図22を用いて説明する。
【0074】
まず、第2算出部109は、セグメントデータ格納部107に格納されたセグメントデータから、点集合p
v,1,p
v,2,・・・,p
v,j,・・・,p
v,Mvを生成し(
図20:ステップS51)、点集合格納部110に格納する。
【0075】
ステップS51において生成される点集合は、ステップS21において生成される点集合と同じである。すなわち、点集合p
v,1,p
v,2,・・・,p
v,j,・・・,p
v,Mvに含まれる点は、内部境界点又は外部境界点である。
【0076】
第4算出部123は、点集合p
v,1,p
v,2,・・・,p
v,j,・・・,p
v,Mvに含まれる点のうち、h<0を満たす点を削除し、点集合p(bar)
v,1,p(bar)
v,2,・・・,p(bar)
v,j,・・・,p(bar)
v,Mv(bar)を生成する(ステップS53)。h<0を満たす点は、陰関数hの0等値面の内側に存在する点である。なお、p(bar)は、pにバー「−」を付すことを表す。また、
v,Mv(bar)は、添字のM及びvにバー「−」を付すことを表す。
【0077】
第4算出部123は、生成された点集合p(bar)
v,1,p(bar)
v,2,・・・,p(bar)
v,j,・・・,p(bar)
v,Mv(bar)に、ランドマークx
1,x
2,・・・,x
i,・・・,x
N及び点集合x
1±ε
bn
1,x
2±ε
bn
2,・・・,x
i±ε
bn
i,・・・,x
N±ε
bn
Nを追加する(ステップS55)。
【0078】
生成される点集合は、例えば
図21に示すようになる。ランドマーク付近(
図21において点線で示された部分)においては、物体の境界を表す点集合のうち閉曲面の内側に存在する点が削除され、ランドマークが追加されている。また、ランドマークを法線の正方向にε
b移動した点と、ランドマークを法線の負方向にε
b移動した点とが、ランドマーク付近の形状を安定させるために追加されている。
【0079】
第4算出部123は、陰関数fの関数値を設定する(ステップS57)。具体的には、以下のように関数値を設定する。
【0081】
第4算出部123は、関数値がステップS57において設定された値になるように陰関数fを求め(ステップS59)、陰関数fのデータを第4関数格納部125に格納する。そして呼び出し元の処理に戻る。
【0082】
ステップS59においては、第1の実施の形態と同様、TPSを用いて陰関数fが求められる。なお、TPSによって陰関数fを求めるのに時間がかかる場合は、例えば非特許文献1に記載の方法によって陰関数fを求めてもよい。
【0083】
陰関数fの値が0となる点の集合によって形成される境界(以下、陰関数fの0等値面と呼ぶ)は、
図22に示すようになる。
図22において、正方形の図形はランドマークを表す。境界の内側(すなわち、円筒の内部)においては陰関数fの値は負になり、境界の外側(すなわち、円筒の外部)においては陰関数fの値は正になる。上で述べたように関数値を設定したので、ランドマークを通るように境界が形成されている。
【0084】
図17の説明に戻り、第1算出部103は、分割面生成処理を実行する(
図17:ステップS35)。分割面生成処理については、
図7及び
図8を用いて説明したとおりであるので、説明を省略する。
図23に、分割処理によって生成される分割面(すなわち、陰関数gの0等値面)と陰関数fの0等値面とを示す。
図23に示すように、陰関数gの0等値面はランドマークを通り、物体の形状は陰関数gの等値面で分割される。
【0085】
分割部113は、第1関数格納部105に格納された陰関数gのデータと、第4関数格納部125に格納された陰関数fのデータとに基づき、分割処理を実行し(ステップS37)、分割後の形状を表すボリュームデータをデータ格納部115に格納する。ステップS37における分割処理は、ステップS5において説明した分割処理と同様であるので、説明を省略する。
【0086】
出力部117は、データ格納部115に格納されたボリュームデータを、表示装置に出力する(ステップS39)。ボリュームデータと、陰関数gの0等値面とを表示すると、例えば
図24に示すようになる。
図24に示すように、ランドマークを通る曲面によって物体が分割されており、物体のうち陰関数g<0を満たす部分2401と、物体のうち陰関数g>0を満たす部分2402とが出力されている。
【0087】
以上のような処理を実行すれば、環状の構造を有する部分の形状がランドマークに従って修正されるので、物体の形状をより実際の形状に近付けることができるようになる。
【0088】
[実施の形態3]
第3の実施の形態においては、第1の実施の形態において説明した技術及び第2の実施の形態において説明した技術に基づき心室の形状を修正する例について説明する。
【0089】
図25に、第3の実施の形態における情報処理装置1の機能ブロック図を示す。情報処理装置1は、セグメントデータ格納部107と、第2算出部109と、点集合格納部110と、ランドマーク格納部101と、第3算出部119と、第3関数格納部121と、第4算出部123と、第4関数格納部125と、削除部127と、データ格納部115と、出力部117とを有する。
【0090】
第2算出部109は、セグメントデータ格納部107に格納されたデータに基づき処理を実行し、処理結果を点集合格納部110に格納する。第3算出部119は、ランドマーク格納部101に格納されたデータに基づき処理を実行し、処理結果を第3関数格納部121に格納する。第4算出部123は、点集合格納部110に格納されたデータ及び第3関数格納部121に格納されたデータを用いて処理を実行し、処理結果を第4関数格納部125に格納する。削除部127は、第4関数格納部125に格納されたデータ及び第3関数格納部121に格納されたデータに基づき処理を実行し、処理結果をデータ格納部115に格納する。出力部117は、データ格納部115に格納されたデータを表示装置等に出力する。
【0091】
次に、
図26乃至
図33を用いて、第3の実施の形態における情報処理装置1が実行する処理について説明する。第3の実施の形態においては、
図26に示すような物体及びランドマークを例にして説明する。
図26において、物体は心室である。正方形の図形がランドマークを表し、ランドマークは弁輪付近に配置されている。第3の実施の形態においては、ランドマークに従って物体の境界を修正し、さらに、弁輪の内側に穴を開けるように形状を修正する。
【0092】
まず、第3算出部119は、閉曲面生成処理を実行する(
図27:ステップS61)。閉曲面生成処理については、第2実施の形態において説明したとおりであるので、詳細な説明を省略する。なお、ステップS61においては、例えばε
b=1.0且つD=1.0として、閉曲面を生成するための陰関数h
1が求められる。陰関数h
1の値が0となる点の集合によって形成される面(以下、陰関数h
1の0等値面と呼ぶ)は、
図28に示すようになる。
図28において、正方形の図形はランドマークを表し、陰関数h
1の0等値面2801は楕円体の形状をした閉曲面である。陰関数h
1の0等値面2801はランドマークを包含する。閉曲面の内側においては陰関数h
1の値が負になり、閉曲面の外側においては陰関数h
1の値が正になる。なお、心室と閉曲面との位置関係をわかりやすくするため、
図28においては心室の境界を表す点集合が示されている。
【0093】
そして、第2算出部109及び第4算出部123は、第3の実施の形態における形状生成処理を実行する(
図27:ステップS63)。第3の実施の形態における形状生成処理については、
図29乃至
図31を用いて説明する。
【0094】
第2算出部109は、セグメントデータ格納部107に格納されたセグメントデータから、点集合p
v,1,p
v,2,・・・,p
v,j,・・・,p
v,Mvを生成し(
図29:ステップS71)、点集合格納部110に格納する。
【0095】
図30に、ステップS71において生成される点集合の一例を示す。
図30においては、心室の境界を表す点集合p
v,1,p
v,2,・・・,p
v,j,・・・,p
v,Mvが生成される。正方形の図形はランドマークを表す。点集合p
v,1,p
v,2,・・・,p
v,j,・・・,p
v,Mvに含まれる点は、内部境界点又は外部境界点である。
【0096】
第4算出部123は、点集合p
v,1,p
v,2,・・・,p
v,j,・・・,p
v,Mvに含まれる点のうち、h
1<0を満たす点を削除し、点集合p(bar)
v,1,p(bar)
v,2,・・・,p(bar)
v,j,・・・,p(bar)
v,Mv(bar)を生成する(ステップS73)。h
1<0を満たす点は、陰関数hの0等値面の内側に存在する点である。なお、p(bar)は、pにバー「−」を付すことを表す。また、
v,Mv(bar)は、添字のM及びvにバー「−」を付すことを表す。
【0097】
第4算出部123は、生成された点集合p(bar)
v,1,p(bar)
v,2,・・・,p(bar)
v,j,・・・,p(bar)
v,Mv(bar)に、ランドマークx
1,x
2,・・・,x
i,・・・,x
Nを追加する(ステップS75)。
【0098】
第3の実施の形態においては、x
1±ε
bn
1,x
2±ε
bn
2,・・・,x
i±ε
bn
i,・・,・x
N±ε
bn
Nを点集合に追加しない。その理由は、ランドマーク付近に点が存在するからである。
【0099】
第4算出部123は、陰関数fの関数値を設定する(ステップS77)。具体的には、以下のように関数値を設定する。
【0101】
第4算出部123は、関数値がステップS77において設定された値になるように陰関数fを求め(ステップS79)、陰関数fのデータを第4関数格納部125に格納する。そして呼び出し元の処理に戻る。
【0102】
ステップS79においても、第1及び第2の実施の形態と同様、TPSを用いて陰関数fが求められる。なお、TPSによって陰関数fを求めるのに時間がかかる場合は、例えば"A Multi-scale Approach to 3D Scattered Data Interpolation with Compactly Supported Basis Functions", Yutaka Ohtake, Alexander Belyaev, and Hans-Peter Seidel, Shape Modeling International 2003, Seoul, Korea, May 2003, pp153-161に記載の方法によって陰関数fを求めてもよい。
【0103】
陰関数fの値が0となる点の集合によって形成される境界(以下、陰関数fの0等値面と呼ぶ)は、
図31に示すようになる。
図31において、正方形の図形はランドマークを表す。ここまでの処理によって、ランドマーク上に心室の境界が存在するように修正されたが、ランドマークの内側(すなわち弁輪の内側)にも心筋が存在している。そこで、以降の処理によって、弁輪の内部に存在する心筋を削除する。
【0104】
図27の説明に戻り、第3算出部119は、閉曲面生成処理を実行する(ステップS65)。閉曲面生成処理については、第2実施の形態において説明したとおりであるので、詳細な説明を省略する。なお、ステップS65においては、例えばε
b=1.0且つD=0として、閉曲面を生成するための陰関数h
2が求められる。陰関数h
2の値が0となる点の集合によって形成される面(以下、陰関数h
2の0等値面と呼ぶ)は、
図32に示すようになる。
図32において、正方形の図形はランドマークを表し、陰関数h
2の0等値面3201は楕円体の形状をした閉曲面である。D=0なので、陰関数h
2の0等値面3201はランドマークを通過する。閉曲面の内側においては陰関数h
2の値が負になり、閉曲面の外側においては陰関数h
2の値が正になる。
【0105】
そして、削除部127は、第3関数格納部121に格納された陰関数h
2のデータと、第4関数格納部125に格納された陰関数fのデータとに基づき、削除処理を実行し(ステップS67)、削除処理後の形状を表すボリュームデータをデータ格納部115に格納する。
【0106】
削除処理は、陰関数fの0等値面で表される形状のうち、陰関数h
2の0等値面の内部に存在する部分を削除する処理である。例えば、陰関数f=0且つ陰関数h
2>0を満たす点集合が削除処理において求められ、点集合についてのボリュームデータがデータ格納部115に格納される。
【0107】
出力部117は、データ格納部115に格納されたボリュームデータを、表示装置等に出力する(ステップS69)。ボリュームデータとランドマークとを表示すると、例えば
図33に示すようになる。
図33に示すように、弁輪の内側に存在した心筋は削除され、弁輪の内部は空洞になる。
【0108】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置1の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【0109】
また、上で説明したデータ保持構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【0110】
例えば、第1の実施の形態において、分割面生成処理と形状生成処理の順序を入れ替えても良い。
【0111】
なお、たとえランドマークが環状に配置されていないとしても、ランドマークを通る分割面及び閉曲面を生成できる場合には、本実施の形態を適用できる場合がある。
【0112】
なお、上で述べた情報処理装置1は、コンピュータ装置であって、
図34に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【0113】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【0114】
本実施の形態の第1の態様に係るモデリング装置は、(A)物体における環状の構造を表す複数の点の位置情報に基づき、上記複数の点を包含する閉曲面を生成するための第1の関数を算出する第1算出部と、(B)各々物体が占める領域が指定された複数の断層画像から、物体の境界を表す第1の点集合を生成する第1生成部と、(C)第1の点集合のうち閉曲面の内側に存在する点を第1の関数を用いて検出し、検出された点を第1の点集合から削除することにより第2の点集合を生成し、第2の点集合と上記複数の点とを用いて、物体の形状を生成するための第2の関数を算出する第2算出部とを有する。
【0115】
このようにすれば、環状の構造を生成する際に邪魔になる部分が無くなるので、環状の構造を含む物体を高精度で生成できるようになる。
【0116】
また、上で述べたモデリング装置は、(D)上記複数の点を通る曲面を生成するための第3の関数を算出する第3算出部と、(E)第2の関数を用いて生成される物体の形状を、第3の関数を用いて生成される曲面で分割する分割部とをさらに有してもよい。このようにすれば、環状の構造が有る部分において物体を区切ることができるようになる。
【0117】
また、上で述べた第1算出部は、(a1)上記複数の点の各々について、当該点から当該点についての法線の正方向に第1の距離離れた点と、当該点から法線の正方向に第2の距離離れた点と、当該点から法線の負方向に第2の距離離れた点と、当該点から当該点についての従法線の正方向に第3の距離離れた点と、当該点から従法線の負方向に第3の距離離れた点とを含む第3の点集合を特定し、(a2)特定された第3の点集合内の各点の関数値を設定し、設定された関数値に基づき第1の関数を算出してもよい。このようにすれば楕円体の閉曲面を生成できるので、環状の構造を生成する際に邪魔になる部分を適切に削除できるようになる。
【0118】
また、上で述べた第2算出部は、(c1)上記複数の点の各々について、当該点から当該点についての法線の正方向に第4の距離離れた点と、当該点から法線の負方向に第4の距離離れた点とを含む第4の点集合を特定し、(c2)第4の点集合内の各点の関数値と、複数の点の各々の関数値と、第2の点集合内の各点の関数値とを設定し、設定された関数値に基づき前記第2の関数を算出してもよい。このようにすれば、環状の構造付近の形状を適切に生成できるようになる。
【0119】
また、上で述べた第3算出部は、(d1)上記複数の点の各々について、当該点から当該点についての従法線の正方向に第5の距離離れた点と、当該点から従法線の負方向に第5の距離離れた点とを含む第5の点集合を特定し、(d2)第5の点集合内の各点の関数値と、複数の点の関数値とを設定し、設定された関数値に基づき第3の関数を算出してもよい。このようにすれば、曲面に凹凸が生じるのを抑制できるようになる。
【0120】
また、上で述べた第2算出部は、(c3)第1の関数の値が所定の値より大きいか否かに基づき、第1の点集合のうち閉曲面の内側に存在する点を検出してもよい。このようにすれば、閉曲面の内側に存在する点を容易に検出できるようになる。
【0121】
また、上で述べた第1の点集合は、物体が占める領域における点のうち物体が占める領域以外の領域に隣接する点と、物体が占める領域以外の領域における点のうち物体が占める領域に隣接する点とを含んでもよい。このようにすれば、物体の境界を表す点集合を生成できるようになる。
【0122】
本実施の形態の第2の態様に係るモデリング方法は、(F)物体における環状の構造を表す複数の点の位置情報に基づき、上記複数の点を包含する閉曲面を生成するための第1の関数を算出し、(G)各々物体が占める領域が指定された複数の断層画像から、物体の境界を表す第1の点集合を生成し、(H)第1の点集合のうち閉曲面の内側に存在する点を第1の関数を用いて検出し、検出された点を第1の点集合から削除することにより第2の点集合を生成し、(I)上記複数の点と第2の点集合とを用いて、物体の形状を生成するための第2の関数を算出する処理を含む。
【0123】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【0124】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0125】
(付記1)
物体における環状の構造を表す複数の点の位置情報に基づき、前記複数の点を包含する閉曲面を生成するための第1の関数を算出する第1算出部と、
各々前記物体が占める領域が指定された複数の断層画像から、物体の境界を表す第1の点集合を生成する第1生成部と、
前記第1の点集合のうち前記閉曲面の内側に存在する点を前記第1の関数を用いて検出し、検出された前記点を前記第1の点集合から削除することにより第2の点集合を生成し、前記第2の点集合と前記複数の点とを用いて、前記物体の形状を生成するための第2の関数を算出する第2算出部と、
を有するモデリング装置。
【0126】
(付記2)
前記複数の点を通る曲面を生成するための第3の関数を算出する第3算出部と、
前記第2の関数を用いて生成される前記物体の形状を、前記第3の関数を用いて生成される前記曲面で分割する分割部と、
をさらに有する付記1記載のモデリング装置。
【0127】
(付記3)
前記第1算出部は、
前記複数の点の各々について、当該点から当該点についての法線の正方向に第1の距離離れた点と、当該点から前記法線の正方向に第2の距離離れた点と、当該点から前記法線の負方向に前記第2の距離離れた点と、当該点から当該点についての従法線の正方向に第3の距離離れた点と、当該点から前記従法線の負方向に前記第3の距離離れた点とを含む第3の点集合を特定し、
特定された前記第3の点集合内の各点の関数値を設定し、設定された前記関数値に基づき前記第1の関数を算出する
付記1又は2記載のモデリング装置。
【0128】
(付記4)
前記第2算出部は、
前記複数の点の各々について、当該点から当該点についての法線の正方向に第4の距離離れた点と、当該点から前記法線の負方向に前記第4の距離離れた点とを含む第4の点集合を特定し、
前記第4の点集合内の各点の関数値と、前記複数の点の各々の関数値と、前記第2の点集合内の各点の関数値とを設定し、設定された前記関数値に基づき前記第2の関数を算出する
付記1乃至3のいずれか1つ記載のモデリング装置。
【0129】
(付記5)
前記第3算出部は、
前記複数の点の各々について、当該点から当該点についての従法線の正方向に第5の距離離れた点と、当該点から前記従法線の負方向に前記第5の距離離れた点とを含む第5の点集合を特定し、
前記第5の点集合内の各点の関数値と、前記複数の点の関数値とを設定し、設定された前記関数値に基づき前記第3の関数を算出する
付記2記載のモデリング装置。
【0130】
(付記6)
前記第2算出部は、
前記第1の関数の値が所定の値より大きいか否かに基づき、前記第1の点集合のうち前記閉曲面の内側に存在する点を検出する
付記1乃至5のいずれか1つ記載のモデリング装置。
【0131】
(付記7)
前記第1の点集合は、前記物体が占める領域における点のうち前記物体が占める領域以外の領域に隣接する点と、前記物体が占める領域以外の領域における点のうち前記物体が占める領域に隣接する点とを含む
付記1乃至6のいずれか1つ記載のモデリング装置。
【0132】
(付記8)
物体における環状の構造を表す複数の点の位置情報に基づき、前記複数の点を包含する閉曲面を生成するための第1の関数を算出し、
各々前記物体が占める領域が指定された複数の断層画像から、物体の境界を表す第1の点集合を生成し、
前記第1の点集合のうち前記閉曲面の内側に存在する点を前記第1の関数を用いて検出し、検出された前記点を前記第1の点集合から削除することにより第2の点集合を生成し、
前記複数の点と前記第2の点集合とを用いて、前記物体の形状を生成するための第2の関数を算出する、
処理をコンピュータが実行するモデリング方法。
【0133】
(付記9)
物体における環状の構造を表す複数の点の位置情報に基づき、前記複数の点を包含する閉曲面を生成するための第1の関数を算出し、
各々前記物体が占める領域が指定された複数の断層画像から、物体の境界を表す第1の点集合を生成し、
前記第1の点集合のうち前記閉曲面の内側に存在する点を前記第1の関数を用いて検出し、検出された前記点を前記第1の点集合から削除することにより第2の点集合を生成し、
前記複数の点と前記第2の点集合とを用いて、前記物体の形状を生成するための第2の関数を算出する、
処理をコンピュータに実行させるためのモデリングプログラム。