(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施形態を説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない構成要素、部材、処理の一部は省略して表示する。
【0011】
以下では、X線CT装置で撮影された3次元胸部CT画像を処理する例を説明する。しかしながら、本発明の適用範囲は3次元胸部CT画像に限定されるものではない。例えば体幹部全体を撮影したCT画像に対しても、本発明は適用可能である。また、結節、気管支、動静脈が視認できる画像であれば、他の撮像装置で撮影された画像に対しても本発明は適用可能である。また、本発明は2次元画像にも3次元画像にも適用可能である。さらに、本発明の実施形態は以下の実施形態に限定されるものではない。
【0012】
以下では、気管支の領域の抽出を例に挙げて本発明の実施形態について説明する。ただし、本発明は肺野内を走行する動静脈の領域の抽出にも適用可能である。そこで、気管支と動静脈の領域の抽出で共通の処理を実施する場合はその旨記述し、異なる処理を実施する場合は、それぞれについて実施する処理の内容を記述する。
【0013】
<第1の実施形態>
本発明に係る画像処理装置は注目肺結節の周辺を走行する構造物(気管支や動静脈)を抽出することを目的とする。注目肺結節の周辺を走行する構造物には次のような性質がある:(1)抽出対象の構造物の領域の少なくとも一部は注目肺結節の近くを走行している、(2)構造物領域(気管支や動静脈の領域)の一般的な特徴として、構造物領域は肺結節や拍動などにより生じる途絶を除き、肺野内で途切れたり発生したりすることはない。そのため、抽出対象の構造物は、注目肺結節からある一定距離だけ離れた領域において、注目肺結節に向かって走行している。
【0014】
以上の点に注目して、本発明に係る画像処理装置は、はじめに画像中の肺結節領域と構造物候補領域(気管支や動静脈の候補領域)を抽出する。次に、肺結節領域の周辺に判定境界を設定する。その後、それぞれの構造物候補領域について、肺結節領域の近傍と判定境界の両方を通るか否かを判定する。もし、構造物候補領域が肺結節領域の近傍と判定境界の両方を通る場合は、その構造物候補領域を注目肺結節に関係する構造物領域として取得する。逆に、そうでなければ、その構造物候補領域を棄却する。
【0015】
判定境界の設定において重要なことは、判定境界を構造物(気管支や動静脈)が注目肺結節に向かって走行してくる領域に配置することである。ところで、気管支は気管とともに木構造を有する構造物の一部である。そのため、気管支はおおむね気管の存在する方向から注目肺結節に向かって走行してくる。そこで、注目肺結節の周辺を走行する気管支を抽出する際には、判定境界を注目肺結節と気管の間に配置することが重要となる。また、肺野内の動静脈は縦隔内の動静脈の方向から注目肺結節に向かって走行してくるため、肺野内の動静脈を抽出する際には、判定境界を注目肺結節と縦隔内動静脈の間に配置することが重要となる。
【0016】
上述の判定境界の配置についての要請をふまえ、第1の実施形態では、注目肺結節を囲むように判定境界を配置する。このように配置すると、注目肺結節が肺野領域のどの位置に存在しても、判定境界は注目肺結節と気管もしくは縦隔内動静脈の間の領域に配置されることになる。また、気管もしくは縦隔内動静脈の方向とは異なる方向から注目肺結節に向かって走行してくる気管支もしくは動静脈も、抽出することが可能となる。
【0017】
以下、
図1を参照して本実施形態に係る画像処理装置の機能構成について説明する。画像処理装置100は画像取得部110、記憶部120、画像処理部1000からなる。画像処理部1000はさらに、第一の抽出部1010、第二の抽出部1020、計測部1030、設定部1040、判定部1050、取得部1060から構成される。画像処理装置100が備える少なくとも1以上のプロセッサが当該プロセッサと通信可能に接続された少なくとも1以上のメモリに記憶されたプログラムを実行することで、画像処理装置100は、画像取得部110、第一の抽出部1010、第二の抽出部1020、計測部1030、設定部1040、判定部1050および取得部1060として機能する。なお、プロセッサとしてはCPU(Central Processing Unit)またはGPU(Graphics Processing Unit)など任意のハードウエアを用いることが可能である。また、異なる種類のプロセッサを併用し上記の各機能を実現することとしてもよい。
【0018】
さらに、画像処理装置100への入力となるデータ、および画像処理装置100が出力するデータを保存するためのデータサーバ130と画像処理装置100は通信可能に接続されている。
【0019】
画像取得部110は、データサーバ130から元画像(3次元胸部CT画像)を取得する。取得された元画像は、記憶部120に保存される。
【0020】
第一の抽出部1010は、記憶部120から元画像を取得する。そして、元画像に対して公知の画像処理手法の一つである画像セグメンテーション法(画像分割法、領域分割法、領域抽出法とも呼ばれる)を適用し、元画像中に描出されている肺結節の領域を抽出する。すなわち、第一の抽出部1010は肺結節に属する画素を特定する。なお、第一の抽出部1010より特定される画素は、あくまで第一の抽出部1010が肺結節であると判定した画素であり、実際の肺結節を示す画素のみに限定されるものではない。
【0021】
この処理により、第一の抽出部1010はマスク画像(肺結節マスク画像)を取得する。ここで、マスク画像とは2値画像のことであり、各画素の画素値はその画素が対象領域に属する画素か否かを示す。すなわち、画像セグメンテーション法により肺結節に属すると特定された画素(肺結節画素)が画素値1で、それ以外の画素(肺結節外画素)が画素値0で表される。取得された肺結節マスク画像は、記憶部120に保存される。
【0022】
なお、マスク画像には注目物体の領域(肺結節マスク画像中の肺結節領域)を表す画素とそれ以外の画素が識別可能であれば、画素値としてどのような値を与えても構わない。例えば、画素値として1または2のいずれか一方を与えてもよい。また、注目物体の領域を表す画素とそれ以外の画素に、それぞれ互いに異なる複数の値の中の任意の一つを与えてもよい。
【0023】
上述のマスク画像は2値画像であったが、複数の注目物体が存在する場合には多値のマスク画像を利用する。例えば、N個の注目物体が存在する場合にはN+1値のマスク画像を利用する。このとき、マスク画像のそれぞれの画素はN+1個の画素値のいずれか一つを持つ。ここで、画素値はそれぞれの注目物体の領域とそれ以外の領域が互いに識別可能であれば、どのような値であっても構わない。
【0024】
以上の2値および多値のマスク画像の性質は、本発明で利用されるすべてのマスク画像において同様である。
【0025】
第二の抽出部1020は、記憶部120から元画像を取得する。そして、元画像に対して公知の画像セグメンテーション法を適用し、元画像中に描出されている気管支の領域を抽出する。すなわち、第二の抽出部1020は気管支に属する画素を特定する。なお、第二の抽出部1020より特定される画素は、あくまで第二の抽出部1020が気管支であると判定した画素であり、実際の気管支を示す画素のみに限定されるものではない。
【0026】
第二の抽出部1020で実施される処理では、通常、複数個の領域が抽出される。それらの領域には、注目肺結節の周辺を走行する気管支の領域、注目肺結節から離れた場所を走行する気管支の領域、気管支ではない(誤抽出された)領域が含まれる。ここで、本実施形態に係る画像処理装置の目的に沿って考えると、第二の抽出処理では、所望の領域(注目肺結節の周辺を走行する気管支の領域)と、それ以外の領域が抽出されると考えられる。そこで、第二の抽出処理で抽出されるそれぞれの領域を、注目肺結節の周辺を走行する気管支の候補領域と呼ぶ。以下では、より簡単に候補領域と呼ぶ。
【0027】
元画像に対して公知の画像セグメンテーション法を適用することにより、第二の抽出部1020はマスク画像(候補マスク画像)を取得する。取得した候補マスク画像において、候補領域に属すると特定された画素(候補画素)が画素値1で、それ以外の画素(結節外画素)が画素値0で表される。これらの画素値は肺結節マスク画像でも用いられているが、互いに異なるマスク画像であるため問題とはならない。取得した候補マスク画像は、記憶部120に保存される。なお、候補マスク画像において候補画素と候補画素以外の画素が識別可能であれば、画素値としてどのような値を与えても構わない。
【0028】
計測部1030は、記憶部120から肺結節マスク画像を取得する。そして、肺結節マスク画像中の肺結節領域の重心位置の座標値と平均半径を計測する。計測された重心位置の座標値と平均半径の値は、記憶部120に保存される。
【0029】
設定部1040は、2つの異なる処理を実施する。1つ目の処理では、合成マスク画像を生成する。合成マスク画像とは、肺結節マスク画像と候補マスク画像の重ね合わせにより生成されるマスク画像である。合成マスク画像において、肺結節マスク画像中の肺結節画素と同一座標値を持つ画素はやはり肺結節画素となる。また同様に、候補マスク画像中の候補画素と同一座標値を持つ画素は候補画素となる。
【0030】
設定部1040で実施されるもう1つの処理は、合成マスク画像中に判定境界を設定する処理である。判定境界やその設定処理の詳細については、ステップS1060の説明で述べる。設定部1040によって生成される合成マスク画像は、記憶部120に保存される。
【0031】
判定部1050は、記憶部120から合成マスク画像を取得する。そして、合成マスク画像中のそれぞれの候補領域が所望の領域であるか否かの判定を行う。判定処理は合成マスク画像中に設定された判定境界を用いて行われる。判定結果は記憶部120に保存される。ここで、所望の領域とは、例えば、注目肺結節の周辺を走行する気管支の領域であるが、これに限定されるものではない。
【0032】
取得部1060は、記憶部120から合成マスク画像と判定部1050による判定結果を取得する。そして、合成マスク画像中の候補領域の中から判定結果に基づいて所望の領域を取得する。取得部1060は取得した所望の領域の情報を、マスク画像(気管支マスク画像)の形式で保存する。気管支マスク画像は記憶部120を介してデータサーバ130に保存される。
【0033】
ここで
図3を参照して、本実施形態に係る画像処理装置100によって処理される元画像について説明する。
図3の画像1300は、3次元胸部CT画像(元画像)を構成する複数の断面(横断面)画像中の1つの断面画像である。図面の制約から本図では元画像中の代表的な1つの断面画像を示しているが、元画像には多数の断面画像が含まれる。また本図では理解が容易なように元画像が横断面像から構成されている例を示したが、元画像はその他の断面像(例えば冠状断面像や矢状断面像)から構成されていてもよい。
【0034】
元画像1300には、患者の胴体1310と胴体周辺の空気領域1320、空気領域1330が写っている。さらに胴体1310の内部には、右肺1340、左肺1350が存在する。CT画像では右肺が画像の左側に、左肺が画像の右側に写っていることに注意されたい。胴体1310の中央に存在するのが気管1360である。右肺1340、左肺1350の内部には、気管支1371〜気管支1379が存在する。これらの気管支は3次元の管状構造物(その内部は太い線状構造物)であり、不図示の断層像で気管1360につながっている。右肺1340には肺結節1380が存在する。本図において、気管支1371の領域が結節に向かって走行しているので、気管支1371の領域は注目肺結節の周辺を走行する気管支の領域である。すなわち、気管支1371の領域は、本実施形態において抽出したい気管支領域(所望の気管支領域)である。
【0035】
次に
図2を参照して、本実施形態の画像処理装置100の処理手順を説明する。
【0036】
(S1010)
ステップS1010において、画像取得部120はデータサーバ130から元画像を取得する。取得された元画像は記憶部120に保存される。
【0037】
(S1020)
ステップS1020において、第一の抽出部1010は記憶部120から元画像を取得する。そして、元画像中に存在する肺結節の領域(肺結節領域)を抽出する。肺結節領域は、CT画像内で概ね一定のCT値を有している。そのため、公知の画像セグメンテーション法(しきい値処理法、領域拡張法、Level−set法、Graph−cut法等)を利用することで、肺結節領域を抽出できる。
【0038】
なお、肺結節領域を抽出する際に画像処理装置100に付属しているポインティングデバイスを利用することも可能である。例えば、操作者にマウスで元画像中に存在する肺結節の位置を指定させる。操作者が肺結節の位置を指定すると、第一の抽出部1010は操作者により指定された位置の座標値を取得する。そして、取得した位置座標を画像セグメンテーション法への入力情報(例えば領域拡張法における領域の拡張開始点)として利用する。このような方法により、肺結節領域を高い精度で抽出できる。
【0039】
第一の抽出部1010は、抽出された肺結節領域の情報をマスク画像(肺結節マスク画像)の形式で保存する。肺結節マスク画像は記憶部120に保存される。
【0040】
図4に肺結節領域の抽出結果の一例を示す。
図4の画像1400は、
図3の元画像1300に対して本ステップの処理を適用することにより得られた肺結節マスク画像M
noduleである。そして、肺結節マスク画像1400中の領域1410が肺結節領域V
noduleである。この領域は元画像1300中の右肺1340に存在する肺結節1380に対応している。本図に示した通り、本ステップの処理により肺結節領域を概ね良好に抽出できる。
【0041】
(S1030)
ステップS1030において、計測部1030は肺結節領域V
noduleの平均半径を計測する。はじめに、計測部1030は記憶部120から肺結節マスク画像M
noduleを取得する。
【0042】
次に、肺結節マスク画像中の肺結節領域V
noduleの重心位置の座標値を計算する。今、肺結節領域V
noduleに属する画素の座標値をP
nodule[i]=(x
nodule[i],y
nodule[i],z
nodule[i])とする。ただしi=1,...,#(V
nodule)であり、#(V
nodule)はV
noduleに属する画素の数を示す。すると、重心位置の座標値G
nodule=(G
xnodule,G
ynodule,G
znodule)は、
【0044】
重心位置の座標値G
noduleを計算した後、計測部1030は肺結節領域の平均半径R
noduleを計測する。ここで、肺結節領域V
noduleに属する画素(肺結節画素)のうち、肺結節外画素に接している画素の集合をS
noduleとする。すると、平均半径R
noduleは、
【0045】
【数2】
で計算される。ただし、#(S
nodule)はS
noduleに属する画素の数を示す。
【0046】
なお、元画像中に描出されている肺結節領域の平均半径が、本実施形態の画像処理装置100が処理を開始するより前に何らかの方法で分かっている場合がある。たとえば、操作者が、本実施形態の画像処理装置100に処理させる肺結節の大きさをあらかじめ一定の大きさに限定するような場合である。このような場合、計測部1030は数2で示される肺結節領域の平均半径の計算を行わず、代わりに値R
noduleknownを平均半径R
noduleとして設定してもよい。ここで、R
noduleknownは、元画像中に描出されている肺結節領域の既知の平均半径である。R
noduleknownは、本実施形態の画像処理装置100が処理を開始するより前に、データサーバ130に格納される。ステップS1030において計測部1030は、R
noduleknownをデータサーバ130から取得する。そして、計測部1030は、取得した定数R
noduleknownを平均半径R
noduleとして設定する。
【0047】
計算された肺結節領域の重心位置の座標値G
noduleと平均半径R
noduleは、記憶部120に保存される。 (S1040)
ステップS1040において、第二の抽出部1020は元画像中に存在する気管支の候補領域を抽出する。
【0048】
第二の抽出部1020は記憶部120から元画像を取得する。そして、公知の画像セグメンテーション法を利用して気管支候補領域を抽出する。以下では、Hesse行列の固有値を用いた手法と領域拡張法を組み合わせた手法を説明する。
【0049】
はじめに、第二の抽出部1020は元画像中の各画素についてHesse行列を計算する。Hesse行列は、元画像が2次元画像の場合は2x2、3次元画像の場合は3x3の正方行列となる。元画像I
inputの画素pにおけるHesse行列の各要素の値は、I
inputの2階偏導関数の画素pでの値である。
【0050】
元画像I
inputの各画素pでHesse行列を計算した後、第二の抽出部1020は各画素でHesse行列の3つの固有値E
1(p),E
2(p),E
3(p)(ただしE
3(p)>E
2(p)>E
1(p))を計算する。そして、さらに次式で定義される値L
line(p)を計算する。
【0054】
元画像中に線状構造物が描出されている時、L
line(p)はその線状構造物の領域内の画素pで高い値を持つ。ここで、気管支は管状構造物であるが、元画像では気管支内部が太い線状構造物として描出されるという性質がある。そこで、元画像、および元画像の各画素で計算されたL
line(p)に対してしきい値処理(I
input(p)<T
input1かつL
line(p)>T
line)を適用することで、元画像中で気管支領域に属する可能性が高い画素を取得できる。なお、本ステップで説明した画像処理を元画像と同種の学習用画像に対して適用して気管支領域を抽出したときに、気管支領域の抽出精度が最も高くなるようにしきい値を設定することで、しきい値T
input1とT
lineを求めることとしてもよい。
【0055】
上述の処理を終えた後、第二の抽出部1020は元画像に対して領域拡張法を適用し気管支候補領域を抽出する。拡張開始点は、上述の処理で取得した元画像中で気管支領域に属する可能性が高い画素とする。拡張条件は、拡張候補画素pを中心とする半径R
RG1内の画素p’の画素値I
input(p’)がしきい値T
input2より低い(I
input(p’)<T
input2)である。なお、本ステップで説明した画像処理を元画像と同種の学習用画像に対して適用して気管支候補領域を抽出したときに、気管支領域の抽出精度が最も高くなるように半径としきい値を設定することで、半径R
RG1としきい値T
input2を求めることとしてもよい。
【0056】
第二の抽出部1020は、抽出された候補領域の情報をマスク画像(候補領域マスク画像M
candidate)の形式で保存する。候補領域マスク画像は記憶部120に保存される。
【0057】
図5に気管支の候補領域の抽出結果の一例を示す。
図5の画像1500は、
図3の元画像1300に対して本ステップの処理を適用することにより得られた候補マスク画像M
candidateである。そして、候補マスク画像1500中の領域1501〜1516が気管支の候補領域V
candidate[i]である。これらの領域のうち、領域1501〜1509が元画像1300中の右肺1340と左肺1350に存在する気管支1371〜1379に対応している。本図に示した通り、本ステップの処理により気管支領域を概ね良好に抽出できる。しかしながら、上述の処理で抽出される領域には気管支以外の(誤抽出された)領域も含まれる可能性がある点に注意されたい。画像1500中の領域1510〜1516がそのような誤抽出された領域である。上述の処理では、パラメータT
input1,T
line,R
RG1,T
input2に学習用画像における気管支領域の抽出精度がもっとも高くなるパラメータを使用している。しかしながら、最適なパラメータを利用したときでさえ、気管支以外の領域が気管支候補領域として誤って抽出される場合がある。そこで、本実施形態に係る画像処理装置100は、後段の処理でこのような気管支以外の領域を除外する。このような点を踏まえ、ステップS1040で抽出される領域(画像1500中の領域1501〜1516)を候補領域と呼ぶ。
【0058】
最後に、上述の処理では候補領域の抽出に肺野領域の情報を利用しなかったが、第二の抽出部1020は候補領域の抽出に肺野領域の情報を利用してもよい。この場合、第二の抽出部1020は公知の画像セグメンテーション法を用いて元画像中の肺野領域を抽出する。そして、第二の抽出部1020は、本ステップでの処理範囲を肺野領域に限定する。これにより、抽出される候補領域は肺野領域の内部に限定されるため、処理速度の向上および精度の高い気管支領域の抽出が可能となる。
【0059】
(S1050)
ステップS1050において、設定部1040は合成マスク画像M
composite1を生成する。合成マスク画像M
composite1は3値のマスク画像であり、それぞれの画素は0,1,2という3つの値をとる。ここで、画素値1はその画素が肺結節領域に属する画素であることを示す。また、画素値2はその画素が候補領域に属する画素であることを示す。そして、画素値0はその画素が肺結節領域と候補領域のいずれにも属さない画素であることを示す。なお、画素値の値は上記の値に限定されるものではない。以下では、合成マスク画像M
composite1における画素値が値1,2,0である画素のことを、それぞれ肺結節画素、候補画素、背景画素と呼ぶ。
【0060】
はじめに、設定部1040は記憶部120から肺結節マスク画像M
noduleと候補領域マスク画像M
candidateを取得する。次に、これらの画像と同じ画像サイズの合成マスク画像M
composite1を生成する。合成マスク画像M
composite1を生成する際、まず設定部1040はすべての画素を背景画素とする(つまり画素値0とする)。
【0061】
合成マスク画像M
composite1を生成した後、設定部1040は肺結節マスク画像M
noduleの肺結節領域V
noduleに属する画素と同一座標値を持つ合成マスク画像M
composite1の画素を探し、それらの画素の画素値を1とする。さらに、設定部1040は候補領域マスク画像M
candidateの候補節領域V
candidateに属する画素と同一座標値を持つ合成マスク画像M
composite1の画素を探し、それらの画素の画素値を2とする。
【0062】
図6に、設定部1040によって生成された合成マスク画像M
composite1の一例を示す。
図6の画像1600は、合成マスク画像M
composite1の一つの断面像である。この断面像は、
図3の画像1300と同一位置での断面像である。画像1600中の領域1610は肺結節マスク画像M
noduleの肺結節領域V
nodule(
図4の肺結節領域1410)に対応する領域である。また、領域1621〜1636は候補領域マスク画像M
candidateの候補領域V
candidate[i](1<=i<N
candidate)(
図5の候補領域1501〜1516)に対応する領域である。なお、黒点1640、矢印1650、閉曲線1660は次のステップS1060で付与される情報であるため、ここでは説明を省略する。
【0063】
以下、画像1600(合成マスク画像M
composite1)中の領域1610も、肺結節領域マスク画像M
noduleの肺結節領域と同様、肺結節領域V
noduleと呼ぶ。そして、領域1621〜1636も、肺結節領域マスク画像M
candidateの候補領域と同様、候補領域V
candidate[i]と呼ぶ。
【0064】
(S1060)
ステップS1060において、設定部1040は判定境界を設定する。引き続き、
図6を参照して判定境界について具体的に説明する。
【0065】
ステップS1060において、設定部1040は判定境界を合成マスク画像M
composite1に設定する。判定境界は肺結節領域の重心位置から一定距離の位置に配置される。すなわち、判定境界は肺結節領域の重心位置を中心とし所定の半径を持つ球の表面と同等の形状を持つ。
図6中の閉曲線1660が設定部1040によって設定された判定境界である。
図6では合成マスク画像M
composite1の一つの断層像のみを示しているため判定境界1660が円形であるように見えるが、合成マスク画像M
composite1のすべての断面像を横断的に観察すると判定境界1660が球形であることが分かる。
【0066】
判定境界を合成マスク画像M
composite1中に配置するために、設定部1040は判定境界の中心と、判定境界の半径を決定する。はじめに、設定部1040は判定境界の中心を決定する。判定境界の中心は、肺結節領域1610の重心位置とする。肺結節領域の重心位置の座標値G
noduleはステップS1030ですでに計算されており、記憶部120に保存されている。そこで、設定部1040は記憶部120から肺結節領域の重心位置の座標値G
noduleを取得する。そして、取得した値を判定境界の中心の座標値として使用する。
図6では、黒点1640が肺結節領域V
noduleの重心位置である。肺結節領域V
noduleの重心位置1640と判定境界1660の位置関係より、判定境界1660の中心が肺結節領域V
noduleの重心位置1640と一致していることが分かる。
【0067】
次に、設定部1040は判定境界の半径を決定する。判定境界の半径は、例えば肺結節領域の平均半径に基づいて決定される。具体的には、あらかじめ準備されている複数の値の中から肺結節領域V
noduleの平均半径R
noduleに対応する値を一つ選択し、選択された値を判定境界の半径とする。
図6の合成マスク画像1600では、矢印1650が判定境界の半径を示している。判定境界の半径は、肺結節領域の平均半径以外の情報(平均直径、最大半径、半径の中央値など)に基づいて決定されることとしてもよい。
【0068】
肺結節領域V
noduleの平均半径R
noduleはステップS1030で計算されており、記憶部120に保存されている。そこで、設定部1040は記憶部120から肺結節領域の平均半径R
noduleを取得する。次に、設定部1040は記憶部120を介してデータサーバ130から判定境界の半径を格納したリストL
1を取得する。リストL
1には、(肺結節領域の平均半径R
nodule[k],判定境界の半径R
decision[k])(1<=k<=N
L1)という2つの数値の組が複数個格納されている。例えば、複数の異なる値の平均半径R
nodule[k]に対して複数の異なる値の判定境界の半径R
decision[k]がそれぞれ対応付けられている。ここで、R
decision[k]は、例えば、肺結節領域の平均半径がR
nodule[k]であるような肺結節領域が描出されている画像において、所望の気管支領域が最も高い精度で抽出できる判定境界の半径である。なお、R
decision[k]は、肺結節領域の平均半径がR
nodule[k]であるような肺結節領域が描出されている画像において、所望の気管支領域が所定閾値以上の精度で抽出できる値であってもよい。
【0069】
設定部1040はデータサーバ130からリストL
1を取得した後、L
1内に格納されているそれぞれのR
nodule[k]とR
noduleを比較し、R
noduleに最も近い値R
nodule[k’](1<=k’<=N
L1)を探す。そして、R
nodule[k’]と組をなしている判定境界の半径R
decision[k’]を、合成マスク画像M
composite1に設定する判定境界の半径として用いる。
【0070】
なお、元画像中に描出されている肺結節領域の平均半径が、本実施形態の画像処理装置100が処理を開始するより前に何らかの方法で分かっている場合がある。たとえば、操作者が、本実施形態の画像処理装置100に処理させる肺結節の大きさをあらかじめ一定の大きさに限定するような場合である。このような場合、設定部1040は上述の判定境界の半径の決定処理を行わず、代わりに定数R
decisionconstを判定境界の半径として設定してもよい。今、元画像中に描出されている肺結節の既知の平均半径をR
noduleknownとする。すると、定数R
decisionconstは、肺結節領域の平均半径がR
noduleknownであるような肺結節領域が描出されている画像において、所望の気管支領域が所定閾値以上の精度で抽出できる値であればよい。定数R
decisionconstは、本実施形態の画像処理装置100が処理を開始するより前に、データサーバ130に格納される。ステップS1060において設定部1040は、R
decisionconstをデータサーバ130から取得する。そして、設定部1040は、取得した定数R
decisionconstを判定境界の半径とする。上述の通り、肺結節の大きさが既知である場合も、肺結節の既知の大きさに基づき、判定境界を肺結節領域の重心位置から一定距離の位置に配置することが可能である。
【0071】
ここまでの処理で、設定部1040は判定境界を設定するための情報を取得した。最後に、設定部1040は合成マスク画像M
composite1中に判定境界を設定する。具体的には、合成マスク画像M
composite1中に中心位置G
nodule、半径R
decision[k’]の球を描く。最も簡単な方法は、合成マスク画像M
composite1の画素G
noduleから距離rだけ離れた位置にあるすべての画素に判定境界に属する画素を表す画素値を与えることである。ここで、R
decision[k’]<=r<=R
decision[k’]+ΔR,ΔR>=0である。画素値は合成マスク画像M
composite1中の肺結節領域V
noduleや候補領域V
candidate[i]と区別可能であれば、どのような値であっても構わない。
図6の合成マスク画像1600に描画されている閉曲線1660が判定境界である。
【0072】
ΔRの値は0以上であればどのような値でも構わないが、判定境界を表す球面の厚み(
図6の閉曲線1660の太さ)が少なくとも2画素以上となるか、判定境界を表す画素が互いに6近傍連結となるような値であることが望ましい。これは、本実施形態に係る画像処理装置100によって扱われる画像が離散的な画素の集合で表されているためである。ΔRの値に0、もしくは非常に小さな値を用いた場合、判定境界を表す画素が26近傍連結となることがある。また、場合によっては、判定境界が1本の閉曲線ではなく、互いに連結していない複数個の線分になることもある。このような判定境界を合成マスク画像M
composite1に設定した場合、次に説明するステップS1060の処理が期待通りの効果を発揮しない場合がある。そのため、ΔRにはある程度大きな値を与えるとよい。例えば、ΔRの値をR
decision[k’]の値の10%(ΔR=0.1xR
decision[k’])とすればよい。また、合成マスク画像M
composite1中の画素のうち、画素G
noduleからR
decision[k’]以上離れた位置にあるすべての画素が判定境界となるように、ΔRの値を設定しても構わない。ステップS1060の処理の特性上、ΔRの値として大きな値を用いても問題にならない。
【0073】
上述の処理をすべて終えた後、設定部1040は合成マスク画像M
composite1を記憶部120に保存する。
【0074】
以上で、ステップS1060において設定部1040が行う処理の説明を終える。
【0075】
ここからは、データサーバ130に格納されているリストL
1の構築方法について説明する。リストL
1に格納されている値の組(R
nodule[k],R
decision[k])は、例えば、事前に収集された複数の学習用画像から決定される。
【0076】
はじめに、ユーザは、それぞれの学習用画像について、その画像中に存在する肺結節の領域の半径を計測する。次に、ユーザは肺結節領域の半径に応じて学習用画像を分類する。例えば、半径5mm未満の肺結節が描出されている学習用画像をグループ1に分類する。次に、5mm以上10mm未満の肺結節が描出されている学習用画像をグループ2に分類する。このように、すべての学習用画像を半径に関して5mm区切りで定義されたグループのいずれかに分類する。なお、肺結節の領域の半径の計測、学習用画像の分類を画像処理装置100が実施することとしてもよい。
【0077】
なお、学習用画像を5mm区切りで定義されたグループのいずれかに分類することとしたが、一例であり他の方法でグループを分類することとしてもよい。すなわち、部類するグループの数は2つに限定されるものではなく3以上であってもよいし、5mm区切りでなくともよい。学習用画像をどの程度の大きさごとに異なるグループに分類するかは、後述の判定境界の半径の決定処理における所望の気管支領域の抽出精度に基づいて決定すればよい。
【0078】
すべての学習用画像を肺結節領域の半径に基づいて分類した後、それぞれのグループについて、画像処理装置100は、所望の気管支領域が最も高い精度で抽出されるような判定境界の半径の値を取得する。このステップでは、画像処理装置100が、範囲[R
decisionmin,R
decisionmax](R
decisionmin,R
decisionmaxについては後述)の中で値を一つ選択する。そして、第1の実施形態に係る画像処理装置100が実施するステップS1010からS1070までの処理を学習用画像に適用して所望の領域を実際に抽出し、抽出精度を計算する。このとき、画像処理装置100は、先ほど選択した値を判定境界の仮の半径として利用する。この一連の処理を範囲[R
decisionmin,R
decisionmax]の様々な値で実施し、画像処理装置100は、それぞれの値について抽出精度を求める。このようにして、それぞれの学習用画像のグループについて、判定境界の半径と抽出精度の関係を取得することができる。最後に、画像処理装置100は、それぞれの学習用画像のグループで、抽出精度が最も高かった時の判定境界の半径をそのグループでの判定境界の半径R
decision[k]として選択する。なお、抽出精度は、例えば、予め決められた肺結節領域の正解データと画像処理装置100の抽出結果との一致度により求めることが可能である。
【0079】
ここで、上述の処理で用いられているR
decisionminとR
decisionmaxについて説明する。R
decisionminは、処理しようとしている学習用画像に描出されている肺結節の領域の平均半径の値R
noduleとすればよい。一方、R
decisionmaxは、処理しようとしている学習用画像に描出されている肺結節の領域から気管の領域までの距離とすればよい。
【0080】
それぞれのグループについて、抽出精度が最も高くなる判定境界の半径R
decision[k]が得られた後、判定境界の半径R
decision[k]とそのグループに属する肺結節領域の半径の代表値を1組の値とする。ここで、肺結節領域の半径の代表値は、例えばそれぞれのグループに属している肺結節領域の半径の中間値とすればよい。例えば、グループ2の肺結節(5mm以上10mm未満の肺結節)であれば、R
nodule[2]=7.5mmとする。このようにして得られた肺結節領域の半径の代表値R
nodule[k]と判定境界の半径R
decision[k]を、順番に1組の値(R
nodule[k],R
desicion[k])としてデータサーバ130に格納する。最後に、ここで述べた判定境界の半径の決定処理は第1の実施形態に係る画像処理装置100を構築する段階で1度だけ実施すればよく、元画像を処理する段階では実施する必要がないことに注意されたい。
【0081】
以上で、データサーバ130に格納されているリストL
1の構築方法についての説明を終える。
【0082】
(S1070)
ステップS1070において、判定部1050は合成マスク画像中のそれぞれの候補領域が所望の領域であるか否かを判定する。
図7を参照して、判定部の処理について説明する。
図7の画像1700は、合成マスク画像M
composite1である。合成マスク画像1700中の破線で囲まれた領域1710は肺結節領域V
noduleである。また、領域1721〜領域1736は候補領域V
candidate[i]である。
【0083】
はじめに、判定部1050は記憶部120から合成マスク画像M
composite1を取得する。
【0084】
次に、判定部1050は合成マスク画像M
composite1中の肺結節領域V
noduleに対してモルフォロジ演算の一つである膨張演算(dilation)を適用する。そして、肺結節領域V
noduleの拡大領域V
nodule’を取得する。なお、膨張演算は必須の処理ではない。ここで、肺結節領域V
noduleおよび拡大大領域V
nodule’は、肺結節の領域に関する領域の一例に相当する。
【0085】
膨張演算の構造要素には半径R
dilation1の球が用いられる。半径R
dilation1の値には、元画像と同種の学習用画像に対して実際にステップS1010からS1080までの処理を適用して気管支領域を抽出したときに、所望の気管支領域が最も高い精度で得られる値を用いる。なお、半径R
dilation1は、画像と同種の学習用画像に対して実際にステップS1010からS1080までの処理を適用して気管支領域を抽出したときに、所望の気管支領域が所定閾値以上の精度で抽出できる値であってもよい。
【0086】
また、R
dilation1の値を肺結節領域の平均半径R
noduleに応じて決定してもよい。この場合には、結節の平均半径R
noduleに応じて判定境界の半径R
decision[k’]を決定する方法と同様の方法を用いて、R
dilation1を決定すればよい。具体的な処理については、ステップS1060の説明を参照されたい。
【0087】
図7の画像1700では、実線で囲まれた領域1760が拡大領域V
nodule’である。拡大領域1760は、肺結節領域1710が重心1750を中心として拡大された領域である。
【0088】
拡大領域V
nodule’を取得した後、判定部1050は合成マスク画像M
composite1中のそれぞれの候補領域V
candidate[i](1<=i<=N
candidate)が所望の領域であるか否かを判定する。ここで、判定とは例えば候補領域V
candidate[i]に属する画素のうち、少なくともN
voxel個の画素が拡大領域V
nodule’と判定境界V
decisionの両方に接している、もしくは重なっていることを確認する処理のことである。ここで、N
voxelは元画像と同種の学習用画像に対して実際にステップS1010からS1080までの処理を適用して気管支領域を抽出したときに、所望の気管支領域が最も高い精度で得られる値を用いる。なお、N
voxelは、元画像と同種の学習用画像に対して実際にステップS1010からS1080までの処理を適用して気管支領域を抽出したときに、所望の気管支領域が所定閾値以上の精度で抽出できる判定境界の値であってもよい。すなわち、N
voxelは任意の値とすることが可能でありN
voxelは例えば1画素以上であればよい。
【0089】
候補領域V
candidate[i]が拡大領域V
nodule’と判定境界V
decisionとに接している、もしくは重なっている場合、判定部1050は判定結果を格納する変数B
[i]に判定結果‘真’を格納する。逆に、候補領域V
candidate[i]が拡大領域V
nodule’と判定境界V
decisionとのうち少なくとも一方に接していない場合は、変数B
[i]に判定結果‘偽’を格納する。すべての候補領域V
candidate[i]について判定を行った後、判定部1050は判定結果B
[i]を記憶部120に保存する。なお、膨張処理をしない場合には、判定部1050は拡大領域V
nodule’に替えて肺結節領域V
noduleと候補領域V
candidate[i]が接している、もしくは重なっているかを判定する。
【0090】
ここで、候補領域1721〜候補領域1736のそれぞれについて判定結果を確認する。候補領域1721は拡大領域1760と判定境界1740の両方と接している(重なっている)ため、判定結果は‘真’となる。候補領域1730は判定境界1740とは接している(重なっている)が拡大領域1760には接していない(重なっていない)ため、判定結果は‘偽’となる。逆に、候補領域1731は拡大領域1760には接している(重なっている)が判定境界1740とは接してない(重なっていない)ため、判定結果は‘偽’となる。候補領域1722〜候補領域1729、候補領域1732〜候補領域1736は、拡大領域1760にも判定境界1740にも接していない(重なっていない)ため、判定結果は‘偽’となる。
【0091】
(S1080)
ステップS1080において、取得部1060はステップS1070で行われた判定の結果に基づいて候補領域の中から所望の気管支の領域を取得する。ここで、所望の気管支とは例えば注目肺結節の周辺を走行する気管支であり、異なる観点からは、所望の気管支は気管から結節に向かって走行する気管支ということができる。
【0092】
はじめに、取得部1060は記憶部120から合成マスク画像M
composite1とすべての判定結果B
[i](1<=i<=N
candidate)を取得する。次に、取得部1060は合成マスク画像M
composite1と同じ画像サイズのマスク画像(気管支マスク画像M
bronchus)を生成する。気管支マスク画像M
bronchusのすべての画素には、気管支外画素を表す画素値が代入される。
【0093】
気管支マスク画像M
bronchusが生成された後、取得部1060は合成マスク画像内の各候補領域V
candidate[i]について判定結果B
[i]を確認する。もし、判定結果B
[i]が‘真’であれば、候補領域V
candidate[i]を所望の領域V
bronchusとして取得する。そして、取得された領域に属するそれぞれの画素について、気管支マスク画像M
bronchus内で対応する画素の画素値を‘気管支画素’とする。この処理をすべての候補領域V
candidate[i]について適用して、取得部1060は所望の領域を取得する。
【0094】
図8に本ステップで取得される気管支マスク画像の一例を示す。
図8の気管支マスク画像1800は、
図7の合成マスク画像1700中の候補領域1721〜候補領域1736に対して本ステップの取得の処理を適用して得られた結果である。ステップS1070の処理により、
図7の候補領域1721のみが判定結果‘真’であり、それ以外の候補領域が判定結果‘偽’であった。この判定結果に基づき、本ステップにおいて領域1721が所望の領域1811として取得される。そして、候補領域1721以外の候補領域(候補領域1722〜候補領域1736)は取得されない。
【0095】
取得部1060により生成された気管支マスク画像M
bronchusは、記憶部120を介してデータサーバ130に保存される。
【0096】
以上の手順に従い、第1の実施形態に係る画像処理装置100は注目肺結節の周辺を走行する気管支を抽出する処理を行う。
【0097】
ここからは、第1の実施形態に係る画像処理装置100で注目肺結節に向かって周辺を走行する動静脈を抽出する処理について説明する。第1の実施形態に係る画像処理装置100が実施する処理のうち、ステップS1010、S1020、S1030の処理は動静脈領域の抽出でも同じである。ステップS1040において第二の抽出部1020は、気管支領域ではなく、動静脈の候補領域を抽出する。動静脈領域は、気管支領域と同様、細い管状構造物(その内部は太い線状構造物)である。一方、気管支領域とは異なり、肺野領域よりも高いCT値を有する。そこでステップS1040では、第二の抽出部1020は、元画像、および元画像の各画素で計算されたL
line(p)に対してしきい値処理(I
input(p)>T
input1かつL
line(p)>T
line)を適用することで、元画像中で動静脈領域に属する可能性が高い画素を取得する。そして、第二の抽出部1020は、拡張条件「拡張候補画素pを中心とする半径R
RG1内の画素p’の画素値I
input(p’)がしきい値T
input2より高い(I
input(p’)>T
input2)」を用いて、領域拡張処理を行う。ステップS1050、S1060、S1070、S1080では、気管支領域の抽出での処理と同様の処理を行えばよい。
【0098】
以上の手順に従い、第1の実施形態に係る画像処理装置100は注目肺結節の周辺を走行する動静脈を抽出する処理を行う。
【0099】
第1の実施形態に係る画像処理装置100は、上述の処理により注目肺結節の周辺を走行する構造物(気管支や動静脈)の領域を従来よりも高い精度で抽出できる。すなわち、気管支や動静脈のうち注目肺結節に関係する気管支や動静脈を高い精度で抽出できる。言い換えれば、気管支や動静脈のうち医師が特に着目する可能性のある気管支や動静脈を高い精度で抽出できる。
【0100】
<第2の実施形態>
第2の実施形態に係る画像処理装置は、元画像の一部分を切り出して、部分画像を生成する。そして、生成された部分画像の辺縁に判定境界を設定する。ここで、部分画像は元画像に描出されている肺結節の領域を含むように切り出される。また、部分画像の画像サイズは元画像に描出されている肺結節領域の平均半径に基づいて決定される。結果として、判定境界は、肺結節領域の平均半径に基づいて決定される距離だけ肺結節領域から離れた位置に設定されることになる。以下、第2の実施形態に係る画像処理装置について説明する。
【0101】
図9を参照して本実施形態に係る画像処理装置の機能構成について説明する。第2の実施形態に係る画像処理装置200の画像処理部2000は、第一の抽出部1010、第二の抽出部2020、計測部1030、設定部2040、判定部2050、取得部2060、生成部2070からなる。第1の実施形態と同様に画像処理装置200が備える1以上のプロセッサにより上記の各部の機能が実現される。これらの処理部のうち、第一の抽出部1010と計測部1030は、第1の実施形態に係る画像処理装置100での処理部と同じ処理を行う。そのため、これらの処理部の説明は省略する。
【0102】
第二の抽出部2020、判定部2050、取得部2060は、第1の実施形態に係る画像処理装置100における第二の抽出部1020、判定部1050、取得部1060と同等の処理を行う。ただし、第二の抽出部2020、判定部2050、取得部2060は部分画像と部分合成マスク画像を処理する。
【0103】
設定部2040は後述の部分肺結節マスク画像と部分候補マスク画像から合成マスク画像を生成する。そして、生成された合成マスク画像の辺縁に判定境界を設定する。生成された合成マスク画像は記憶部120に保存される。
【0104】
生成部2070は、2種類の画像サイズ変更処理を行う。1つ目の画像サイズ変更処理は、画像の切り出しである。第一の抽出部1010と計測部1030が処理を終えた後、生成部2070は記憶部120から元画像、肺結節マスク画像、肺結節領域の重心位置の座標値を取得する。そして、生成部2070は、元画像と肺結節マスク画像の一部分を切り出し、切り出した部分を新たな画像として生成する。画像の切り出し範囲は、それぞれの画像において肺結節領域の重心位置と同一座標の位置をおおよそ中心とし、所定の方法で決定された大きさの矩形で囲まれる範囲とする。なお切り出し範囲の形状は矩形に限定されるものではない。この切り出し処理により、元画像から部分画像が生成される。同様に、肺結節マスク画像から部分肺結節マスク画像が生成される。これら2つの画像は記憶部120に保存される。
【0105】
生成部2070によって実施される2つ目の画像サイズ変更処理は、取得部2060で生成されるマスク画像(部分気管支マスク画像)の画像サイズを元画像と同じ画像サイズにする処理である。詳細は後述するが、第2の実施形態に係る画像処理装置200は部分画像中に存在する気管支の領域を抽出する。部分画像は元画像から切り出された画像であるため、部分気管支マスク画像の画像サイズは元画像のそれとは異なる。そこで、生成部2070で部分気管支マスク画像の画像サイズが元画像と同じ画像サイズになるように、部分気管支マスク画像の画像サイズを変更する。この処理は、第1の画像サイズ変更処理と逆の手順の処理となることに注意されたい。
【0106】
次に
図10を参照して、本実施形態の画像処理装置200の処理手順を説明する。本実施形態に係る画像処理装置200は、第1の実施形態に係る画像処理装置100で実行されるステップS1010、S1020、S1030の処理を実施する。その後、以下で説明するステップS2035、S2040、S2050、S2060、S2070、S2080、S2090の処理を実行する。
【0107】
(S2035)
ステップS2035において、生成部2070は記憶部120から元画像と肺結節マスク画像を取得する。そして、それぞれの画像から画像中の所定の範囲(切り出し範囲)を切り出し、部分画像と部分肺結節マスク画像を生成する。なお元画像が3次元画像であるため、ここで述べる切り出し範囲とは直方体領域のことである。また、本ステップで生成される画像は3次元画像である。もし元画像が2次元画像であれば、切り出し範囲は長方形領域となり、生成される画像は2次元画像となる。なお、直方体領域と長方形領域にはそれぞれ立方体領域と正方形領域が含まれる。
【0108】
図11を参照して、部分画像と部分肺結節マスク画像の生成について説明する。
図11の画像2000は、第2の実施形態に係る画像処理装置200によって処理される元画像である。これは、
図3の元画像1300と同じ画像である。
【0109】
はじめに、生成部2070は切り出し範囲の中心位置を決定する。ここで、切り出し範囲の中心位置は肺結節領域の重心位置とする。肺結節領域の重心位置の座標値G
noduleはステップS1030ですでに計算されており、記憶部120に保存されている。そこで、生成部2070は記憶部120から肺結節領域の重心位置の座標値G
noduleを取得する。そして、取得した値を判定境界の中心の座標値として使用する。
図11の画像2000中の黒点2020が肺結節領域の重心位置の座標値G
noduleである。
【0110】
次に、生成部2070は切り出し範囲の大きさを決定する。ここで切り出し範囲の大きさは、直方体領域の一辺の長さ(W
voixH
voixD
voi)で定義される。ここで、W
voi,H
voi,D
voiはそれぞれ正の整数である。直方体領域の一辺の長さ(W
voixH
voixD
voi)は、元画像から所望の気管支の領域を抽出するのに最適な判定境界の半径の2倍とする。具体的な決定方法は、第1の実施形態に係る画像処理装置100の設定部1040がステップS1060で判定境界の半径を決定する方法に準じる。詳細について以下で説明する。
【0111】
判定境界の半径を決定するためには肺結節領域の平均半径が必要であるが、肺結節領域の平均半径R
noduleはステップS1030ですでに計測されており、記憶部120に保存されている。そこで、生成部2070は記憶部120肺結節領域の平均半径R
noduleを取得する。次に、生成部2070は判定境界の半径を決定するためにリストL
1を記憶部120から取得する。リストL
1に格納されている値の詳細については、第1の実施形態の説明で述べた通りである。肺結節領域の平均半径R
noduleとリストL
1を取得した後、生成部2070は判定境界の半径を決定する。判定境界の半径の決定方法についても、ステップS1060の説明で述べた通りである。以上の処理を経て、生成部2070は判定境界の半径R
decision[k’]を得る。最後に、生成部2070は切り出し範囲の大きさを判定境界の半径R
decision[k’]の2倍(W
voi=H
voi=D
voi=2xR
decision[k’])とする。なお、判定境界の半径R
decision[k’]に乗算する係数は2に限定されるものではない。
【0112】
なお、元画像中に描出されている肺結節領域の平均半径が、本実施形態の画像処理装置100が処理を開始するより前に何らかの方法で分かっている場合がある。たとえば、操作者が、本実施形態の画像処理装置100に処理させる肺結節の大きさをあらかじめ一定の大きさに限定するような場合である。このような場合、生成部2070はあらかじめ決められた切り出し範囲の大きさ(W
voiconst,H
voiconst,D
voiconst)を元画像の切り出し範囲の大きさとして設定してもよい。ここで、切り出し範囲の大きさ(W
voiconst,H
voiconst,D
voiconst)は、元画像中に描出されている肺結節の既知の平均半径R
noduleknownに基づいて決定される値であり、たとえば平均半径R
noduleknownの2倍とすればよい。なお、元画像中に描出されている肺結節領域の平均半径が何らかの方法で事前に分かっている場合には、生成部2070は記憶部120からリストL
1を取得する必要はない。上述の通り、肺結節の大きさが既知である場合も、肺結節の既知の大きさに基づき、判定境界を肺結節領域の重心位置から一定距離の位置に配置することが可能である。
【0113】
図11の画像2000中の長方形2030が本ステップで決定された切り出し範囲である。切り出し範囲2030の中心は肺結節領域の重心位置2020と一致していることが分かる。
【0114】
切り出し範囲の中心位置G
noduleと大きさ(W
voixH
voixD
voi)が決定された後、生成部2070は元画像と肺結節マスク画像から、上記の方法で決定された切り出し範囲内の画像を切り出す。そして、切り出された画像をそれぞれ、部分画像I
voi、部分肺結節マスク画像M
noduleとする。生成された部分画像I
voiと部分肺結節マスク画像M
noduleは記憶部120に保存される。
【0115】
図11の画像2040は元画像2000から切り出された部分画像である。部分画像2040の肺結節2050は、元画像2000中に描出されている肺結節2010に対応する。そして、部分画像2040の気管支2061と気管支2062は、それぞれ元画像2000の気管支2031と気管支2032に対応する。
【0116】
図11の画像2070は不図示の肺結節マスク画像から切り出された部分肺結節マスク画像M
noduleである。部分肺結節マスク画像2070の領域2080は肺結節領域V
noduleである。この領域は、ステップS1020において元画像2000から抽出されている。
【0117】
(S2040)
ステップS2040において、第二の抽出部2020は部分画像中に存在する気管支の候補領域を抽出する。本ステップの処理は、第1の実施形態に係る画像処理装置100の第二の抽出部1020がステップS1040で行う処理と同じである。ただし、元画像ではなく部分画像中に存在する気管支の候補領域を抽出する点が異なる。本ステップの処理で、部分候補マスク画像M
candidateが生成される。そして、部分候補マスク画像M
candidateには、候補領域V
candidate[i]が存在する。
【0118】
(S2050)
ステップS2050において、設定部2040は合成マスク画像M
composite2を生成する。本ステップの処理は、第1の実施形態に係る画像処理装置100の設定部1040がステップS1050で行う処理と同じである。ただし、部分肺結節マスク画像M
noduleと部分候補マスク画像M
candidateから合成マスク画像M
composite2を生成する点が異なる。合成マスク画像M
composite2のサイズは、第1の実施形態における合成マスク画像M
composite1のサイズよりも小さな画像である。
【0119】
(S2060)
ステップS2060において、設定部2040は合成マスク画像M
composite2の辺縁に判定境界を設定する。
図12を参照して、本ステップで設定される判定境界について説明する。
図12の画像2100は合成マスク画像M
composite2である。合成マスク画像2100中の領域2110は肺結節領域V
noduleである。そして、領域2121、領域2122、領域2123、領域2124はステップS2040で取得された候補領域V
candidate[i]である。これらの候補領域のうち、候補領域2121と候補領域2124は気管支領域2031と気管支領域2032に対応する領域であり、正しく抽出されているのが分かる。しかしながら、候補領域2122と候補領域2123は、気管支領域ではない領域が気管支領域として誤って抽出されている。
【0120】
設定部2040は合成マスク画像M
composite2の辺縁部に判定境界を設定する。
図12の合成マスク画像2100において斜線で示された領域2130、領域2140、領域2150、領域2160が、判定境界である。この図から分かる通り、設定部2040は合成マスク画像2100の辺縁から所定の範囲の領域に判定境界を設定する。判定境界は少なくとも1画素の幅がなければならない。
【0121】
判定境界を設定した後、設定部1040は合成マスク画像M
composite2を記憶部120に保存する。
【0122】
(S2070)
ステップS2070において、判定部2050は合成マスク画像中のそれぞれの候補領域が所望の領域であるか否かを判定する。本ステップの処理は、第1の実施形態に係る画像処理装置100の判定部1050がステップS1070で行う処理と同じである。ただし、M
composite2を参照して判定の処理を行う。
【0123】
ここで、
図13の画像2200を参照して本ステップで実施される判定処理の結果を説明する。画像2200は、合成マスク画像M
composite2である。合成マスク画像2200において、実線で囲まれた領域2270が拡大領域V
nodule’である。拡大領域2270は、破線で囲まれた肺結節領域2210を黒点2280を中心として膨張させることによって得られる。なお、肺結節領域2210を膨張させる処理は必須の処理ではない。
【0124】
候補領域2221は、拡大領域2270と判定境界2260の両方と接している(重なっている)ため、判定結果は‘真’となる。候補領域2222は、拡大領域2270にもどの判定境界にも接していない(重なっていない)ため、判定結果は‘偽’となる。候補領域2223は拡大領域2270に接している(重なっている)が判定境界に接していない(重なっていない)ため、判定結果は‘偽’となる。候補領域2224は判定境界2260に接している(重なっている)が拡大領域2270に接していない(重なっていない)ため、判定結果は‘偽’となる。
【0125】
(S2080)
ステップS2080において、取得部2060はステップS2070で行われた判定の結果に基づいて候補領域の中から所望の気管支の領域を取得する。本ステップの処理は、第1の実施形態に係る画像処理装置100の取得部1060がステップS1080で行う処理と同じである。ただし、M
composite2を参照して気管支領域の取得処理を行う。
【0126】
図13の画像2300は、本ステップで取得される部分気管支マスク画像M
bronchusである。部分気管支マスク画像2300は、合成マスク画像2200に対して本ステップの取得の処理を適用して得られた結果である。ステップS2070の処理において、合成マスク画像2200の候補領域2221のみが判定結果‘真’であり、それ以外の候補領域(候補領域2222、候補領域2223、候補領域2224)が判定結果‘偽’であった。この判定結果に基づき、本ステップにおいて候補領域2221が所望の領域2311として取得される。そして、候補領域2221以外の候補領域(候補領域2222、候補領域2223、候補領域2224)は取得されていない。
【0127】
(S2090)
ステップS2090において、生成部2070は記憶部120より部分気管支マスク画像を取得する。そして、部分気管支マスク画像を元画像と同じ画像サイズに変更する。
【0128】
ステップS2035において、元画像中の2点(x
1,y
1,z
1),(x
2,y
2,z
2)を対角線とする直方体の範囲を切り出して部分画像を生成したとする。ここでx
1,x
2,y
1,y
2,z
1,z
2は1<=x
1<x
2<=W
input,1<=y
1<y
2<=H
input,1<=z
1<z
2<=D
inputを満たす正の整数である。また、W
input,H
input,D
inputはそれぞれ元画像のX,Y,Z方向の画素数である。
【0129】
本ステップにおいて、生成部2070は最初に元画像と同じ画像サイズW
inputxH
inputxD
inputのマスク画像を作成する。このマスク画像の画素値は、すべて気管領域外画素とする。次に、生成部2070はこのマスク画像の(x
1,y
1,z
1),(x
2,y
2,z
2)を対角線とする直方体の範囲に、部分気管支マスク画像の画素値をコピーする。生成されたマスク画像(気管支マスク画像)は記憶部120を介してデータサーバ130に保存される。
【0130】
以上の手順に従い、第2の実施形態に係る画像処理装置200は注目肺結節の周辺を走行する気管支を抽出する処理を行う。
【0131】
ここからは、第2の実施形態に係る画像処理装置200で注目肺結節の周辺を走行する動静脈を抽出する処理について説明する。第2の実施形態に係る画像処理装置200が実施する処理のうち、ステップS1010、S1020、S1030、S2035の処理は動静脈領域の抽出でも同じである。ステップS2040において第二の抽出部2020は、気管支領域ではなく、動静脈の候補領域を抽出する。動静脈領域の抽出処理については、第1の実施形態の説明で述べた通りである。ステップS2050、S2060、S2070、S2080、S2090では、気管支領域の抽出での処理と同様の処理を行えばよい。
【0132】
以上の手順に従い、第2の実施形態に係る画像処理装置200は注目肺結節の周辺を走行する動静脈を抽出する処理を行う。
【0133】
第2の実施形態に係る画像処理装置200は、上述の処理により注目肺結節の周辺を走行する構造物(気管支や動静脈)の領域を従来よりも高い精度で抽出することができる。すなわち、気管支や動静脈のうち注目肺結節に関係する気管支や動静脈を高い精度で抽出できる。言い換えれば、気管支や動静脈のうち医師が特に着目する可能性のある気管支や動静脈を高い精度で抽出できる。また、第2の実施形態によれば部分的に切り出した画像に対して処理を行うため第1の実施形態に比べて高速に所望の構造物を抽出することが可能となる。また、切り出した範囲の辺縁を判定境界としているため、所望の構造物を容易に判定することが可能となる。
【0134】
<第3の実施形態>
第1および第2の実施形態に係る画像処理装置では、判定境界は肺結節領域を囲む閉曲面で表現されていた。ここで、判定境界を利用した構造物領域(気管支や動静脈の領域)の抽出処理の要諦は、構造物が走行する領域に判定境界を設定することであった。ところで、気管支と気管は木構造を有している。そのため、注目肺結節と気管の位置関係が既知の時、注目肺結節に関係する気管支が走行する領域を推定することが可能である。そこで、第3の実施形態に係る画像処理装置では肺結節と気管の位置関係に基づいて、気管支が走行することが期待される領域に判定境界を設定する。
【0135】
動静脈については、注目肺結節と縦隔内の動静脈との位置関係が既知の時、注目肺結節に関係する動静脈が走行する領域を推定することが可能である。そこで、肺結節と縦隔内の動静脈の位置関係に基づいて、肺野領域内で動静脈が走行することが期待される領域に判定境界を設定する。
【0136】
以下、第3の実施形態に係る画像処理装置について説明する。
【0137】
図14を参照して本実施形態に係る画像処理装置の機能構成について説明する。第3の実施形態に係る画像処理装置300の画像処理部3000は、第一の抽出部1010、第二の抽出部1020、計測部1030、設定部3040、判定部1050、取得部1060、第三の抽出部3070からなる。第1の実施形態と同様に画像処理装置300が備える1以上のプロセッサにより上記の各部の機能が実現される。これらの処理部のうち、設定部3040と第三の抽出部3070以外の処理部は、第1の実施形態に係る画像処理装置100での処理部と同じ処理を行う。そのため、これらの処理部の説明は省略する。
【0138】
設定部3040は、肺結節マスク画像、候補マスク画像、気管マスク画像から合成マスク画像を生成する。次に、設定部3040は第一の抽出部1010で抽出された肺結節領域と後述の第三の抽出部3070で抽出された気管領域の位置関係に基づいて、合成マスク画像中に判定境界を設定する。最後に、設定部3040は合成マスク画像を記憶部120に保存する。
【0139】
第三の抽出部3070は、記憶部120から元画像を取得する。そして、元画像に対して公知の画像セグメンテーション法を適用し、元画像中に描出されている気管の領域を抽出する。第三の抽出部3070は抽出結果をマスク画像(気管マスク画像)の形式で取得する。取得された気管マスク画像は記憶部120に保存される。
【0140】
ここで
図16を参照して、本実施形態に係る画像処理装置300によって処理される元画像について説明する。
図16の画像3000は、3次元胸部CT画像(元画像)を構成する複数の断面(冠状断面)画像中の1つの断面画像である。図面の制約から本図では元画像中の代表的な1つの断面画像を示しているが、元画像には多数の断面画像が含まれる。また本図では理解が容易なように元画像が冠状断面像から構成されている例を示したが、元画像はその他の断面像(例えば横断面像や矢状断面像)から構成されていてもよい。
【0141】
元画像3000には、患者の胴体3010と胴体周辺の空気領域3020、空気領域3030、空気領域3040が写っている。さらに胴体3010の内部には、右肺3050、左肺3060が存在する。CT画像では右肺が画像の右側に、左肺が画像の左側に写っていることに注意されたい。胴体3010の中央に存在するのが気管3070である。右肺3050、左肺3060の内部には、気管支3081〜気管支3086が存在する。これらの気管支は3次元の線状構造物であり、不図示の断層像で気管3070につながっている。右肺3050には肺結節3090が存在する。本図において、気管支3081の領域が抽出したい気管支領域(所望の気管支領域)である。
【0142】
次に
図15を参照して、本実施形態の画像処理装置300の処理手順を説明する。本実施形態に係る画像処理装置300は、第1の実施形態に係る画像処理装置100で実行されるステップS1010、S1020、S1030、S1040の処理を実施する。その後、以下で説明するステップS3045、S3050、S3060の処理を実行する。
【0143】
(S3045)
ステップS3045において、第三の抽出部3070は元画像中に存在する気管の領域(気管領域)を抽出する。なお、ステップS3050以降の処理を考えた時、本ステップでは気管領域が概ね抽出されればよい点に注意されたい。
【0144】
第三の抽出部3070は記憶部120から元画像を取得する。そして、公知の画像セグメンテーション法を利用して気管領域を抽出する。気管領域は内部に空気を含む管状の器官である。そのため、気管領域は気管支領域と類似の画像特徴を有する。そこで、第三の抽出部3070は第1の実施形態に係る画像処理装置100がステップS1040で実施する処理と同等の処理を実施して気管領域を抽出する。ただし、ステップS1040と同等の処理を行った場合には、気管支領域も抽出されることがある。この場合には、気管領域が(1)縦隔(左右肺、胸椎、胸骨に囲まれた領域)に存在していること、(2)気管支領域よりも太いことを利用して、気管支領域を除外する。
【0145】
第三の抽出部3070は抽出結果をマスク画像(気管マスク画像M
trachea)の形式で取得する。取得された気管マスク画像は記憶部120に保存される。
【0146】
図17に第三の抽出部3070によって抽出される気管領域の一例を示す。
図17の画像3100は気管マスク画像M
tracheaである。そして領域3110が気管領域V
tracheaである。
【0147】
ここまでは本ステップにおいて第三の抽出部3070が気管領域V
tracheaを取得する例を説明してきたが、本ステップにおいて第三の抽出部3070は主気管支の領域を抽出してもよい。主気管支は、右主気管支と左主気管支という2つの主気管支が存在する。そこで、第三の抽出部3070は右主気管支領域V
rmaintracheaと左主気管支領域V
lmaintracheaを別々に抽出する。主気管支領域は気管領域に直接つながる領域である。そこで、気管領域を拡張開始点として領域拡張法を実行することで主気管支領域を取得することができる。右主気管支領域V
rmaintracheaと左主気管支領域V
lmaintracheaは、それぞれ気管領域V
tracheaに対して左側と右側に存在している。そのため、領域拡張法で得られた領域を気管領域V
tracheaを基準にして左右に分割することで、右主気管支領域V
rmaintracheaと左主気管支領域V
lmaintracheaを取得することが出来る。
【0148】
(S3050)
ステップS3050において、設定部3040は合成マスク画像M
composite3を生成する。合成マスク画像M
composite3は4値のマスク画像であり、それぞれの画素は0,1,2,3という4つの値をとる。ここで、画素値1はその画素が肺結節領域に属する画素であることを示す。また、画素値2はその画素が候補領域に属する画素であることを示す。さらに、画素値3はその画素が気管領域に属する画素であることを示す。そして、画素値0はその画素が肺結節領域、候補領域、気管領域のいずれにも属さない画素であることを示す。以降、1,2,3,0を画素値として持つ画素のことを、それぞれ肺結節画素、候補画素、気管画素、背景画素と呼ぶ。なお、画素値の各領域への割り当ては上記の例に限定されるものではない。
【0149】
本ステップの処理は、第1の実施形態に係る画像処理装置100の設定部1040がステップS1050で行う処理と同じである。ただし、合成マスク画像M
composite3を、肺結節マスク画像M
nodule、候補マスク画像M
candidate、気管マスク画像M
tracheaという3つのマスク画像から生成する点が異なる。
【0150】
図18に本ステップで生成される合成マスク画像M
composite3の一例を示す。
図18の画像3200は合成マスク画像M
composite3である。合成マスク画像3200において、領域3210がステップS1020で抽出された肺結節領域V
noduleである。そして、領域3221〜領域3234がステップS1040で抽出された候補領域V
candidate[i]である。これらの候補領域のうち、候補領域3221〜候補領域3226は
図16の元画像3000中に描出されている気管支領域3081〜気管支領域3086を正しく抽出したものである。しかしながら、候補領域3227〜候補領域3234は気管支領域ではない領域が気管支領域として誤って抽出されている。最後に、領域3240はステップS3045で抽出された気管領域V
tracheaである。なお、円弧3250、黒点3260、矢印3265、黒点3270、立体角3280、矢印3290は、後述のステップS3060でM
copoisite3に付与される情報である。
【0151】
(S3060)
ステップS3050において、設定部3040は判定境界を設定する。
図18を参照して判定境界について具体的に説明する。
【0152】
ステップS3060において、設定部3040は合成マスク画像M
composite3に判定境界を設定する。
図18の円弧3250が設定部3040によって設定された判定境界である。図面の制約から
図18では判定境界3250が円弧で描かれているが、合成マスク画像M
composite3のすべての断層像を横断的に観察すると、判定境界が楕円体の表面の一部分で表現されることが分かる。この図から分かる通り、設定部3040によって設定される判定境界は、3次元空間中の球もしくは楕円体の表面の一部分で表現される。なお、判定境界の形状は平面の一部分で表現されてもよい。また、判定境界には任意の曲面を用いることが可能である。
【0153】
判定境界3250を設定するために、設定部3040は判定境界の位置、向き、範囲を決定する。以下で決定方法について説明する。
【0154】
(判定境界の位置)
設定部3040は肺結節領域と気管領域の間の領域に判定境界を設定する。より具体的には、設定部3040は、肺結節領域の重心位置3270と気管領域3240の不図示の重心位置G
tracheaを結ぶ直線3290の上に判定境界の中央3265が位置するように判定境界3250を設定する。肺結節領域の重心位置の座標値G
noduleはすでにステップS1030で計算されており、記憶部120に格納されている。そこで、設定部3040は記憶部120から肺結節領域の重心位置の座標値G
noduleを取得する。気管領域の重心位置の座標値G
tracheaは[数1]を使って計算される。肺結節領域の重心位置G
noduleと気管領域の重心位置G
tracheaが計算されると、直線3290を表す方向ベクトルD
decision3は、
【0156】
判定境界を設定する直線3290を決定した後、設定部3040は肺結節領域3210から判定境界3250までの距離L
decision3を決定する。距離L
decision3とは、
図18中の矢印3265で示された距離のことである。距離L
decision3は、判定境界の範囲の決定方法と同じ方法で決定する。そのため、後ほど説明する。
【0157】
(判定境界の向き)
設定部3040は、判定境界の向きを肺結節領域から気管領域へ向かう方向とする。
図18の矢印3290が肺結節領域から気管領域へ向かう方向を示している。この方向は数6で計算される方向ベクトルD
decision3と一致する。そこで、設定部3040は判定境界の方向として、D
decision3を利用する。
【0158】
(判定境界の肺結節領域からの距離と判定境界の範囲)
設定部3040は、距離L
decision3と判定境界の範囲を肺結節領域V
noduleの大きさに基づいて決定する。ここで、判定境界の範囲は肺結節領域の重心位置を基点とする立体角Θ
decision3(
図18中の立体角3280)で表現される。なお、ここでは立体角を用いて判定境界の範囲を表現するが、判定境界の範囲を表現可能であればどのような表現形式であっても構わない。
【0159】
設定部3040は、立体角Θ
decision3と距離L
decision3を肺結節領域V
noduleの平均半径R
noduleに基づいて決定する。具体的な決定方法については、第1の実施形態に係る画像処理装置100がステップS1060で実施する方法に準じる。そこで、ここでは簡単に述べる。なお、立体角Θ
decision3と距離L
decision3は、肺結節領域の平均半径以外の情報(平均直径、最大半径、半径の中央値など)に基づいて決定されることとしてもよい。 設定部3040はデータサーバ130からリストL
3を取得する。リストL
3には、(肺結節領域の平均半径R
nodule[k],肺結節領域から判定境界までの距離L
decision[k],判定境界の範囲Θ
decision[k])(ただし1<=k<=N
L3)が格納されている。設定部3040はデータサーバ130からリストL
3を取得した後、L
3内に格納されているそれぞれのR
nodule[k]とR
noduleを比較し、R
noduleに最も近い値R
nodule[k’](1<=k’<=N
L3)を探す。そして、R
nodule[k’]と組をなしている肺結節領域から判定境界までの距離L
decision[k’]と判定境界の範囲Θ
decision[k’]を、それぞれ肺結節領域から判定境界までの距離と判定境界の範囲として用いる。なお、リストL
3の構築手段については、第1の実施形態のリストL
1のとは含まれるデータが異なるのみで第1の実施形態の説明で述べた通りである。
【0160】
以上で判定境界の決定方法の説明を終える。
【0161】
ここまでで、設定部3040は判定境界の位置、向き、範囲を決定した。最後に、設定部3040は合成マスク画像M
composite3中に判定境界を設定する。この方法についても、ステップS1060の説明で述べた通りである。ただし、ステップS1060の処理では球が描かれていたが、本ステップでは設定部3040によって定義された判定境界の形状が合成マスク画像に描かれる。
【0162】
上述の処理をすべて終えた後、設定部3040は合成マスク画像M
composite3を記憶部120に保存する。
【0163】
以上の説明では、気管領域V
tracheaを用いて判定境界の位置、向き、範囲を決定する方法について説明した。しかしながら、ステップS3045において第三の抽出部3070が主気管支領域を抽出している場合は、本ステップでは気管領域V
tracheaの代わりに主気管支領域を用いてもよい。例えば、現在注目している肺結節領域が右の肺野領域に存在する場合には、はじめに数1を用いて右主気管支領域V
rmainbronchusの重心位置G
rmainbronchusを計算する。その後、以下の数7を用いて肺結節領域の重心位置G
noduleから右主気管支領域V
rmainbronchusの重心位置に向かう方向ベクトルD
decision3を計算すればよい。
【0165】
もし、現在注目している肺結節領域が右の肺野領域に存在する場合には、右主気管支領域V
rmainbronchusのかわりに左主気管支領域V
lmainbronchusを用いればよい。
【0166】
以上で、ステップS3060において設定部3040が行う処理についての説明を終える。
【0167】
ステップS3060の処理を終えた後、第3の実施形態に係る画像処理装置300はステップS1070、S1080の処理を実施する。これらのステップで実施される処理については、第1の実施形態の説明で述べた通りである。
【0168】
ここで、
図19を参照して本実施形態に係る画像処理装置300のステップS1070とS1080の処理結果を確認する。
【0169】
図19の画像3300は合成マスク画像M
composiet3である。合成マスク画像3300において、実線で囲まれた領域3370が拡大領域V
nodule’である。拡大領域3370は、破線で囲まれた肺結節領域3310を黒点3360を中心として膨張させることによって得られる。なお、黒点3360は肺結節領域3310の重心位置である。また、肺結節領域3310を膨張させる処理は必須の処理ではない。
【0170】
候補領域3321は拡大領域3370と判定境界3350の両方と接している(重なっている)ため、判定結果は‘真’となる。候補領域3329は判定境界3350とは接している(重なっている)が拡大領域3370には接していない(重なっていない)ため、判定結果は‘偽’となる。逆に、候補領域3330は拡大領域3370には接している(重なっている)が判定境界3350とは接してない(重なっていない)ため、判定結果は‘偽’となる。候補領域3322〜候補領域3328、候補領域3331〜候補領域3334は、拡大領域3370にも判定境界3350にも接していない(重なっていない)ため、判定結果は‘偽’となる。
【0171】
図19の画像3400はステップS1080で取得される気管支マスク画像M
bronchusである。これは合成マスク画像3300の候補領域3321〜候補領域3334に対してステップS1080の処理を適用して得られた結果である。ステップS1070の処理により、候補領域3321のみが判定結果‘真’であり、それ以外の候補領域が判定結果‘偽’であった。この判定結果に基づき、ステップS1080において領域3321が所望の領域3410として取得されている。そして、候補領域3321以外の候補領域(候補領域3322〜候補領域3334)は所望の領域3410として取得されていない。
【0172】
以上の手順に従い、第3の実施形態に係る画像処理装置300は注目肺結節の周辺を走行する気管支を抽出する処理を行う。
【0173】
ここからは、第3の実施形態に係る画像処理装置300で注目肺結節の周辺を走行する動静脈を抽出する処理について説明する。第3の実施形態に係る画像処理装置300が実施する処理のうち、ステップS1010、S1020、S1030の処理は動静脈領域の抽出でも同じである。ステップS1040において第二の抽出部1020は、気管支領域ではなく、肺野内の動静脈の候補領域を抽出する。動静脈領域の抽出処理については、第1の実施形態の説明で述べた通りである。ステップS30450において第三の抽出部3070は、気管領域ではなく、縦隔内の肺動静脈の領域を抽出する。縦隔内の肺動静脈領域の抽出には、公知の領域セグメンテーション法が用いられる。ステップS3050、S3060、S1070、S1080では、気管支領域の抽出での処理と同様の処理を行えばよい。
【0174】
以上の手順に従い、第3の実施形態に係る画像処理装置300は注目肺結節の周辺を走行する動静脈を抽出する処理を行う。
【0175】
第3の実施形態に係る画像処理装置300は、上述の処理により注目肺結節の周辺を走行する構造物(気管支や動静脈)の領域を従来よりも高い精度で抽出することができる。すなわち、気管支や動静脈のうち注目肺結節に関係する気管支や動静脈を高い精度で抽出できる。言い換えれば、気管支や動静脈のうち医師が特に着目する可能性のある気管支や動静脈を高い精度で抽出できる。また、第3の実施形態によれば判定境界を結節領域と気管領域との間に設けており、結節領域から気管領域へ向かう方向とは反対の方向に判定境界を設けていないため気管支や動静脈のうち注目肺結節に関係する気管支をより高い精度で抽出することが可能となる。
【0176】
なお、第3の実施形態と第2の実施形態とを組み合わせることとしてもよい。例えば、第2の実施形態における
図12においては合成マスク画像の四辺に判定境界が設けられているが、合成マスク画像の四辺のうち結節領域と気管領域との間に存在する辺のみに判定境界が設けられることとしてもよい。このようにすれば第2実施形態、第3実施形態の両実施形態の効果を得ることが可能となる。
【0177】
<第4の実施形態>
第4の実施形態に係る画像処理装置は、肺野内での肺結節の位置に基づいて気管支が走行することが期待される領域に判定境界を設定する。そして、設定された判定境界を用いて所望の気管支の領域を取得する。以下、第4の実施形態に係る画像処理装置について説明する。
【0178】
図20を参照して本実施形態に係る画像処理装置の機能構成について説明する。第4の実施形態に係る画像処理装置400の画像処理部4000は、第一の抽出部1010、第二の抽出部1020、計測部1030、設定部4040、判定部1050、取得部1060、第四の抽出部4070からなる。第1の実施形態と同様に画像処理装置300が備える1以上のプロセッサにより上記の各部の機能が実現される。これらの処理部のうち、設定部4040と第四の抽出部4070以外の処理部は、第1の実施形態に係る画像処理装置100での処理部と同じ処理を行う。そのため、これらの処理部の説明は省略する。
【0179】
設定部4040は、肺結節マスク画像、候補マスク画像、肺野マスク画像から合成マスク画像を生成する。次に、設定部4040は肺野領域内での肺結節領域の位置に基づいて、合成マスク画像内に判定境界を設定する。最後に、設定部4040は合成マスク画像を記憶部120に保存する。
【0180】
第四の抽出部4070は、記憶部120から元画像を取得する。そして、元画像に対して公知の画像セグメンテーション法を適用し、元画像中に描出されている肺野の領域を抽出する。第四の抽出部4070は抽出結果をマスク画像(肺野マスク画像)の形式で取得する。取得された肺野マスク画像は記憶部120に保存される。
【0181】
次に
図21を参照して、本実施形態の画像処理装置400の処理手順を説明する。本実施形態に係る画像処理装置400は、第1の実施形態に係る画像処理装置100で実行されるステップS1010、S1020、S1030、S1040の処理を実施する。その後、以下で説明するステップS4045、S4050、S4060の処理を実行する。
【0182】
(S4045)
ステップS4045において、第四の抽出部4070は記憶部120から元画像を取得する。そして、元画像中に存在する肺野の領域(肺野領域)を抽出する。肺野領域は、CT画像内で概ね一定のCT値を有している。そのため、公知の画像セグメンテーション法(しきい値処理、領域拡張法、Level−set法、Graph−cut法等)を利用することで、肺野の領域を抽出することができる。
【0183】
第四の抽出部4070は、抽出された肺野領域の情報をマスク画像(肺野マスク画像M
lung)の形式で取得する。取得された肺野マスク画像は記憶部120に保存される。
【0184】
図22に第四の抽出部4070によって抽出される肺野領域の一例を示す。
図22の画像4100は気管マスク画像M
lungである。そして領域4110と領域4120が第四の抽出部4070によって抽出された右肺野と左肺野の領域である。これらの領域を合わせてV
lungと呼ぶ。
【0185】
(S4050)
ステップS4050において、設定部4040は合成マスク画像M
composite4を生成する。合成マスク画像M
composite4は4値のマスク画像であり、それぞれの画素は0,1,2,3という4つの値をとる。ここで、画素値1はその画素が肺結節領域に属する画素であることを示す。また、画素値2はその画素が候補領域に属する画素であることを示す。さらに、画素値3はその画素が肺野領域に属する画素であることを示す。そして、画素値0はその画素が肺結節領域、候補領域、肺野領域のいずれにも属さない画素であることを示す。以降、1,2,3,0を画素値として持つ画素のことを、それぞれ肺結節画素、候補画素、肺野画素、背景画素と呼ぶ。なお、画素値の各領域への割り当ては上記の例に限定されるものではない。
【0186】
本ステップの処理は、第1の実施形態に係る画像処理装置100の設定部1040がステップS1050で行う処理と同じである。ただし、合成マスク画像M
composite4を、肺結節マスク画像M
nodule、候補マスク画像M
candidate、肺野マスク画像M
lungという3つのマスク画像から生成する点が異なる。
【0187】
図23に本ステップで生成される合成マスク画像M
composite4の一例を示す。
図23の画像4200は合成マスク画像M
composite4である。合成マスク画像4200において、領域4210がステップS1020で抽出された肺結節領域V
noduleである。そして、領域4221〜領域4234がステップS1040で抽出された候補領域V
candidate[i]である。これらの候補領域のうち、候補領域4221〜候補領域4226は
図16の元画像3000中に描出されている気管支領域3081〜気管支領域3086を正しく抽出したものである。しかしながら、候補領域4227〜候補領域4234は気管支領域ではない領域が気管支領域として誤って抽出されている。最後に、実線4240と実線4250で囲まれた領域はステップS4045で抽出された肺野領域V
lungである。なお、曲面4260、黒点4265、矢印4270、黒点4275、立体角4280、矢印4285、矢印4290、矢印4295は、後述のステップS4060でM
copoisite4に付与される情報である。
【0188】
(S4060)
ステップS4060において、判定部4040は合成マスク画像M
composite4に判定境界を設定する。
図23と
図25を参照して判定境界の設定方法について具体的に説明する。
【0189】
(判定境界の位置)
設定部4040は肺野領域内での肺結節領域の位置に基づいて判定境界を設定する。はじめに、設定部4040は記憶部120から肺結節領域の重心位置の座標値G
noduleを取得する。次に、設定部4040は肺野領域V
lungにおける肺結節領域V
noduleの位置(S
x,S
y,S
z)を取得する。ここで、位置(S
x,S
y,S
z)は肺野領域の外側、上端、腹側端からの距離とする。
図23では、矢印4285と矢印4290で示された距離がそれぞれS
xとS
yである。図面の関係で、位置S
zは不図示である。位置S
xは、もし肺結節領域V
noduleが右肺に存在する場合は、右肺の外側からの距離とする。逆に、もし肺結節領域V
noduleが左肺に存在する場合は、左肺の外側からの距離とする。
図23では肺結節領域4210は右肺に存在しているため、位置S
xの値は右肺の外側からの距離4285となる。肺結節領域が右肺と左肺のどちらに存在しているかは、位置S
xは肺野領域の内側からの距離としてもよい。また、位置S
yは肺野領域の下端からの距離としてもよい。また、位置S
zは肺野領域の背側端からの距離としてもよい。さらに、これらの位置は肺野領域の上下、左右、前後の長さで割った値を用いてもよい。すなわち、位置(S
’x,S
’y,S
’z)=(S
x/W
lung,S
y/H
lung,S
z/D
lung)を用いてもよい。ここで、W
lung,H
lung,D
lungは肺野領域の上下、左右、前後の長さである。
【0190】
次に設定部4040は記憶部120を介してデータサーバ130からリストL
4を取得する。リストL
4には、(位置(S
x[k],S
y[k],S
z[k]),方向ベクトルD
decision4[k])(1<=k<=N
L4)という2つの数値の組が複数個格納されている。
【0191】
設定部4040はデータサーバ130からリストL
4を取得した後、L
4内に格納されているそれぞれの(S
x[k],S
y[k],S
z[k])と(S
x,S
y,S
z)を比較し、(S
x,S
y,S
z)に最も近い値(S
x[k’],S
y[k’],S
z[k’])(1<=k’<=N
L4)を探す。そして、(S
x[k’],S
y[k’],S
z[k’])と組をなしている判定境界の方向ベクトルD
decision4[k’]を、合成マスク画像M
composite4に設定する判定境界の方向ベクトルとして用いる。
【0192】
ここで、リストL
4について説明する。リストL
4は事前に準備された学習用画像から構築される。リストL
4の構築手順はリストL
1やL
3の構築手順と同様である。
【0193】
設定部4040は、リストL
4として、特徴の異なる2種類の方向ベクトルを格納したリストL
41とリストL
42のいずれか一方を使用することが出来る。リストL
41とリストL
42に格納されている方向ベクトルはそれぞれ異なる特徴を持っている。そこで、第4の実施形態に係る画像処理装置400を構築する者は、画像処理装置400の構築段階で、リストL
41とリストL
42のいずれか一方をリストL
4として選択する。また、画像処理装置400の実行段階で、画像処理装置400の操作者に
図20には不図示の操作部を介していずれか一方のリストを選択させてもよい。この場合、設定部4040は操作者によって選択されたリストをリストL
4として用いる。以下でそれぞれの決定方法について説明する。
【0194】
はじめに、リストL
41の方向ベクトルD
decision4[k]について説明する。リストL
41の方向ベクトルD
decision4[k]には、肺結節領域の重心位置に対する気管領域の相対位置、もしくは肺門部における気管支領域の相対位置が格納されている。
図23を参照して、具体的に説明する。
図23の画像4200は、
図16の元画像3000に対してステップS1010〜S4050の処理を適用することで得られた合成マスク画像M
composite4である。リストL
4としてリストL
41を用いた場合、設定部4040は方向ベクトル4295を判定境界の方向とする。ここで、方向ベクトル4295は肺結節領域4210の重心位置4275から点線で示す気管領域へ向かう方向ベクトルである。すなわち、元画像中の肺結節領域の重心位置が得られると、元画像に描出されている気管領域、もしくは気管支領域の位置を取得することが可能となる。
【0195】
リストL
41の方向ベクトルD
decision4[k]の決定には学習用画像を用いる。はじめに、それぞれの学習用画像において、肺結節の重心位置の座標値を取得する。次に、気管や肺門部における気管支の重心位置の座標値を取得する。これらの位置はそれぞれの学習用画像から手動で取得する。最後に、気管や肺門部における気管支の重心の座標値を肺結節の重心位置からの相対座標値にする。
【0196】
以上で、リストL
41の方向ベクトルD
decision4[k]についての説明を終える。
【0197】
次に、リストL
42の方向ベクトルD
decision4[k]について説明する。リストL
42の方向ベクトルD
decision4[k]には、画像内で関心のある気管支の領域の位置が肺結節領域の重心位置に対する相対位置として格納されている。
図25を参照して具体的に説明する。
図25の画像4500は、不図示の元画像に対してステップS1010〜S4050の処理を適用することで得られた合成マスク画像M
composite4である。
【0198】
画像4500では、肺野領域内の肺底部付近で、かつ縦隔に近い場所に、肺結節領域4510が存在する。このような場所では、気管支は気管や肺門部における気管支の方向からは走行してこない。そのかわり、気管支は肺底部に沿うように走行する。気管支領域4521が、肺底部に沿うように走行する気管支の一例である。そして、本図においては、気管支領域4521が抽出したい気管支領域(所望の気管支領域)である。なお、
図25では肺底部の例を挙げたが、肺野領域内の場所に応じて注目気管支の場所は異なる。
【0199】
リストL
4としてリストL
42を用いた場合、設定部4040は、肺結節領域の肺野内での場所に応じて、注目気管支が走行する方向に沿う方向を判定境界の方向とする。
図25の肺結節領域4510に対しては、設定部4040は方向ベクトル4595を判定境界の方向とする。本図から分かる通り、リストL
42の方向ベクトルD
decision4[k]は、気管の相対位置や肺門部における気管支の相対位置とは一致しないことがある。リストL
4としてリストL
42を用いることにより、気管や肺門部での主気管支の位置から直線的に走行してこない気管支領域を抽出することが可能となる。
【0200】
リストL
42の方向ベクトルD
decision4[k]の決定には学習用画像を用いる。はじめに、それぞれの学習用画像において、肺結節の重心位置の座標値を取得する。次に、抽出したい気管支領域の重心位置の座標値を取得する。これらの位置はそれぞれの学習用画像から手動で取得する。最後に、抽出したい気管支領域の重心の座標値を肺結節の重心位置からの相対座標値にする。
【0201】
以上で、リストL
42の方向ベクトルD
decision4[k]についての説明を終える。
【0202】
以上で、リストL
4、リストL
41、リストL
42の詳細、および構築方法についての説明を終える。
【0203】
(判定境界の向き)
設定部4040は、D
decision3を判定境界の向きとする。これは、第3の実施形態に係る画像処理装置300の設定部4040と同様である。
【0204】
(判定境界の肺結節領域からの距離と判定境界の範囲)
設定部4040は肺結節領域4210から判定境界4260までの距離L
decision4と判定境界の範囲を示す立体角Θ
decision4を決定する。
【0205】
図23において、距離L
decision4とは矢印4265で示された距離のことである。そして、立体角Θ
decision4とは角度4280で示された立体角のことである。また、
図25において、距離L
decision4とは矢印4570で示された距離のことである。そして、立体角Θ
decision4とは角度4580で示された立体角のことである。これらの値の決定方法は、第3の実施形態に係る画像処理装置300の設定部3040がステップS3060で実施する処理と同じである。そのため、説明を省略する。
【0206】
以上で、ステップS4060において設定部4040が行う処理についての説明を終える。
【0207】
ステップS4060の処理を終えた後、第4の実施形態に係る画像処理装置400はステップS1070、S1080の処理を実施する。これらのステップで実施される処理については、第1の実施形態の説明で述べた通りである。
【0208】
ここで、
図24を参照して本実施形態に係る画像処理装置400のステップS1070とS1080の処理結果を確認する。
図24の画像4300は合成マスク画像M
composiet4である。ここで、合成マスク画像4300は、ステップS4060においてリストL
4としてリストL
41を使用した場合に生成される合成マスク画像である。合成マスク画像4300において、実線で囲まれた領域4380が拡大領域V
nodule’である。拡大領域4380は、破線で囲まれた肺結節領域4310を黒点4370を中心として膨張させることによって得られる。なお、黒点4370は肺結節領域4310の重心位置である。また、肺結節領域4310を膨張させる処理は必須の処理ではない。
【0209】
候補領域4321は拡大領域4380と判定境界4360の両方と接している(重なっている)ため、判定結果は‘真’となる。候補領域4329は判定境界4360とは接している(重なっている)が拡大領域4380には接していない(重なっていない)ため、判定結果は‘偽’となる。逆に、候補領域4330は拡大領域4380には接している(重なっている)が判定境界4360とは接してない(重なっていない)ため、判定結果は‘偽’となる。候補領域4322〜候補領域4328、候補領域4331〜候補領域4334は、拡大領域4380にも判定境界4360にも接していない(重なっていない)ため、判定結果は‘偽’となる。
【0210】
図24の画像4400はステップS1080で取得される気管支マスク画像M
bronchusである。これは合成マスク画像4300の候補領域4321〜候補領域4334に対してステップS1080の処理を適用して得られた結果である。ステップS1070の処理により、候補領域4321のみが判定結果‘真’であり、それ以外の候補領域が判定結果‘偽’であった。この判定結果に基づき、ステップS1080において領域4321が所望の領域4410として取得されている。そして、候補領域4321以外の候補領域(候補領域4322〜候補領域4334)は取得されていない。
【0211】
次に、
図26を参照して本実施形態に係る画像処理装置400のステップS1070とS1080の処理結果を確認する。
図26の画像4600は合成マスク画像M
composiet4である。ここで、合成マスク画像4600は、ステップS4060においてリストL
4としてリストL
42を使用した場合に生成される合成マスク画像である。合成マスク画像4600において、実線で囲まれた領域4680が拡大領域V
nodule’である。拡大領域4680は、破線で囲まれた肺結節領域4610を黒点4670を中心として膨張させることによって得られる。なお、黒点4670は肺結節領域4610の重心位置である。また、肺結節領域4610を膨張させる処理は必須の処理ではない。
【0212】
候補領域4621は拡大領域4680と判定境界4660の両方と接している(重なっている)ため、判定結果は‘真’となる。候補領域4627は判定境界4660とは接している(重なっている)が拡大領域4680には接していない(重なっていない)ため、判定結果は‘偽’となる。逆に、候補領域4628は拡大領域4680には接している(重なっている)が判定境界4660とは接してない(重なっていない)ため、判定結果は‘偽’となる。候補領域4622〜候補領域4626、候補領域4629〜候補領域4631は、拡大領域4680にも判定境界4660にも接していない(重なっていない)ため、判定結果は‘偽’となる。
【0213】
図26の画像4700はステップS1080で取得される気管支マスク画像M
bronchusである。これは合成マスク画像4600の候補領域4621〜候補領域4631に対してステップS1080の処理を適用して得られた結果である。ステップS1070の処理により、候補領域4621のみが判定結果‘真’であり、それ以外の候補領域が判定結果‘偽’であった。この判定結果に基づき、ステップS1080において領域4621が所望の領域4710として取得されている。そして、候補領域4621以外の候補領域(候補領域4622〜候補領域4631)は取得されていない。
【0214】
以上の手順に従い、第4の実施形態に係る画像処理装置400は注目肺結節の周辺を走行する気管支を抽出する処理を行う。
【0215】
ここからは、第4の実施形態に係る画像処理装置400で注目肺結節の周辺を走行する動静脈を抽出する処理について説明する。第4の実施形態に係る画像処理装置400が実施する処理のうち、ステップS1010、S1020、S1030の処理は動静脈領域の抽出でも同じである。ステップS1040において第二の抽出部1020は、気管支領域ではなく、動静脈の候補領域を抽出する。動静脈領域の抽出処理については、第1の実施形態の説明で述べた通りである。ステップS4045、S4050、S4060、S1070、S1080では、気管支領域の抽出での処理と同様の処理を行えばよい。
【0216】
以上の手順に従い、第4の実施形態に係る画像処理装置400は注目肺結節の周辺を走行する動静脈を抽出する処理を行う。
【0217】
第4の実施形態に係る画像処理装置400は、上述の処理により注目肺結節の周辺を走行する構造物(気管支や動静脈)の領域を従来よりも高い精度で抽出することができる。すなわち、気管支や動静脈のうち注目肺結節に関係する気管支や動静脈を高い精度で抽出できる。言い換えれば、気管支や動静脈のうち医師が特に着目する可能性のある気管支や動静脈を高い精度で抽出できる。また、第4の実施形態によれば肺結節と気管との間に存在する注目肺結節に関係する気管支や動静脈だけではなく、肺結節と気管との間以外に存在する注目肺結節に関係する気管支や動静脈を高い精度で抽出することができる。
【0218】
なお、第4の実施形態と第2の実施形態とを組み合わせることとしてもよい。例えば、第2の実施形態における
図12においては合成マスク画像の四辺に判定境界が設けられているが、第4の実施形態のように適応的に判定境界とする辺を変更することとしてもよい。
【0219】
このようにすれば第2の実施形態、第4の実施形態の両実施形態の効果を得ることが可能となる。
【0220】
<その他の実施形態>
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、Webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0221】
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0222】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。