(57)【要約】【課題】領域抽出処理の高速化を可能とする。【解決手段】本発明の一態様に係る情報処理方法は、（Ａ）データ格納部に格納されるボクセルデータを、着目する輝度値の範囲外の輝度値を有するボクセルが当該範囲外を表す第１のノードに設定され、且つ上記範囲内の輝度値を有するボクセルがボクセル間の隣接関係に基づく関係ノードを抽出可能な第２のノードに設定されたノードデータに変換し、（Ｂ）ノードデータに含まれる第２のノードの各々について、当該第２のノードの輝度値に対応する値及び当該第２のノードから抽出される関係ノードの輝度値に対応する値を用いて反応拡散方程式の出力値を算出する算出処理を所定回数実行し、（Ｃ）算出処理を所定回数実行した後における反応拡散方程式の出力値から、対応する第２のノードの輝度値を決定する処理を含む。【選択図】図４
2015100657.tif 000002
【特許請求の範囲】
【請求項１】
データ格納部に格納されるボクセルデータを、着目する輝度値の範囲外の輝度値を有するボクセルが当該範囲外を表す第１のノードに設定され、且つ前記範囲内の輝度値を有するボクセルがボクセル間の隣接関係に基づく関係ノードを抽出可能な第２のノードに設定されたノードデータに変換する変換部と、
前記ノードデータに含まれる前記第２のノードの各々について、当該第２のノードの輝度値に対応する値及び当該第２のノードから抽出される関係ノードの輝度値に対応する値を用いて反応拡散方程式の出力値を算出する算出処理を所定回数実行し、前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値から、対応する第２のノードの輝度値を決定する処理部と、
を有する情報処理装置。
【請求項２】
前記変換部が、
前記第２のノード毎に、当該第２のノードの輝度値から前記反応拡散方程式の値域内における対応する値を算出して格納する
請求項１記載の情報処理装置。
【請求項３】
前記変換部が、
前記範囲の上限値以上である輝度値を有するボクセルを、前記第１のノードに含まれる１つの第３のノードに設定し、
前記範囲の下限値以下である輝度値を有するボクセルを、前記第１のノードに含まれる１つの第４のノードに設定し、
前記第３のノードに対して、前記反応拡散方程式の値域内における前記上限値に対応する値を格納し、
前記第４のノードに対して、前記反応拡散方程式の値域内における前記下限値に対応する値を格納する
請求項１又は２記載の情報処理装置。
【請求項４】
前記処理部が、
前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値が、前記反応拡散方程式に用いられる第１の係数に対応する第１の値以下であれば、当該第２のノードの輝度値を第１の領域のための輝度値に変更し、
前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値が、前記反応拡散方程式に用いられる第２の係数に対応する第２の値以上であれば、前記第２のノードの輝度値を第２の領域のための輝度値に変更し、
前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値が、前記第１の値より大きく前記第２の値より小さい場合には、前記第２のノードの輝度値を第３の領域のための輝度値に変更する
請求項１乃至３のいずれか１つ記載の情報処理装置。
【請求項５】
データ格納部に格納されるボクセルデータを、着目する輝度値の範囲外の輝度値を有するボクセルが当該範囲外を表す第１のノードに設定され、且つ前記範囲内の輝度値を有するボクセルがボクセル間の隣接関係に基づく関係ノードを抽出可能な第２のノードに設定されたノードデータに変換し、
前記ノードデータに含まれる前記第２のノードの各々について、当該第２のノードの輝度値に対応する値及び当該第２のノードから抽出される関係ノードの輝度値に対応する値を用いて反応拡散方程式の出力値を算出する算出処理を所定回数実行し、
前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値から、対応する第２のノードの輝度値を決定する
処理を、コンピュータに実行させるためのプログラム。
【請求項６】
データ格納部に格納されるボクセルデータを、着目する輝度値の範囲外の輝度値を有するボクセルが当該範囲外を表す第１のノードに設定され、且つ前記範囲内の輝度値を有するボクセルがボクセル間の隣接関係に基づく関係ノードを抽出可能な第２のノードに設定されたノードデータに変換し、
前記ノードデータに含まれる前記第２のノードの各々について、当該第２のノードの輝度値に対応する値及び当該第２のノードから抽出される関係ノードの輝度値に対応する値を用いて反応拡散方程式の出力値を算出する算出処理を所定回数実行し、
前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値から、対応する第２のノードの輝度値を決定する
処理を含み、コンピュータにより実行される情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に関する。
【背景技術】
【０００２】
例えばＣＴ（Computed Tomography）やＭＲＩ（Magnetic Resonance Imaging）、超音波エコーなどの医療用画像機器から、各臓器を撮影した断面画像（断層画像とも呼ぶ）がグレイスケールの輝度値情報として出力される。現在、この輝度値情報から指定臓器の領域を抽出し、臓器形状、血管の直径などの情報を診断に役立てる技術の開発が行われている。なお、医療用診断装置（例えばＣＴやＭＲＩ）や超音波測定装置からは、３次元空間を断層化した複数の画像が出力される。これらの画像に対して、診断したい臓器のサイズや疾患部位の長さを抽出するための画像処理を行って診断用画像を生成し、診断に利用する。一方、この処理結果から、血流等を追跡する数値シミュレーションのための入力として、血管形状などの臓器形状を生成して利用する。
【０００３】
このような画像処理技術には、領域抽出処理についての技術も含まれている。領域抽出処理には様々な技術が存在しているが、反応拡散方程式を用いて領域抽出を行う技術も存在している。しかしながら、反応拡散方程式を用いて領域抽出する従来の技術では、１つの画素について反応拡散方程式の計算を多数回繰り返し行うことになるが、処理すべき画素の数が増加すれば、その分処理量が増加してしまい、結果として処理時間が長くなるという問題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−９５４９号公報
【特許文献２】特開２０１２−２４５０８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従って、本発明の目的は、一側面によれば、領域抽出処理の高速化を図るための技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る情報処理方法は、（Ａ）データ格納部に格納されるボクセルデータを、着目する輝度値の範囲外の輝度値を有するボクセルが当該範囲外を表す第１のノードに設定され、且つ上記範囲内の輝度値を有するボクセルがボクセル間の隣接関係に基づく関係ノードを抽出可能な第２のノードに設定されたノードデータに変換し、（Ｂ）ノードデータに含まれる第２のノードの各々について、当該第２のノードの輝度値に対応する値及び当該第２のノードから抽出される関係ノードの輝度値に対応する値を用いて反応拡散方程式の出力値を算出する算出処理を所定回数実行し、（Ｃ）算出処理を所定回数実行した後における反応拡散方程式の出力値から、対応する第２のノードの輝度値を決定する処理を含む。
【発明の効果】
【０００７】
一側面によれば、領域抽出処理の高速化が可能となる。
【図面の簡単な説明】
【０００８】
【図１】図１は、断層画像の一例を示す図である。
【図２】図２は、反応拡散方程式を用いた領域抽出処理の処理結果を示す図である。
【図３Ａ】図３Ａは、ボクセルデータを模式的に示す図である。
【図３Ｂ】図３Ｂは、本発明の実施の形態を説明するための図である。
【図３Ｃ】図３Ｃは、本発明の実施の形態を説明するための図である。
【図４】図４は、本実施の形態に係る情報処理装置の機能ブロック図である。
【図５】図５は、本実施の形態に係るメインの処理フローを示す図である。
【図６】図６は、輝度値分布の一例を示す図である。
【図７】図７は、グラフ構築処理の処理フローを示す図である。
【図８】図８は、ノード設定処理の処理フローを示す図である。
【図９】図９は、２次元のボクセルデータの一例を示す図である。
【図１０】図１０は、ノードデータを表す配列の一例を示す図である。
【図１１】図１１は、隣接関係設定処理の処理フローを示す図である。
【図１２】図１２は、隣接ボクセルを説明するための図である。
【図１３】図１３は、反応拡散フィルタ処理の処理フローを示す図である。
【図１４】図１４は、出力処理の処理フローを示す図である。
【図１５】図１５は、処理前の断層画像の一例を示す図である。
【図１６】図１６は、処理後の断層画像の一例を示す図である。
【図１７】図１７は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【０００９】
まず、本発明の実施の形態の概要を、図１乃至図３Ｃを用いて説明する。図１に示すような断層画像に対して、反応拡散方程式を用いた領域抽出処理を行うと、図２に示すような画像が得られる。これらの画像を比較すれば分かるように、大部分が黒のまま変化しない領域であり、白の部分でも変化しない領域も存在している。
【００１０】
本実施の形態では、変化しない領域については反応拡散方程式の計算の対象外として取り扱うことによって全体の処理を高速化する。
【００１１】
具体的には、図３Ａに示すように、医療用画像装置等から得られるボクセルデータにおいては、立方格子状にボクセルが配置されている。以下で説明するように反応拡散方程式では特定のボクセルについて次の時刻における輝度値を算出するのに、その特定のボクセルの近傍のボクセル（２次元では近傍４ボクセル、３次元では近傍６ボクセル）の輝度値を用いる。
【００１２】
本実施の形態では、ボクセルの輝度値から、着目すべき領域を特定する。ここでは、斜め線ハッチングが付されたボクセルを着目領域として特定する。着目領域以外の黒が付されたボクセル（着目領域を規定する輝度値の上限値以上の輝度値を有するボクセル）と白が付されたボクセル（着目領域を規定する輝度値の下限値以下の輝度値を有するボクセル）については、指定された輝度値に固定して変化させないこととする。すなわち、着目領域以外のボクセルについては、反応拡散方程式の計算対象から除外することで、計算量を削減する。但し、上で述べたように、特定のボクセルについて次の時刻における輝度値を算出するのに、近傍のボクセルの輝度値を用いるので、隣接関係を保持しておくことになる。
【００１３】
模式的に示せば、図３Ｂに示すように、着目領域に隣接するボクセルのみを残せばよい。但し、隣接関係さえ正しく把握でき、近傍のボクセルの輝度値を取得できればよいので、固定の輝度値を有する黒のボクセルも白のボクセルも、複数個残さなくても良い。すなわち、図３Ｃに示すように、黒のボクセルに対応するノードを１つに集約して、黒のボクセルに隣接していた、着目領域内のボクセルに対応するノードは、皆１つの黒のノードに隣接するように設定する。同様に、白のボクセルに対応するノードも１つに集約して、白のボクセルに隣接していた、着目領域内のボクセルに対応するノードは、皆１つの白のノードに隣接するように設定する。このようなノード構造を生成することで、上記のような固定境界条件を課した、反応拡散方程式の計算処理を実行する。
【００１４】
次に、本実施の形態に係る情報処理装置の機能ブロック図を図４に示す。本実施の形態に係る情報処理装置１００は、第１データ格納部１０１と、前処理部１０２と、設定データ格納部１０３と、変換部１０４と、第２データ格納部１０５と、フィルタ処理部１０６と、第３データ格納部１０７と、出力処理部１０８と、表示装置１０９とを有する。
【００１５】
第１データ格納部１０１は、医療用画像機器等によって撮影された断層画像群などであるボクセルデータを格納している。前処理部１０２は、第１データ格納部１０１に格納されているボクセルデータに対する各種パラメータの設定のための処理を行い、設定されたパラメータの値を設定データ格納部１０３に格納する。
【００１６】
変換部１０４は、図３Ａ乃至図３Ｃを用いて説明したように、立方格子状のボクセルデータを、グラフ構造のノードデータへ変換する処理を行い、処理結果を第２データ格納部１０５に格納する。
【００１７】
フィルタ処理部１０６は、反応拡散方程式による計算処理を所定回数実行し、処理結果を第３データ格納部１０７に格納する。出力処理部１０８は、第３データ格納部１０７に格納されているデータを描画のためのデータに変換して、表示装置１０９に対して描画処理を実行する。
【００１８】
次に、図５乃至図１４を用いて、本実施の形態に係る情報処理装置１００の処理内容について説明する。
【００１９】
前処理部１０２は、第１データ格納部１０１に格納されているボクセルデータに対する各種パラメータの設定をユーザに対して促し、入力された各種パラメータの値を設定データ格納部１０３に格納する（図５：ステップＳ１）。なお、ボクセルデータには、ｘ軸方向にＮx個、ｙ軸方向にＮy個、ｚ軸方向にＮz個のボクセルが含まれているものとする。また、ｖ＝（ｘ，ｙ，ｚ）（２次元であればｖ＝（ｘ，ｙ））として、Ｉ（ｖ）に、初期的な輝度値が格納されているものとする。
【００２０】
さらに、本実施の形態では、反応拡散方程式による計算の繰り返し回数Ｔmax（例えば５００）と、反応拡散方程式による計算の繰り返しの際に用いられる単位時間ｄｔ（例えば０．０２）と、反応拡散方程式の係数α（例えば１．０）と、β（例えば０．４５）、反応拡散方程式における輝度の閾値ａ（例えば７０）、ｂ（例えば１２０）と、ｃ（例えば１５０）と、着目領域を規定する輝度範囲の下限値I_low（例えば５０）と、上限値I_high（例えば１８０）とを、ユーザに設定させる。
【００２１】
例えば、ボクセルデータの各ボクセルの輝度値から、図６に示すようなヒストグラムをユーザに提示して、輝度範囲の下限値I_low及び上限値I_highの設定、反応拡散方程式における輝度の閾値ａ、ｂ及びｃの設定を行うようにしても良い。図６の例では、横軸が輝度値を表し、縦軸が出現頻度を表しており、I_low＝５０とI_high＝１８０が設定されているが、最も出現頻度が高い輝度値のボクセルを着目領域内に含めている。
【００２２】
輝度の閾値ａ、ｂ及びｃについては、下限値I_lowと上限値I_highとの間で設定される。なお、反応拡散方程式による計算処理を行うと、下限値I_low乃至閾値ａの値は、下限値I_lowへと変化する。閾値ａ乃至閾値ｃの値は、閾値ｂへと変化する。閾値ｃ乃至上限値I_highの値は、上限値I_highへと変化する。
【００２３】
次に、変換部１０４は、設定データ格納部１０３に格納されているデータを用いて、第１データ格納部１０１に格納されているボクセルデータに対してグラフ構築処理を実行し、処理結果を第２データ格納部１０５に格納する（ステップＳ３）。グラフ構築処理については、図７乃至図１２を用いて説明する。
【００２４】
グラフ構築処理（図７）において、変換部１０４は、ノード設定処理を実行し（ステップＳ１１）、さらに隣接関係設定処理を実行する（ステップＳ１３）。
【００２５】
ノード設定処理については図８を用いて説明する。
【００２６】
変換部１０４は、着目領域内のボクセル数のカウンタｎｕｍを０に初期化する（ステップＳ２１）。また、変換部１０４は、ボクセルＩＤのカウンタｉを０に初期化する（ステップＳ２３）。
【００２７】
そして、変換部１０４は、輝度値Ｉ（ｖ［ｉ］）（ボクセルＩＤ「ｉ」の座標ｖの輝度値）が下限値I_lowより大きく且つ上限値I_highより小さいか否かを判断する（ステップＳ２５）。
【００２８】
例えば、２次元のボクセルデータの一例を図９に示す。４×４ボクセルであるが、上段が座標（ｘ，ｙ）を表しており、下段がボクセルＩＤを表している。斜め線ハッチングのボクセルは着目領域内のボクセルであることを表しており、さらに、黒塗りのボクセルについては、上限値I_high以上の輝度値を有するボクセルであり、白色のボクセルについては、下限値I_low以下の輝度値を有するボクセルである。
【００２９】
そして、ステップＳ２５の条件が満たされた場合には、変換部１０４は、ノードの値の配列node_value[num]＝ｇ（Ｉ（ｖ［ｉ］））を設定し、ノード番号からボクセル番号を得るための配列node_id[num]＝ｉを設定し、ボクセル番号からノード番号を得るための配列voxel_id[i]＝numを設定し、さらにカウンタｎｕｍの値を１インクリメントする（ステップＳ２７）。そして処理はステップＳ３５に移行する。
【００３０】
ｇ（Ｘ）＝Ｙは、輝度値Ｘ（例えば０乃至２５５）を、反応拡散方程式の値域（−１乃至＋１）の対応する値Ｙに変換する関数である。例えばｇ（Ｘ）＝（２／２５５）Ｘ−１である。なお、ｇ’（Ｙ）は、ｇ（Ｘ）の逆関数であり、反応拡散方程式の値域内の値Ｙを、対応する輝度値Ｘに変換する関数である。
【００３１】
一方、ステップＳ２５の条件が満たされない場合には、変換部１０４は、輝度値Ｉ（ｖ［ｉ］）が下限値I_low以下であるか否かを判断する（ステップＳ２９）。ステップＳ２９の条件を満たす場合には、変換部１０４は、Ｉ（ｖ［ｉ］）＝ｇ’（−１）（又は領域ＩＤ「−１」など）と設定し、さらにノード番号からボクセル番号を得るための配列voxel_id[i]＝−１を設定する（ステップＳ３１）。そして処理はステップＳ３５に移行する。なお、voxel_id[i]＝−１は、対応するノード番号が存在しないことを表している。
【００３２】
また、ステップＳ２９の条件が満たされない場合には、Ｉ（ｖ［ｉ］）は上限値I_high以上であるので、変換部１０４は、Ｉ（ｖ［ｉ］）＝ｇ’（１）（又は領域ＩＤ「１」）と設定し、さらにノード番号からボクセル番号を得るための配列voxel_id[i]＝−１を設定する（ステップＳ３３）。そして処理はステップＳ３５に移行する。
【００３３】
その後、変換部１０４は、ボクセル番号のカウンタｉが、ボクセル数Ｎ−１以上であるか判断する（ステップＳ３５）。ｉがＮ−１未満であれば、変換部１０４は、ｉを１インクリメントして（ステップＳ３７）、処理はステップＳ２５に戻る。
【００３４】
一方、ｉがＮ−１以上であれば、変換部１０４は、node_value[num]＝ｇ（I_high）と設定し、node_value[num+1]＝ｇ（I_low）と設定する（ステップＳ３９）。そして処理は呼出元の処理に戻る。
【００３５】
すなわち、着目領域内のボクセル数より１大きいノード番号numを、上限値I_high以上の輝度値を有するボクセルを代表するノードに割り当てて、そのノードの値をｇ（I_high)と設定する。さらに、ノード番号num＋１を、下限値I_low以下の輝度値を有するボクセルを代表するノードに割り当てて、そのノードの値をｇ（I_low）と設定する。
【００３６】
これによって、反応拡散方程式の計算処理において隣接ノードの値が用いられる場合でも、その値を読み出すことができるようになる。
【００３７】
このような処理を行うことで、図９に示したようなボクセルデータについては、図１０に示すような配列データが得られる。図１０において上段は、配列node_id[num]を表しており、ノード番号numを入力すると、着目領域内において対応するボクセル番号ｉが得られるようになっている。一方、図１０において下段は、配列voxel_id[i]を表しており、ボクセル番号iを入力すると、対応するノード番号numが得られるようになっている。但し、着目領域外のボクセルのボクセル番号が入力されるとノード番号「−１」が得られるので、そのボクセルが着目領域外であることが分かる。
【００３８】
次に、隣接関係設定処理について図１１を用いて説明する。
【００３９】
まず、変換部１０４は、まずボクセル番号のカウンタｉを０に初期化する（ステップＳ４１）。また、変換部１０４は、ボクセルの座標ｖ＝ｕ（node_id[i]）を設定する（ステップＳ４３）。ｕ（ｉ）は、ボクセル番号ｉから、そのボクセルの座標を出力する関数であり、以下のように表される。
ｕ（ｉ）＝（ｘ＝ｉ％（Ｎx×Ｎy）％Ｎy，ｙ＝floor（ｉ％（Ｎx×Ｎy）／Ｎy），ｚ＝floor（ｉ／（Ｎx×Ｎy）））
ここで％は除算の余りを算出する演算を表し、floorは、引数の値を超えない最大の整数を算出する関数を表す。
【００４０】
なお、ｕ’（ｖ）は、ｕ（ｉ）の逆関数であり、座標ｖを入力すると対応するボクセル番号ｉを出力するものである。例えば、以下のように表される。
ｕ’（ｖ＝（ｘ，ｙ，ｚ））＝ｘ＋Ｎxｙ＋（Ｎx×Ｎy）×ｚ
【００４１】
また、変換部１０４は、隣接ボクセルのカウンタｊを０に初期化する（ステップＳ４５）。
【００４２】
その後、変換部１０４は、着目しているボクセル座標ｖに隣接するボクセルｖ＋ｍ［ｊ］の輝度値Ｉ（ｖ＋ｍ［ｊ］）が、下限値I_lowより大きく且つ上限値I_high未満であるか判断する（ステップＳ４７）。ｍ［ｊ］は、３次元空間であれば、ｍ＝｛（０，０，１），（１，０，０），（０，１，０），（−１，０，０），（０，−１，０），（０，０，−１）｝である。２次元空間であれば、ｍ＝｛（１，０），（０，１），（−１，０），（０，−１）｝である。
【００４３】
例えば図９に示したボクセルデータにおいてｖ＝（１，２）であるとすると、図１２に示すような隣接ボクセル（ボクセル番号１０，７，２，５）について処理することになる。
【００４４】
ステップＳ４７の条件を満たす場合には、変換部１０４は、隣接ボクセルのノード番号を保持する配列ｅ［ｉ］［ｊ］＝voxel_id[u'（ｖ＋ｍ［ｊ］）]と設定する（ステップＳ４９）。そして処理はステップＳ５７に移行する。
【００４５】
一方、ステップＳ４７の条件を満たさない場合には、変換部１０４は、隣接するボクセルｖ＋ｍ［ｊ］の輝度値Ｉ（ｖ＋ｍ［ｊ］）が、下限値I_low以下であるか否かを判断する（ステップＳ５１）。輝度値Ｉ（ｖ＋ｍ［ｊ］）が下限値I_low以下であれば、変換部１０４は、隣接ボクセルのノード番号を保持する配列ｅ［ｉ］［ｊ］＝num＋１と設定する（ステップＳ５３）。これによってnode_value[num+1]によって、ｇ（I_low）が得られるようになる。そして処理はステップＳ５７に移行する。
【００４６】
一方、ステップＳ５１の条件を満たしていない場合には、Ｉ（ｖ＋ｍ［ｊ］）が上限値I_high以上であるので、変換部１０４は、隣接ボクセルのノード番号を保持する配列ｅ［ｉ］［ｊ］＝numと設定する（ステップＳ５５）。これによってnode_value[num]によって、ｇ（I_high）が得られるようになる。そして処理はステップＳ５７に移行する。
【００４７】
その後、変換部１０４は、ｊが５以上となったか否かを判断する（ステップＳ５７）。３次元空間の場合には５であるが、２次元空間であれば３である。ｊが５未満であれば、変換部１０４は、ｊを１インクリメントして（ステップＳ５９）、ステップＳ４７に戻る。
【００４８】
一方、ｊが５以上であれば、変換部１０４は、ｉがnum−１となったか否かを判断する（ステップＳ６１）。ｉがnum−１未満であれば、変換部１０４は、ｉを１インクリメントして（ステップＳ６３）、処理はステップＳ４５に戻る。一方、ｉがnum−１以上となれば、処理は呼出元の処理に戻る。
【００４９】
このような処理を実行すると、図１２に示した例では、ｅ[6][0]は、ボクセル番号「１０」を指しており且つハッチング付きのボクセルなので、ｅ[6][0]＝６となる。また、ｅ[6][1]は、ボクセル番号「７」を指しており且つ黒のボクセルなので、ｅ[6][1]＝１１（上限値I_high以上のノード番号）となる。さらに、ｅ[6][2]は、ボクセル番号「２」を指しており且つ黒のボクセルなので、ｅ[6][2]＝１１となる。さらに、ｅ[6][3]は、ボクセル番号「５」を指しており且つハッチング付きのボクセルなので、ｅ[6][3]＝３となる。他のボクセルについても同様に設定される。
【００５０】
このような処理を行うことで、ボクセル番号からノード番号を得ることができ、さらにノード番号から輝度値に対応する値を得ることもできるようになる。さらに、隣接ボクセルに対応するノードのノード番号も得ることができる。すなわち、グラフ構造を有するノードデータが生成されたことになる。なお、このようなノードデータは、第２データ格納部１０５に格納される。
【００５１】
図５の処理の説明に戻って、フィルタ処理部１０６は、第２データ格納部１０５に格納されている反応拡散フィルタ処理を実行する（ステップＳ５）。反応拡散フィルタ処理については、図１３を用いて説明する。
【００５２】
フィルタ処理部１０６は、時刻のカウンタｔを０に初期化する（ステップＳ７１）。また、フィルタ処理部１０６は、ノード番号のカウンタｉを０に初期化する（ステップＳ７３）。そして、フィルタ処理部１０６は、ｄｔ後のnode_value[i]を以下の式にて更新して、第３データ格納部１０７に格納する（ステップＳ７５）。
【００５３】
すなわち、以下のような離散化された反応拡散方程式を用いる。
node_value[i]＋＝ｄｔ｛α×ｆ（node_value[i]）＋β×（node_value[e[i][0]]＋node_value[e[i][1]]＋node_value[e[i][2]]＋node_value[e[i][3]]＋node_value[e[i][4]]＋node_value[e[i][5]]−６×node_value[i]）｝
【００５４】
ｄｔ、α、βについては設定データ格納部１０３に格納されているパラメータである。さらに、ｆ（ｘ）は、以下のような関数である。
ｆ（ｘ）＝−（ｘ＋１）（ｘ−ｇ（ａ））（ｘ−ｇ（ｂ））（ｘ−ｇ（ｃ））（ｘ−１）
【００５５】
ａ、ｂ及びｃは、設定データ格納部１０３に格納されているパラメータである。ａ＜ｂ＜ｃの関係を有する。なお、この式は、３値分離、すなわち３つの領域を抽出する際の関数であり、２値分離や４値分離以上の場合には、従来技術で述べられているような他の関数を採用する。
【００５６】
そして、フィルタ処理部１０６は、ｉがnum−１以上となったか判断する（ステップＳ７７）。ｉがnum−１未満であれば、フィルタ処理部１０６は、ｉを１インクリメントし（ステップＳ７９）、処理はステップＳ７５に戻る。すなわち、同じ時刻について、着目領域内の全てのノードについて輝度値に対応する値を算出する。
【００５７】
一方、ｉがnum-1以上となった場合には、フィルタ処理部１０６は、ｔがＴmax以上となったか否かを判断する（ステップＳ８１）。ｔがＴmax未満であれば、フィルタ処理部１０６は、ｔを１インクリメントし（ステップＳ８３）、処理はステップＳ７３に戻る。
【００５８】
一方、ｔがＴmax以上となった場合には、処理は呼出元の処理に戻る。
【００５９】
以上のような処理を実行することで、領域抽出処理が行われる。
【００６０】
図５の処理の説明に戻って、出力処理部１０８は、第３データ格納部１０７に格納されているデータを用いて出力処理を実行する（ステップＳ７）。出力処理については、図１４を用いて説明する。
【００６１】
出力処理部１０８は、まず、ノード番号のカウンタであるｉを０に初期化する（ステップＳ９１）。そして、出力処理部１０８は、ｖ＝ｕ（node_id[i]）によってノード番号ｉに対応するボクセル座標値を取得する（ステップＳ９３）。
【００６２】
また、出力処理部１０８は、ノードの値node_value[i]が、ｇ（ａ）以下であるか判断する（ステップＳ９５）。
【００６３】
ステップＳ９５の条件が満たされる場合には、出力処理部１０８は、Ｉ（ｖ）に、輝度値ｇ’（−１）（又は領域ＩＤ「−１」）を設定する（ステップＳ９７）。すなわち、反応拡散方程式についての下限値「−１」に対応する輝度値がＩ（ｖ）に設定される。そして処理はステップＳ１０５に移行する。
【００６４】
一方、ステップＳ９５の条件が満たされない場合には、出力処理部１０８は、ノードの値node_value[i]が、ｇ（ａ）より大きく且つｇ（ｃ）より小さいか否かを判断する（ステップＳ９９）。この条件を満たす場合には、出力処理部１０８は、Ｉ（ｖ）に、輝度値ｇ’（０）（又は領域ＩＤ「０」）を設定する（ステップＳ１０１）。すなわち、反応拡散方程式についての中央値「０」に対応する輝度値がＩ（ｖ）に設定される。そして処理はステップＳ１０５に移行する。
【００６５】
一方、ステップＳ９９の条件が満たされない場合には、node_value[i]がｇ（ｃ）以上であるということであるから、出力処理部１０８は、Ｉ（ｖ）に、上限値ｇ’（１）（又は領域ＩＤ「１」）を設定する（ステップＳ１０３）。すなわち、反応拡散方程式についての上限値「１」に対応する輝度値がＩ（ｖ）に設定される。そして処理はステップＳ１０５に移行する。
【００６６】
その後、出力処理部１０８は、ｉがnum−１となっているか否かを判断する（ステップＳ１０５）。ｉがnum−１となっていない場合には、出力処理部１０８は、ｉを１インクリメントし（ステップＳ１０７）、処理はステップＳ９３に戻る。
【００６７】
一方、ｉがnum−１以上となっている場合には、呼出元の処理に戻る。
【００６８】
以上のようにすれば、輝度値は、ｇ（０）、ｇ（−１）及びｇ（１）のいずれかに分離されるようになる。
【００６９】
なお、領域ＩＤを設定した場合には、以下の描画処理で、領域ＩＤに対して予め設定されている任意の輝度値に変換してから描画する。
【００７０】
出力処理部１０８は、第３データ格納部１０７に格納されている、ノード（num及びnum+1を除く）に対応するボクセルの輝度値と、第２データ格納部１０５に格納されているそれ以外のボクセルの輝度値とを用いて、所定の描画処理を実行する（ステップＳ９）。この処理については、従来と同様であるからこれ以上説明しない。上でも述べたように、Ｉ（ｖ）に領域ＩＤが設定されている場合には、描画処理において、領域ＩＤに対応する任意の輝度値に変換した上で表示装置１０９に対して描画を行う。
【００７１】
例えば、図１５に示すようなボクセルデータについて上で述べた処理を実行すれば、図１６に示すような画像が得られるようになる。このようにはっきりと黒、薄い灰色、及び濃い灰色の３つの領域に分けられた画像を得ることができるようになる。
【００７２】
以上のような処理を実行することで、着目領域内のボクセルに限定して反応拡散方程式による計算処理を実行したので、計算処理量が減少し、処理時間が短縮される。
【００７３】
以上本技術の実施の形態を説明したが、本発明はこれに限定されない。例えば、処理フローについては、処理結果が変わらない限り、ステップの順番を入れ替えたり、複数ステップを並列実行するようにしても良い。
【００７４】
また、機能ブロック図については一例であって、プログラムモジュール構成と一致しない場合もある。
【００７５】
さらに、上で述べた情報処理装置１００は、１台のコンピュータではなく、複数台のコンピュータで実装される場合もある。さらに、医療用画像機器等にネットワークにて接続される場合もある。
【００７６】
なお、上で述べた情報処理装置１００は、コンピュータ装置であって、図１７に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７７】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００７８】
本実施の形態の一態様に係る情報処理方法は、（Ａ）データ格納部に格納されるボクセルデータを、着目する輝度値の範囲外の輝度値を有するボクセルが当該範囲外を表す第１のノードに設定され、且つ上記範囲内の輝度値を有するボクセルがボクセル間の隣接関係に基づく関係ノードを抽出可能な第２のノードに設定されたノードデータに変換し、（Ｂ）ノードデータに含まれる第２のノードの各々について、当該第２のノードの輝度値に対応する値及び当該第２のノードから抽出される関係ノードの輝度値に対応する値を用いて反応拡散方程式の出力値を算出する算出処理を所定回数実行し、（Ｃ）算出処理を所定回数実行した後における反応拡散方程式の出力値から、対応する第２のノードの輝度値を決定する処理を含む。
【００７９】
このように輝度値に対応する値を反応拡散方程式によって変更するのは第２のノードになるので、第１のノードの分だけ計算量を削減でき、処理の高速化が図られる。
【００８０】
さらに、上で述べた変換する処理が、第２のノード毎に、当該第２のノードの輝度値から反応拡散方程式の値域内における対応する値を算出して格納するようにしても良い。算出処理において同様の処理を行うことができるが、このようにすれば、処理が簡略化されて、さらに処理が高速化される。
【００８１】
また、上で述べた変換する処理が、（ａ１）上記範囲の上限値以上である輝度値を有するボクセルを、第１のノードに含まれる１つの第３のノードに設定し、（ａ２）上記範囲の下限値以下である輝度値を有するボクセルを、第１のノードに含まれる１つの第４のノードに設定し、（ａ３）第３のノードに対して、反応拡散方程式の値域内における上限値に対応する値を格納し、（ａ４）第４のノードに対して、反応拡散方程式の値域内における下限値に対応する値を格納する処理を含むようにしても良い。これによって、反応拡散方程式での演算を適切に行うことができ、領域抽出が適切に行われるようになる。
【００８２】
さらに、上で述べた決定する処理が、（ｃ１）算出処理を所定回数実行した後における反応拡散方程式の出力値が、反応拡散方程式に用いられる第１の係数に対応する第１の値以下であれば、当該第２のノードの輝度値を第１の領域のための輝度値に変更し、（ｃ２）算出処理を所定回数実行した後における反応拡散方程式の出力値が、反応拡散方程式に用いられる第２の係数に対応する第２の値以上であれば、第２のノードの輝度値を第２の領域のための輝度値に変更し、（ｃ３）算出処理を所定回数実行した後における反応拡散方程式の出力値が、第１の値より大きく第２の値より小さい場合には、第２のノードの輝度値を第３の領域のための輝度値に変更する処理を含むようにしても良い。
【００８３】
これによって所定回数を大きな値としなくても適切に領域抽出を行うことができるようになる。
【００８４】
なお、上で述べたような処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【００８５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８６】
（付記１）
データ格納部に格納されるボクセルデータを、着目する輝度値の範囲外の輝度値を有するボクセルが当該範囲外を表す第１のノードに設定され、且つ前記範囲内の輝度値を有するボクセルがボクセル間の隣接関係に基づく関係ノードを抽出可能な第２のノードに設定されたノードデータに変換する変換部と、
前記ノードデータに含まれる前記第２のノードの各々について、当該第２のノードの輝度値に対応する値及び当該第２のノードから抽出される関係ノードの輝度値に対応する値を用いて反応拡散方程式の出力値を算出する算出処理を所定回数実行し、前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値から、対応する第２のノードの輝度値を決定する処理部と、
を有する情報処理装置。
【００８７】
（付記２）
前記変換部が、
前記第２のノード毎に、当該第２のノードの輝度値から前記反応拡散方程式の値域内における対応する値を算出して格納する
付記１記載の情報処理装置。
【００８８】
（付記３）
前記変換部が、
前記範囲の上限値以上である輝度値を有するボクセルを、前記第１のノードに含まれる１つの第３のノードに設定し、
前記範囲の下限値以下である輝度値を有するボクセルを、前記第１のノードに含まれる１つの第４のノードに設定し、
前記第３のノードに対して、前記反応拡散方程式の値域内における前記上限値に対応する値を格納し、
前記第４のノードに対して、前記反応拡散方程式の値域内における前記下限値に対応する値を格納する
付記１又は２記載の情報処理装置。
【００８９】
（付記４）
前記処理部が、
前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値が、前記反応拡散方程式に用いられる第１の係数に対応する第１の値以下であれば、当該第２のノードの輝度値を第１の領域のための輝度値に変更し、
前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値が、前記反応拡散方程式に用いられる第２の係数に対応する第２の値以上であれば、前記第２のノードの輝度値を第２の領域のための輝度値に変更し、
前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値が、前記第１の値より大きく前記第２の値より小さい場合には、前記第２のノードの輝度値を第３の領域のための輝度値に変更する
付記１乃至３のいずれか１つ記載の情報処理装置。
【００９０】
（付記５）
データ格納部に格納されるボクセルデータを、着目する輝度値の範囲外の輝度値を有するボクセルが当該範囲外を表す第１のノードに設定され、且つ前記範囲内の輝度値を有するボクセルがボクセル間の隣接関係に基づく関係ノードを抽出可能な第２のノードに設定されたノードデータに変換し、
前記ノードデータに含まれる前記第２のノードの各々について、当該第２のノードの輝度値に対応する値及び当該第２のノードから抽出される関係ノードの輝度値に対応する値を用いて反応拡散方程式の出力値を算出する算出処理を所定回数実行し、
前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値から、対応する第２のノードの輝度値を決定する
処理を、コンピュータに実行させるためのプログラム。
【００９１】
（付記６）
データ格納部に格納されるボクセルデータを、着目する輝度値の範囲外の輝度値を有するボクセルが当該範囲外を表す第１のノードに設定され、且つ前記範囲内の輝度値を有するボクセルがボクセル間の隣接関係に基づく関係ノードを抽出可能な第２のノードに設定されたノードデータに変換し、
前記ノードデータに含まれる前記第２のノードの各々について、当該第２のノードの輝度値に対応する値及び当該第２のノードから抽出される関係ノードの輝度値に対応する値を用いて反応拡散方程式の出力値を算出する算出処理を所定回数実行し、
前記算出処理を所定回数実行した後における前記反応拡散方程式の出力値から、対応する第２のノードの輝度値を決定する
処理を含み、コンピュータにより実行される情報処理方法。
【符号の説明】
【００９２】
１０１  第１データ格納部
１０２  前処理部
１０３  設定データ格納部
１０４  変換部
１０５  第２データ格納部
１０６  フィルタ処理部
１０７  第３データ格納部
１０８  出力処理部
１０９  表示装置
【図１】
2015100657.tif 000003
【図２】
2015100657.tif 000004
【図３Ａ】
2015100657.tif 000005
【図３Ｂ】
2015100657.tif 000006
【図３Ｃ】
2015100657.tif 000007
【図４】
2015100657.tif 000008
【図５】
2015100657.tif 000009
【図６】
2015100657.tif 000010
【図７】
2015100657.tif 000011
【図８】
2015100657.tif 000012
【図９】
2015100657.tif 000013
【図１０】
2015100657.tif 000014
【図１１】
2015100657.tif 000015
【図１２】
2015100657.tif 000016
【図１３】
2015100657.tif 000017
【図１４】
2015100657.tif 000018
【図１５】
2015100657.tif 000019
【図１７】
2015100657.tif 000020
【図１６】
2015100657.tif 000021