(57)【要約】  本形状データ生成方法は、物体の断層画像から、変形目標の形状である目標形状のデータを生成する生成処理と、物体の標準的な形状であり且つ変形対象となる形状である対象形状の頂点のうち、当該頂点についての法線が目標形状のうち断層画像において物体と物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定すると共に、第１の頂点と交点との内分点を第２の頂点に設定する設定処理と、第１の頂点を第２の頂点に重ねるように対象形状を変形し、変形後の形状を対象形状に設定する変形処理と設定処理及び変形処理を所定回数実行する処理とを含む。
2014016895.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
物体の断層画像から、変形目標の形状である目標形状のデータを生成させ、
前記物体の標準的な形状であり且つ変形対象となる形状である対象形状の頂点のうち、当該頂点についての法線が前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定させると共に、前記第１の頂点と前記交点との内分点を第２の頂点に設定させ、
前記第１の頂点を前記第２の頂点に重ねるように前記対象形状を変形させ、変形後の形状を前記対象形状に設定させ、
前記第１の頂点の特定、前記第２の頂点の設定及び前記対象形状の変形を所定回数実行させる
ことを特徴とする形状データ生成プログラム。
【請求項２】
前記目標形状のデータを生成する処理において、
前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分に対して所定の輝度値を付与させる
ことを特徴とする請求項１記載の形状データ生成プログラム。
【請求項３】
前記目標形状のデータを生成する処理において、
前記断層画像を包含するボクセル空間におけるボクセルの輝度値を、前記目標形状を包含するボクセル空間におけるボクセルの輝度値にマッピングさせ、
前記目標形状を包含するボクセル空間におけるボクセルのうち輝度値が設定されていないボクセルに対して、当該ボクセルに最も近く且つ輝度値が設定されているボクセルの輝度値を割り当てさせる
ことを特徴とする請求項１又は２記載の形状データ生成プログラム。
【請求項４】
前記第２の頂点は、前記第１の頂点についての単位法線ベクトルに、前記対象形状を変形した回数を前記所定回数で除した値を乗じたベクトルによって特定される点である
ことを特徴とする請求項１乃至３のいずれか１つ記載の形状データ生成プログラム。
【請求項５】
前記第１の頂点を特定する処理において、
着目した頂点を当該着目した頂点についての法線の方向へ第１の距離移動させ、移動先の点が前記断層画像を包含するボクセル空間に含まれるか否かを判断する判断処理を実行させ、
前記移動先の点が前記断層画像を包含するボクセル空間に含まれると判断された場合、前記着目した頂点についての法線ベクトルと前記移動先の点についての法線ベクトルとの内積に基づき、前記移動先の点が前記対象形状を貫通したか判断させ、
前記移動先の点が前記対象形状を貫通していないと判断された場合、前記移動先の点における輝度値が、前記所定の輝度値であるか判断させ、
前記所定の輝度値であると判断された場合、前記着目した頂点が前記第１の頂点であると判定させ、
前記移動先の点が前記断層画像を包含するボクセル空間に含まれないと判断された場合又は前記移動先の点が前記対象形状を貫通したと判断された場合、前記着目した頂点が前記第１の頂点ではないと判定させ、
前記移動先の点における輝度値が前記所定の輝度値ではないと判断された場合、前記判断処理以降の処理を前記移動先の点について再度実行させる
ことを特徴とする請求項２記載の形状データ生成プログラム。
【請求項６】
前記第１の頂点を特定する処理において、
前記第１の頂点が、他の前記第１の頂点との距離が第２の距離以上になるように特定させる
ことを特徴とする請求項１乃至５のいずれか１つ記載の形状データ生成プログラム。
【請求項７】
前記第１の頂点を特定する処理、前記第２の頂点を設定する処理及び前記対象形状を変形する処理を所定回数実行することにより得られる変形後の形状のデータを出力させる
処理をさらに実行させることを特徴とする請求項１乃至６のいずれか１つ記載の形状データ生成プログラム。
【請求項８】
前記対象形状を変形する処理において、ＴＰＳＷａｒｐ（Thin Plate Splines Warp）によって変形を行う
ことを特徴とする請求項１乃至７のいずれか１つ記載の形状データ生成プログラム。
【請求項９】
コンピュータが、
物体の断層画像から、変形目標の形状である目標形状のデータを生成し、
前記物体の標準的な形状であり且つ変形対象となる形状である対象形状の頂点のうち、当該頂点についての法線が前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定すると共に、前記第１の頂点と前記交点との内分点を第２の頂点に設定し、
前記第１の頂点を前記第２の頂点に重ねるように前記対象形状を変形し、変形後の形状を前記対象形状に設定し、
前記第１の頂点の特定、前記第２の頂点の設定及び前記対象形状の変形を所定回数実行する
処理を実行する形状データ生成方法。
【請求項１０】
物体の断層画像から、変形目標の形状である目標形状のデータを生成する生成部と、
前記物体の標準的な形状であり且つ変形対象となる形状である対象形状の頂点のうち、当該頂点についての法線が前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定すると共に、前記第１の頂点と前記交点との内分点を第２の頂点に設定する設定部と、
前記第１の頂点を前記第２の頂点に重ねるように前記対象形状を変形し、変形後の形状を前記対象形状に設定する変形部と、
を有し、
前記設定部による処理及び前記変形部による処理が所定回数実行される
ことを特徴とする形状データ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、形状データ生成プログラム、形状データ生成方法及び形状データ生成装置に関する。
【背景技術】
【０００２】
医療分野においては、手術シミュレータや臓器シミュレータ等のシミュレータが、治療方針の決定、診断、術後予測、医薬品や医療機器の開発等に利用されている。このようなシミュレータによるシミュレーションにおいては、臓器の三次元形状データを使用するが、臓器の三次元形状データを生成するのは容易ではないことが多い。臓器は生体内部に存在しているため目視や直接計測を行うことができない上に、臓器の形状は元来複雑であるためである。【０００３】
従来、臓器の標準的な形状を変形することにより目標となる形状を得る技術がある。ここで、目標となる三次元形状データを生成する方法としては、以下のような方法が知られている。具体的には、医師等がＣＴ（Computed Tomography）画像やＭＲＩ（Magnetic Resonance Imaging）画像等の断層画像を観察し、臓器の各部分の境界を定めて境界線を引いていく。そして、境界線が引かれた画像を積層することにより、臓器の三次元形状のデータを得る方法である。【０００４】
しかし、ＭＲＩ等は、１枚当たりの撮像時間が長いため、十分な数の断層画像を得ることができない（すなわち、スライス間隔が大きくなる）ことがある。このような場合、実際の臓器には存在しないような形状が生じる等、精度が高い三次元形状データを得ることができない。【０００５】
また、モデルフィッティング手法を用いて、所定の評価関数を最適化するように標準モデルを変形させ、対象物のモデルを生成する技術が存在する。しかし、この方法は、対象物を抽出するために利用する三次元画像の解像度が低いと、精度が高い三次元形状データを得ることができない。【０００６】
また、メッシュのネットワークによって表面が形成される変形可能なモデルを利用する方法が存在する。この方法においては、ネットワーク点の位置を新たに計算する段階を繰り返すことにより、二次元画像から得られる三次元構造のセグメンテーションを得る。【０００７】
また、パラメータとしてランドマークを利用する変形方法が存在する。この変形方法においては、変形したい部分にソースランドマークを配置し、変形後の位置にターゲットランドマークを配置し、変形を実行する。このような方法は、ソースランドマーク及びターゲットランドマークを適切に設定しなければ、不自然な形状が生じてしまうという問題がある。【０００８】
さらに、上記のような従来技術を使用しても、十分な数の断層画像を得ることができない場合には三次元データの精度が低くなるという問題には対処できない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−９８０２８号公報
【特許文献２】特開２００７−１６４５９２号公報
【特許文献３】特開２００２−３２９２１６号公報
【特許文献４】特開２００４−２６５３３７号公報
【非特許文献】
【００１０】
【非特許文献１】"Principal Warps: Thin-Plate Splines Warp and the Decomposition of Deformations" IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTERLLIGENCE Ferd L, Bookstein VOL 11, NO.6 JUNE 1989
【非特許文献２】"Laplacian surface editing"SGP '04 Proceedings of the 2004 Eurographics/ACM SIGGRAPH symposium on Geometry processing, O. Sorkine Tel Aviv University D. Cohen-Or Tel Aviv University Y. Lipman Tel Aviv University M. Alexa Darmstadt University of Technology C. Roessl Max-Planck Institut fuer Informatik, Saarbruecken H.-P. Seidel Max-Planck Institut fuer Informatik, Saarbruecken
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従って、１つの側面では、本発明の目的は、十分な数の断層画像を得られない場合において高精度の三次元形状データを生成するための技術を提供することである。
【課題を解決するための手段】
【００１２】
本発明に係る形状データ生成方法は、物体の断層画像から、変形目標の形状である目標形状のデータを生成する生成処理と、物体の標準的な形状であり且つ変形対象となる形状である対象形状の頂点のうち、当該頂点についての法線が目標形状のうち断層画像において物体と物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定すると共に、第１の頂点と交点との内分点を第２の頂点に設定する設定処理と、第１の頂点を第２の頂点に重ねるように対象形状を変形し、変形後の形状を対象形状に設定する変形処理と設定処理及び変形処理を所定回数実行する処理とを含む。
【発明の効果】
【００１３】
十分な数の断層画像を得られない場合において高精度の三次元形状データを生成できるようになる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施の形態に係る形状データ生成装置の機能ブロック図である。
【図２】図２は、セグメント画像の一例を示す図である。
【図３】図３は、目標形状の三次元データを生成する処理の処理フローである。
【図４】図４は、目標形状を包含するバウンディングボックスの一例を示す図である。
【図５】図５は、マッピング処理の処理フローを示す図である。
【図６】図６は、マッピング処理の結果について説明するための図である。
【図７】図７は、境界設定処理の処理フローを示す図である。
【図８】図８は、境界設定処理の結果について説明するための図である。
【図９】図９は、補完処理の処理フローを示す図である。
【図１０】図１０は、補完処理について説明するための図である。
【図１１】図１１は、補完処理の処理フローを示す図である。
【図１２】図１２は、補完処理の結果について説明するための図である。
【図１３】図１３は、三次元データを生成する処理の処理フローを示す図である。
【図１４】図１４は、１次変形処理の処理フローを示す図である。
【図１５】図１５は、ＴＰＳＷａｒｐについて説明するための図である。
【図１６】図１６は、１次変形処理を左心室に適用した例を示す図である。
【図１７】図１７は、１次変形処理を右心室に適用した例を示す図である。
【図１８】図１８は、目標形状にターゲットランドマークを配置した場合における問題を説明するための図である。
【図１９】図１９は、２次変形処理の概要を説明するための図である。
【図２０】図２０は、２次変形処理の処理フローを示す図である。
【図２１】図２１は、ランドマーク設定処理の処理フローを示す図である。
【図２２】図２２は、境界点探索処理の処理フローを示す図である。
【図２３】図２３は、頂点ｖの位置と輝度値との関係について説明するための図である。
【図２４】図２４は、頂点ｖの位置と輝度値との関係について説明するための図である。
【図２５】図２５は、探索点が変形前形状を貫通するケースの一例を示す図である。
【図２６】図２６は、探索点が変形前形状を貫通するケースの一例を示す図である。
【図２７】図２７は、境界点の探索方法を説明するための図である。
【図２８】図２８は、２次変形後形状及び目標形状を示す図である。
【図２９】図２９は、本実施の形態の処理を実行しない場合に得られる目標形状の三次元データを示す図である。
【図３０】図３０は、本実施の形態の処理を実行しない場合に得られる最終的な三次元データを示す図である。
【図３１】図３１は、本実施の形態の処理を実行した場合に得られる最終的な三次元データを示す図である。
【図３２】図３２は、二次変形処理後の形状と目標形状とを重ねて表示した図である。
【図３３】図３３は、本実施の形態の方法を使用しない場合に得られる最終的な三次元データと使用した場合に得られる最終的な三次元データとを示す図である。
【図３４】図３４は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１５】
本実施の形態に係る形状データ生成装置１の機能ブロック図を図１に示す。図１の例では、形状データ生成装置１は、標準形状データ格納部１０１と、１次変形処理部１０２と、画像データ格納部１０３と、１次変形データ格納部１０４と、第１ランドマークデータ格納部１０５と、設定部１０８及び境界点探索部１０９を含むランドマーク処理部１０６と、２次変形処理部１０７と、第２ランドマークデータ格納部１１０と、２次変形データ格納部１１１と、表示部１１２と、定義部１１３０、マッピング部１１３１、境界設定部１１３２及び補完部１１３３を含む生成部１１３と、目標形状データ格納部１１４と、変形後データ格納部１１５とを含む。
【００１６】
生成部１１３は、画像データ格納部１０３に格納されているセグメント画像データから、目標形状の三次元形状データを生成し、目標形状データ格納部１１４に格納する。具体的には、定義部１１３０は、目標形状を包含するバウンディングボックスを定義する処理を実行する。マッピング部１１３１は、セグメント画像を包含するバウンディングボックスにおけるボクセルと目標形状を包含するバウンディングボックスにおけるボクセルとの対応付けを実行する。境界設定部１１３２は、心臓と心臓でない部分との境界に対して所定の輝度値（本実施の形態においては「２」）を設定する処理を実行する。補完部１１３３は、目標形状を包含するバウンディングボックスにおけるボクセルのうち輝度値が設定されていないボクセルに対して輝度値を設定する処理を実行する。
【００１７】
１次変形処理部１０２は、標準形状データ格納部１０１に格納されているデータ及び目標形状データ格納部１１４に格納されているデータを用いて、後述する１次変形処理を行い、処理結果を１次変形データ格納部１０４及び第１ランドマークデータ格納部１０５に格納する。また、１次変形処理部１０２は、表示部１１２にランドマークを指定させるための画面の表示を指示する。ランドマーク処理部１０６における設定部１０８及び境界点探索部１０９は、目標形状データ格納部１１４に格納されているデータ、１次変形データ格納部１０４に格納されているデータ、変形後データ格納部１１５に格納されているデータ、第１ランドマークデータ格納部１０５に格納されているデータ及び第２ランドマークデータ格納部１１０に格納されているデータを用いて、後述するランドマーク設定処理及び境界点探索処理を実行し、処理結果を第２ランドマークデータ格納部１１０に格納する。２次変形処理部１０７は、目標形状データ格納部１１４に格納されているデータ、１次変形データ格納部１０４に格納されているデータ、変形後データ格納部１１５に格納されているデータ及び第２ランドマークデータ格納部１１０に格納されているデータを用いて処理を行い、処理結果を変形後データ格納部１１５又は２次変形データ格納部１１１に格納する。また、２次変形処理部１０７は、２次変形データ格納部１１１に格納されているデータの表示を表示部１１２に指示する。表示部１１２は、１次変形処理部１０２及び２次変形処理部１０７からの指示に応じて表示装置等にデータを表示する。
【００１８】
標準形状データ格納部１０１には、心臓の標準的な形状（以下、標準形状と呼ぶ）のデータが格納されている。具体的には、形状の頂点の情報及び頂点の接続情報を含むＳＴＬ（Standard Triangulated Language）データが格納されている。但し、データのフォーマットはＳＴＬデータのフォーマットに限られるわけではない。
【００１９】
図２に、画像データ格納部１０３に格納されているセグメント画像データの一例を示す。図２には、４枚のセグメント画像データが示されている。セグメント画像データは、特定の患者の心臓のＣＴ画像等に対して、境界の内部を所定の輝度値（以下、ラベル値と呼ぶ）で塗りつぶす処理を施すことにより得られる。セグメント画像データにおける各点には、三次元の座標が設定されている。本実施の形態においては、セグメント画像データを利用して、変形の目標となる形状である目標形状の三次元形状データを得るようにしている。
【００２０】
次に、図３乃至図３３を用いて、図１に示した形状データ生成装置１の動作について説明する。形状データ生成装置１は、標準形状を、目標形状に近付くように変形する処理を実行する。はじめに、図３乃至図１２を用いて、セグメント画像データから目標形状の三次元形状データを生成する処理について説明する。
【００２１】
生成部１１３における定義部１１３０は、画像データ格納部１０３に格納されているセグメント画像データを読み出す。そして、定義部１１３０は、目標形状を包含するバウンディングボックスを定義する（図３：ステップＳ１）。
【００２２】
セグメント画像のスライス間隔が大きい場合、目標形状を包含するバウンディングボックスにおけるボクセルはｚ軸方向に長くなってしまう。ボクセルとは３次元画像データにおいて、２次元画像データの矩形画像の要素であるピクセル（pixel）に対応する格子画像の要素である。そこで、目標形状を包含するバウンディングボックスにおけるボクセルを立方体にするため、以下のようにする。
【００２３】
（１）目標形状を包含するバウンディングボックスの下限の座標＝セグメント画像を包含するバウンディングボックスの下限の座標
（２）目標形状を包含するバウンディングボックスの上限の座標＝セグメント画像を包含するバウンディングボックスの上限の座標
（３）目標形状を包含するバウンディングボックスのｘ軸方向における格子点の数＝１＋（バウンディングボックスの上限のｘ座標−バウンディングボックスの下限のｘ座標）／セグメント画像を包含するバウンディングボックスのｘ軸方向又はｙ軸方向のボクセルサイズ（なお、ｙ軸方向及びｚ軸方向の格子点の数も同様に求めることができる。）
但し、このように設定すると、上限の位置がずれることがあるため、以下のように上限を設定し直す。
（４）目標形状を包含するバウンディングボックスの上限のｘ座標＝セグメント画像を包含するバウンディングボックスの下限のｘ座標＋セグメント画像を包含するバウンディングボックスのｘ軸方向又はｙ軸方向のボクセルサイズ×（ｘ軸方向における格子点の数−１）（なお、ｙ座標及びｚ座標も同様に求めることができる。）
【００２４】
ここで、セグメント画像を包含するバウンディングボックスは、下限を示す列ベクトルＢｍｉｎ＝（ｘｍｉｎ，ｙｍｉｎ，ｚｍｉｎ）Ｔ及び上限を示す列ベクトルＢｍａｘ＝（ｘｍａｘ，ｙｍａｘ，ｚｍａｘ）Ｔにより定まるとする。ｘｍｉｎはｘ座標の最小値であり、ｘｍａｘはｘ座標の最大値である。ｙｍｉｎはｙ座標の最小値であり、ｙｍａｘはｙ座標の最大値である。ｚｍｉｎはｚ座標の最小値であり、ｚｍａｘはｚ座標の最大値である。
【００２５】
ステップＳ１の処理により、図４に示すようなバウンディングボックスが定義される。バウンディングボックスの範囲は、下限の座標及び上限の座標によって定まる。バウンディングボックスにおけるボクセルの各々は、ｘ軸方向の長さがｖ’ｘ、ｙ軸方向の長さがｖ’ｙ、ｚ軸方向の長さがｖ’ｚである。但し、ｖ’ｘ＝ｖ’ｙ＝ｖ’ｚである。各軸方向における格子点の数は、その軸方向におけるボクセルの数＋１である。なお、定義されたバウンディングボックスのデータは目標形状データ格納部１１４に格納される。なお、バウンディングボックスにおける各ボクセルの輝度値は、初期値として０が設定されているとする。
【００２６】
図３の説明に戻り、マッピング部１１３１は、マッピング処理を実行する（ステップＳ３）。マッピング処理については、図５及び図６を用いて説明する。
【００２７】
マッピング部１１３１は、セグメント画像における位置ｕ（ｘ，ｙ，ｚ）のｚ座標をｚ＝０と設定する（図５：Ｓ１１）。ここで、ｕ∈［０，ｎｘ］×［０，ｎｙ］×［０，ｎｚ］⊂Ｉ３とする。ｎｘはセグメント画像を包含するバウンディングボックスにおけるｘ軸方向のボクセル数であり、ｎｙはｙ軸方向のボクセル数であり、ｎｚはｚ軸方向のボクセル数である。Ｉ（ｘ，ｙ，ｚ）は、セグメント画像を包含するバウンディングボックスにおけるｕ（ｘ，ｙ，ｚ）の輝度値とする。
【００２８】
また、以下では、セグメント画像を包含するバウンディングボックスにおけるｘ軸方向のボクセル数をｎｘとし、ｙ軸方向のボクセル数をｎｙとし、ｚ軸方向のボクセル数をｎｚとするとｚ方向の格子点の数はｎｚ＋１となる。ボクセルのサイズは、ｘ軸方向がｖｘ、ｙ軸方向がｖｙ、ｚ軸方向がｖｚとする。
【００２９】
図５の説明に戻り、マッピング部１１３１は、ｕのｙ座標をｙ＝０と設定する（ステップＳ１３）。
【００３０】
マッピング部１１３１は、ｕのｘ座標をｘ＝０と設定する（ステップＳ１５）。
【００３１】
マッピング部１１３１は、Ｉ（ｕ）＝＝ラベル値であるか判断する（ステップＳ１７）。すなわち、ｕが境界の内部（すなわち、心臓の内部）にあたる部分のボクセルであるか判断する。Ｉ（ｕ）＝＝ラベル値ではない場合（ステップＳ１７：Ｎｏルート）、ステップＳ２３の処理に移行する。Ｉ（ｕ）＝＝ラベル値である場合（ステップＳ１７：Ｙｅｓルート）、マッピング部１１３１は、目標形状を包含するバウンディングボックスにおける位置ｕ’をｕ’＝Ｍ’−１・（Ｍ・ｕ）と設定する（ステップＳ１９）。また、マッピング部１１３１は、位置ｕ’における輝度値Ｉ’（ｕ’）をＩ’（ｕ’）＝１と設定する（ステップＳ２１）。ここで、ｕ’∈Ｉ３である。また、Ｍ及びＭ’を以下のように定める。
【００３２】
【数１】
2014016895.tif 000003
【００３３】
【数２】
2014016895.tif 000004
【００３４】
なお、ステップＳ２１の処理によって、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値が０から１に更新される。
【００３５】
マッピング部１１３１は、ｘ≧ｎｘであるか判断する（ステップＳ２３）。ｘ≧ｎｘではない場合（ステップＳ２３：Ｎｏルート）、マッピング部１１３１は、ｕ（ｘ，ｙ，ｚ）におけるｘ座標を１インクリメントし（ステップＳ２５）、ステップＳ１７の処理に戻る。
【００３６】
ｘ≧ｎｘである場合（ステップＳ２３：Ｙｅｓルート）、マッピング部１１３１は、ｙ≧ｎｙであるか判断する（ステップＳ２７）。ｙ≧ｎｙではない場合（ステップＳ２７：Ｎｏルート）、マッピング部１１３１は、ｕ（ｘ，ｙ，ｚ）におけるｙ座標を１インクリメントし（ステップＳ２９）、ステップＳ１５の処理に戻る。
【００３７】
ｙ≧ｎｙである場合（ステップＳ２７：Ｙｅｓルート）、マッピング部１１３１は、ｚ≧ｎｚであるか判断する（ステップＳ３１）。ｚ≧ｎｚではない場合（ステップＳ３１：Ｎｏルート）、マッピング部１１３１は、ｕ（ｘ，ｙ，ｚ）におけるｚ座標を１インクリメントし（ステップＳ３３）、ステップＳ１３の処理に戻る。一方、ｚ≧ｎｚである場合（ステップＳ３１：Ｙｅｓルート）、元の処理に戻る。
【００３８】
以上のような処理を実行すると、目標形状において心臓内部及び心臓と心臓ではない部分との境界の輝度値が１になり、心臓ではない部分の輝度値が０になる。図６の上段は、この段階における目標形状の三次元形状データであり、図６の下段は、生成された三次元形状データの一部をｚ軸方向から観察した図である。この段階においては、ｚ軸方向には、セグメント画像データが存在する部分にしか輝度値が付与されていない。
【００３９】
図３の説明に戻り、境界設定部１１３２は、境界設定処理を実行する（ステップＳ５）。境界設定処理については、図７及び図８を用いて説明する。
【００４０】
まず、境界設定部１１３２は、目標形状上の位置ｕ’における輝度値Ｉ’（ｘ，ｙ，ｚ）のｚ座標をｚ＝０と設定する（図７：Ｓ４１）。
【００４１】
境界設定部１１３２は、Ｉ’のｙ座標をｙ＝０と設定する（ステップＳ４３）。
【００４２】
境界設定部１１３２は、Ｉ’のｘ座標をｘ＝０と設定する（ステップＳ４５）。
【００４３】
境界設定部１１３２は、｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ−１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ＋１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ，ｙ−１，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ１，ｙ＋１，ｚ）｜＞０を満たすか判断する（ステップＳ４７）。ステップＳ４７においては、ｕ’（ｘ，ｙ，ｚ）における輝度値とその周りの点における輝度値との差があるか否かを判断している。
【００４４】
｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ−１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ＋１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ，ｙ−１，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ１，ｙ＋１，ｚ）｜＞０を満たさない場合（ステップＳ４７：Ｎｏルート）、ｕ’は心臓と心臓ではない部分との境界ではないため、ステップＳ５３の処理に移行する。
【００４５】
｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ−１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ＋１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ，ｙ−１，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ１，ｙ＋１，ｚ）｜＞０を満たす場合（ステップＳ４７：Ｙｅｓルート）、境界設定部１１３２は、Ｉ’（ｘ，ｙ，ｚ）＝＝１であるか判断する（ステップＳ４９）。
【００４６】
Ｉ’（ｘ，ｙ，ｚ）＝＝１ではない場合（ステップＳ４９：Ｎｏルート）、ｕ’は心臓と心臓ではない部分との境界ではないので、ステップＳ５３の処理に移行する。一方、Ｉ’（ｘ，ｙ，ｚ）＝＝１である場合（ステップＳ４９：Ｙｅｓルート）、ｕ’は心臓と心臓ではない部分との境界であるので、境界設定部１１３２は、Ｉ’（ｘ，ｙ，ｚ）＝２と設定する（ステップＳ５１）。ステップＳ５１の処理によって、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値が１から２に更新される。
【００４７】
境界設定部１１３２は、ｘ≧ｎｘであるか判断する（ステップＳ５３）。ｘ≧ｎｘではない場合（ステップＳ５３：Ｎｏルート）、境界設定部１１３２は、ｕ’（ｘ，ｙ，ｚ）におけるｘ座標を１インクリメントし（ステップＳ５５）、ステップＳ４７の処理に戻る。
【００４８】
ｘ≧ｎｘである場合（ステップＳ５３：Ｙｅｓルート）、境界設定部１１３２は、ｙ≧ｎｙであるか判断する（ステップＳ５７）。ｙ≧ｎｙではない場合（ステップＳ５７：Ｎｏルート）、境界設定部１１３２は、ｕ’（ｘ，ｙ，ｚ）におけるｙ座標を１インクリメントし（ステップＳ５９）、ステップＳ４５の処理に戻る。
【００４９】
ｙ≧ｎｙである場合（ステップＳ５７：Ｙｅｓルート）、境界設定部１１３２は、ｚ≧ｎｚであるか判断する（ステップＳ６１）。ｚ≧ｎｚではない場合（ステップＳ６１：Ｎｏルート）、境界設定部１１３２は、ｕ（ｘ，ｙ，ｚ）におけるｚ座標を１インクリメントし（ステップＳ６３）、ステップＳ４３の処理に戻る。一方、ｚ≧ｎｚである場合（ステップＳ６１：Ｙｅｓルート）、元の処理に戻る。
【００５０】
以上のような処理を実行すると、目標形状において心臓内部の輝度値が１になり、心臓と心臓ではない部分との境界の輝度値が２になり、心臓ではない部分は輝度値が０になる。図８の上段は、この段階における目標形状の三次元形状データであり、図８の下段は、生成された三次元形状データの一部をｚ軸方向から観察した図である。なお、境界部分をわかりやすくするため、図８の上段には境界部分しか示していない。また、この段階においては、ｚ軸方向には、セグメント画像データが存在する部分にしか輝度値が付与されていない。
【００５１】
図３の説明に戻り、補完部１１３３は、補完処理を実行する（ステップＳ７）。補完処理については、図９乃至図１２を用いて説明する。
【００５２】
まず、補完部１１３３は、セグメント画像の枚数を計数するための変数ｊをｊ＝１と設定する（図９：ステップＳ７１）。
【００５３】
補完部１１３３は、Ｌｉｓｔ＿ｉ’［ｊ］＝Ｌｉｓｔ＿ｉ［ｊ］（ｖｚ／ｖ’ｚ）と設定する（ステップＳ７３）。ここで、Ｌｉｓｔ＿ｉ［ｊ］はｊ番目のセグメント画像データのｚ座標である。よって、Ｌｉｓｔ＿ｉ’［ｊ］は、ｊ番目のセグメント画像データのｚ座標に対応する、目標形状を包含するバウンディングボックスにおけるｚ座標である。図１０の上段及び中段に示すように、ｚ座標がＬｉｓｔ＿ｉ［ｊ＋１］であるセグメント画像データは、ｚ座標がＬｉｓｔ＿ｉ’［ｊ＋１］である目標形状データに対応付けられる。また、ｚ座標がＬｉｓｔ＿ｉ［ｊ］であるセグメント画像データは、ｚ座標がＬｉｓｔ＿ｉ’［ｊ］である目標形状のデータに対応付けられる。
【００５４】
補完部１１３３は、ｊ≧ｎ＿Ｌｉｓｔであるか判断する（ステップＳ７５）。ｎ＿Ｌｉｓｔは、実際にユーザによって作成されたセグメント画像の枚数である。ｊ≧ｎ＿Ｌｉｓｔではない場合（ステップＳ７５：Ｎｏルート）、次のセグメント画像データについて処理するため、補完部１１３３は、ｊ＝ｊ＋１と設定し（ステップＳ７７）、ステップＳ７３の処理に戻る。
【００５５】
一方、ｊ≧ｎ＿Ｌｉｓｔである場合（ステップＳ７５：Ｙｅｓルート）、補完部１１３３は、セグメント画像を計数するための変数ｊをｊ＝１と設定する（ステップＳ７９）。
【００５６】
補完部１１３３は、ｎ＝Ｌｉｓｔ＿ｉ’［ｊ＋１］−Ｌｉｓｔ＿ｉ’［ｊ］と設定する（ステップＳ８１）。ｎは、ｚ座標Ｌｉｓｔ＿ｉ’［ｊ＋１］とｚ座標Ｌｉｓｔ＿ｉ’［ｊ］との間において、輝度値が設定されていないｚ座標の数である。処理は端子Ａを介して図１１のステップＳ８３に移行する。
【００５７】
図１１の説明に移行し、補完部１１３３は、ｚ座標の数を計数するための変数ｋをｋ＝１と設定する（ステップＳ８３）。
【００５８】
補完部１１３３は、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）＞０であるか判断する（ステップＳ８５）。Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）＞０である場合（ステップＳ８５：Ｙｅｓルート）、補完部１１３３は、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝１と設定する（ステップＳ８７）。ステップＳ８７の処理によって、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値が０から１に更新される。一方、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）＞０ではない場合（ステップＳ８５：Ｎｏルート）、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝０と設定する（ステップＳ８９）。ステップＳ８９の処理においては、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値を０のままとする。
【００５９】
補完部１１３３は、ｋ＞（ｎ／２）であるか判断する（ステップＳ９１）。ｋ＞（ｎ／２）ではない場合（ステップＳ９１：Ｎｏルート）、補完部１１３３は、ｋ＝ｋ＋１と設定し（ステップＳ９３）、ステップＳ８５の処理に戻る。
【００６０】
ステップＳ８３乃至Ｓ９３の処理においては、ｚ座標Ｌｉｓｔ＿ｉ’［ｊ］＋ｋが、ｚ座標Ｌｉｓｔ＿ｉ’［ｊ＋１］）よりもｚ座標Ｌｉｓｔ＿ｉ’［ｊ］に近いため、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）と同じ輝度値を設定している。例えば図１０の下段に示すように、Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ＝ｚＡである場合には、ｚＡはｚ座標Ｌｉｓｔ＿ｉ’［ｊ＋１］よりもｚ座標Ｌｉｓｔ＿ｉ’［ｊ］に近いため、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）とする。但し、たとえＩ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）＝２であったとしても、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝２ではなくＩ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝１と設定する。ユーザによって設定された境界に対してのみ輝度値２を付与するためである。
【００６１】
図１１の説明に戻り、ｋ＞（ｎ／２）である場合（ステップＳ９１：Ｙｅｓルート）、補完部１１３３は、ｚ座標の数を計数するための変数ｋをｋ＝（ｎ／２）＋１と設定する（ステップＳ９５）。
【００６２】
補完部１１３３は、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ＋１］）＞０であるか判断する（ステップＳ９７）。Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ＋１］）＞０である場合（ステップＳ９７：Ｙｅｓルート）、補完部１１３３は、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝１と設定する（ステップＳ９９）。ステップＳ９９の処理によって、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値が０から１に更新される。一方、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）＞０ではない場合（ステップＳ９７：Ｎｏルート）、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝０と設定する（ステップＳ１０１）。ステップＳ１０１の処理においては、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値を０のままとする。
【００６３】
補完部１１３３は、ｋ＞ｎであるか判断する（ステップＳ１０３）。ｋ＞ｎではない場合（ステップＳ１０３：Ｎｏルート）、補完部１１３３は、ｋ＝ｋ＋１と設定し（ステップＳ１０５）、ステップＳ９７の処理に戻る。
【００６４】
ステップＳ９５乃至Ｓ１０３の処理においては、ｚ座標Ｌｉｓｔ＿ｉ’［ｊ］＋ｋが、ｚ座標Ｌｉｓｔ＿ｉ’［ｊ］よりもｚ座標Ｌｉｓｔ＿ｉ’［ｊ＋１］に近いため、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ＋１］）と同じ輝度値を設定している。例えば図１０の下段に示すように、Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ＝ｚＢである場合には、ｚＡはｚ座標Ｌｉｓｔ＿ｉ’［ｊ］よりもｚ座標Ｌｉｓｔ＿ｉ’［ｊ＋１］に近いため、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ＋１］）とする。但し、たとえＩ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ＋１］）＝２であったとしても、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝２ではなくＩ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝１と設定する。ユーザによって設定された境界に対してのみ輝度値２を付与するためである。
【００６５】
図１１の説明に戻り、ｋ＞ｎである場合（ステップＳ１０３：Ｙｅｓルート）、補完部１１３３は、ｊ＞ｎ＿Ｌｉｓｔ−１であるか判断する（ステップＳ１０７）。ｊ＞ｎ＿Ｌｉｓｔ−１ではない場合（ステップＳ１０７：Ｎｏルート）、輝度値が未設定の格子点が存在するので、補完部１１３３は、ｊ＝ｊ＋１と設定する（ステップＳ１０９）。処理は端子Ｂを介して図９のステップＳ８１に戻る。一方、ｊ＞ｎ＿Ｌｉｓｔ−１である場合（ステップＳ１０７：Ｙｅｓルート）、元の処理に戻る。
【００６６】
図３の説明に戻り、補完処理（ステップＳ７）が終了すると、処理を終了する。
【００６７】
以上のように、目標形状において心臓と心臓でない部分との境界を識別できるようにしておけば（すなわち、輝度値２を設定しておけば）、目標形状の境界と標準形状の境界とが重なるように変形することができるようになる。これにより、精度が高い三次元形状データを生成できるようになる。なお、ここまでの処理によって、例えば図１２に示すような三次元形状データが生成される。この三次元形状データにおいては、ボクセルの形状が立方体になっている。
【００６８】
次に、図１３乃至図３３を用いて、標準形状が目標形状に近付くように変形をする処理について説明する。
【００６９】
まず、１次変形処理部１０２は、１次変形処理を実行する（図１３：ステップＳ１１１）。１次変形処理については、図１４乃至図１７を用いて説明する。なお、１次変形処理においては、標準形状と目標形状との大まかな位置合わせが行われる。
【００７０】
まず、１次変形処理部１０２は、標準形状データ格納部１０１から標準形状のデータを読み出すと共に、目標形状データ格納部１１４から目標形状のデータを読み出す。そして、１次変形処理部１０２は、標準形状のデータ及び目標形状データを含むランドマーク設定画面の表示を表示部１１２に指示する。表示部１１２は、１次変形処理部１０２からの指示に応じ、ランドマーク設定画面を表示装置に表示する（図１４：ステップＳ１１２）。
【００７１】
ユーザは、表示装置に表示されたランドマーク設定画面を見て、標準形状と目標形状との大まかな位置合わせを行う。具体的には、（１）標準形状における所定の部分にソースランドマークを設定する。（２）目標形状における、ソースランドマークを配置した位置に対応する部分にターゲットランドマークを設定する。なお、所定の部分とは、心臓における特徴的な部分であり、例えば４つの弁輪部、心尖部、右心室流体面の底部、心筋境界（例えば右心室と左心室との境界）、４本の肺静脈の端面、上大静脈及び下大静脈である。
【００７２】
そして、１次変形処理部１０２は、ソースランドマーク及びターゲットランドマークの設定を受け付け、ソースランドマーク及びターゲットランドマークのデータ（例えば三次元座標）を第１ランドマークデータ格納部１０５に格納する（ステップＳ１１３）。
【００７３】
そして、１次変形処理部１０２は、第１ランドマークデータ格納部１０５に格納されているランドマークのデータに従い、後述するＴＰＳＷａｒｐ（Thin Plate Spline Warp）等の手法により標準形状を変形する処理を実行する（ステップＳ１１４）。そして、１次変形処理部１０２は、処理結果である一次変形後形状のデータを１次変形データ格納部１０４に格納する。そして元の処理に戻る。
【００７４】
ここで、ＴＰＳＷａｒｐについて説明する。図１５に示すように、ＴＰＳＷａｒｐにおいては、ソースランドマーク及び当該ソースランドマークに対応するターゲットランドマークが与えられると、ソースランドマークがターゲットランドマークに重なるように変形を行う。なお、ＴＰＳＷａｒｐの詳細については、例えば「Fred L. Bookstein "Principal Warps: Thin-Plate Splines and the Decomposition of Deformation",IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE. VOL. 11 NO. 6, PP. 567-585, JUNE 1989」を参照のこと。
【００７５】
なお、一次変形データ格納部１０４に格納されているデータのフォーマットは、標準形状データ格納部１０１に格納されているデータのフォーマットと同様である。また、一次変形処理によって移動したソースランドマーク（すなわち、１次変形処理におけるターゲットランドマークと重なる点）は、２次変形処理においては固定点として取り扱われる。すなわち、一次変形処理によって移動したソースランドマークは、２次変形処理においては移動させず、位置をずらさないようにする。
【００７６】
図１６に、上で述べた１次変形処理を左心室に適用した例を示す。上段左の図はソースランドマーク（丸印）が付された標準形状であり、上段右の図はターゲットランドマーク（丸印）が付された目標形状である。この標準形状及び目標形状を用いてＴＰＳＷａｒｐを実行した結果である１次変形後形状が、下段左側の図である。下段右側の図は、目標形状を異なる視点から観察した図である。
【００７７】
また、図１７に、上で述べた１次変形処理を右心室に適用した例を示す。上段左の図はソースランドマーク（丸印）が付された標準形状であり、上段右の図はターゲットランドマーク（丸印）が付された目標形状である。この標準形状及び目標形状を用いてＴＰＳＷａｒｐを実行した結果である１次変形後形状を、下段の図における網線６０で示している。下段の図においては、目標形状と網線で示された１次変形後形状とを重ねて示し、比較を行いやすいようにしている。
【００７８】
以上のように、ユーザから受け付けたランドマークの設定に従い大まかな位置合わせを予め行うことにより、後に行う詳細な変形をより効果的に行うことができるようになる。
【００７９】
図１３の説明に戻り、２次変形処理部１０７は、２次変形処理を実行する（ステップＳ１１５）。２次変形処理については、図１８乃至図２７を用いて説明する。
【００８０】
まず、２次変形処理の概要について説明する。ＴＰＳＷａｒｐによる変形処理を行う場合、一般的に心臓が丸みを帯びた形状であることを考慮すれば、ソースランドマークの法線上にターゲットランドマークを設定することが有効であると考えられる。例えば図１８の上段に示すように、ソースランドマークを１次変形後形状に配置し、ソースランドマークの法線と目標形状との交点にターゲットランドマークを配置し、ＴＰＳＷａｒｐによる変形処理を行うことが考えられる。しかしながら、図１８の下段に示すように、法線が交差するような状況が発生すると、生成された形状には、目標形状とは異なる不自然な形状が生じてしまうことがある。
【００８１】
そこで、本実施の形態における２次変形処理においては、図１９に示すように、１次変形後の形状に配置されたソースランドマークと上記の交点とを結ぶ線分を内分する点に、ターゲットランドマークを配置し、ＴＰＳＷａｒｐによる変形処理を行う。さらに、このような変形処理を繰り返し行うことにより、徐々に目標形状に近付けていく。これにより、生成された形状に不自然な形状が生じにくくなり、また法線の方向が本来目標とすべき部分に向きやすくなる。
【００８２】
図２０乃至図２７を用いて、２次変形処理の詳細を説明する。まず、２次変形処理部１０７は、変形回数をカウントするための変数ｔの初期値をｔ＝０と設定する（図２０：ステップＳ１２１）。次に、２次変形処理部１０７は、変数ｔをｔ＝ｔ＋１と増分することにより変形回数をカウントするとともに、また変数ｍの初期値をｍ＝０と設定する（ステップＳ１２３）。ｍは、処理した頂点数をカウントするための変数である。
【００８３】
そして、２次変形処理部１０７は、変数ｍをｍ＝ｍ＋１と増分し（ステップＳ１２５）、ランドマーク処理部１０６にランドマーク設定処理の実行を指示する。すると、ランドマーク処理部１０６は、ランドマーク設定処理を実行する（ステップＳ１２７）。ランドマーク設定処理については、図２１乃至図２７を用いて説明する。
【００８４】
まず、ランドマーク処理部１０６における設定部１０８は、変形後データ格納部１１５に格納されているデータ又は１次変形データ格納部１０４に格納されているデータから頂点ｖをランダムに１つ特定する（図２１：ステップＳ１４１）。ステップＳ１４１においては、変形後データ格納部１１５にデータが格納されている場合（すなわち、２次変形処理において変形処理が少なくとも１度実行されている場合）には、変形後データ格納部１１５から頂点ｖを１つ特定する。変形後データ格納部１１５にデータが格納されていない場合には、１次変形データ格納部１０４に格納されているデータから頂点ｖを１つ特定する。
【００８５】
設定部１０８は、１次変形処理によって移動したソースランドマーク（すなわち固定点）のデータ及び第２ランドマークデータ格納部１１０に格納されているソースランドマークのデータを用いて、頂点ｖと各ソースランドマークとのユークリッド距離をそれぞれ算出する。なお、第２ランドマークデータ格納部１１０にソースランドマーク及びターゲットランドマークのデータが格納されていない場合もある。このような場合には、１次変形処理によって移動したソースランドマークのデータのみを用いる。そして、設定部１０８は、算出された頂点ｖと各ソースランドマークとのユークリッド距離のうち最小のものが閾値Ｄ以下であるか判断する（ステップＳ１４３）。ステップＳ１４３は、頂点ｖを２次変形処理前の形状に均等に配置するために行われる処理である。ステップＳ１４３においては、以下の式を満たすか否かを判断する。
【００８６】
【数３】
2014016895.tif 000005
【００８７】
ここで、ｄ（ｖ、ｖi）は、点ｖと点ｖiとの間のユークリッド距離を表す。ｖiは、固定点（すなわち１次変形処理によって移動したソースランドマーク）又はソースランドマーク（第２ランドマークデータ格納部１１０にデータが格納されている頂点）である。
【００８８】
頂点ｖと各ソースランドマークとのユークリッド距離のうち最小のものが閾値Ｄ以下であると判断された場合（ステップＳ１４３：Ｙｅｓルート）、元の処理に戻る。一方、頂点ｖと各ソースランドマークとのユークリッド距離のうち最小のものが閾値Ｄより大きいと判断された場合（ステップＳ１４３：Ｎｏルート）、設定部１０８は、境界点探索部１０９に境界点探索処理の実行を指示する。すると、境界点探索部１０９は、境界点探索処理を実行する（ステップＳ１４５）。境界点探索処理については、図２２乃至図２７を用いて説明する。
【００８９】
まず、境界点探索部１０９は、単位法線ベクトルｎ（ｖ）を算出する（図２２：ステップＳ１６１）。ここで、ｎ（ｖ）は、頂点ｖ（∈Ｈ）での面Ｈに対する単位法線ベクトルである。単位法線ベクトルとは、長さが１の法線ベクトルをいう。なお、Ｈ（⊂Ｖ）は一次変形データ格納部１０４に格納されているデータ又は変形後データ格納部１１５に格納されているデータにより特定される形状面であり、Ｖ（⊂Ｒ3）は目標形状の三次元形状データにより特定されるボクセル空間である。また、Ｒ3は、実数空間を表す。
【００９０】
境界点探索部１０９は、頂点ｖが境界上に有るか判断する（ステップＳ１６３）。ステップＳ１６３においては、以下の式を満たすか否かを判断する。
【００９１】
【数４】
2014016895.tif 000006
【００９２】
ここで、ボクセル空間Ｖから実数空間Ｒへの写像ｆ：Ｖ→Ｒは以下のように定義される。この写像ｆにより、ボクセル空間Ｖに含まれる目標形状の三次元形状データの要素が実数空間Ｒに対応付けられる。
【００９３】
【数５】
2014016895.tif 000007
【００９４】
ここで、Ｉは点ｐ（∈Ｖ）を含むボクセルの輝度値である。
【００９５】
頂点ｖが境界上に有る場合（ステップＳ１６３：Ｙｅｓルート）、処理は端子Ｃを介して図２１のステップＳ１５０に移行する。そして、設定部１０８は、頂点ｖをターゲットランドマークに設定する（ステップＳ１５０）。また、設定部１０８は、頂点ｖをソースランドマークに設定する（ステップＳ１５１）。さらに、設定部１０８は、設定されたソースランドマークとターゲットランドマークのデータとのペアを第２ランドマークデータ格納部１１０に追加する。
【００９６】
このようにすれば、頂点ｖが境界部分に有る場合には、頂点ｖは移動しなくなる。これによって、心臓と心臓でない部分との境界を高精度で再現できるようになる。
【００９７】
一方、頂点ｖが境界上に無い場合（ステップＳ１６３：Ｎｏルート）、頂点ｖが目標形状の内側に存在するか判断する（ステップＳ１６５）。ステップＳ１６５においては、以下の式を満たすか否かを判断する。
【００９８】
【数６】
2014016895.tif 000008
【００９９】
図２３及び図２４を用いて、ステップＳ１６５の処理について説明する。図２３に示すように、頂点ｖに対応するボクセル空間の輝度値ｆ（ｖ）が１である場合には、頂点ｖが目標形状の内側に存在する。そこで、後述するステップＳ１７７の処理において係数ｋを１ずつインクリメントするように設定することで、目標形状の内から外へ向かう方向に境界点を探索する。一方、図２４に示すように、頂点ｖに対応するボクセル空間の輝度値ｆ（ｖ）が０になる場合には、頂点ｖが目標形状の外側に存在する。そこで、後述するステップＳ１９１の処理において係数ｋを１ずつデクリメントするように設定することで、目標形状の外から内へ向かう方向に境界点を探索する。
【０１００】
図２２の説明に戻り、頂点ｖが目標形状の内側に存在すると判断された場合（ステップＳ１６５：Ｙｅｓルート）、境界点探索部１０９は、係数ｋをｋ＝０と設定する（ステップＳ１６７）。また、境界点探索部１０９は、境界点であるかどうかを判定する点（以下、探索点と呼ぶ）を以下のように設定する（ステップＳ１６９）。
【０１０１】
【数７】
2014016895.tif 000009
【０１０２】
そして、境界点探索部１０９は、目標形状の三次元形状データにより特定されるボクセル空間内に探索点が存在するか判断する（ステップＳ１７１）。ステップＳ１７１においては、以下の式を満たすか判断する。
【０１０３】
【数８】
2014016895.tif 000010
【０１０４】
目標形状の三次元形状データにより特定されるボクセル空間内に探索点が存在しないと判断された場合（ステップＳ１７１：Ｎｏルート）、元の処理に戻る。探索点がボクセル空間外に達したため、頂点ｖについての法線と目標形状とが交点を有さないと判断できるためである。
【０１０５】
一方、目標形状の三次元形状データにより特定されるボクセル空間内に探索点が存在すると判断された場合（ステップＳ１７１：Ｙｅｓルート）、境界点探索部１０９は、探索点が変形前形状を貫通したか判断する（ステップＳ１７３）。ステップＳ１７３においては、以下の式を満たすか判断する。
【０１０６】
【数９】
2014016895.tif 000011
【０１０７】
ここで、写像ｇ：Ｖ→Ｒ3は以下のように定義される。この写像ｇにより、ボクセル空間Ｖに含まれるセグメント画像データの要素が実数空間Ｒ3に対応付けられる。
【０１０８】
【数１０】
2014016895.tif 000012
【０１０９】
ここで、写像ｇの制限ｇ|Ｈはｎ(ｖ)になることに注意。
【０１１０】
図２５及び図２６を用いて、ステップＳ１７３の処理について説明する。探索点が境界点に達する前に変形前形状を貫通するような場合には、境界点の探索を適切に行えていない可能性がある。探索点が境界点に達する前に変形前形状を貫通するような場合とは、例えば、図２５に示したような場合と、図２６に示したような場合とが考えられる。すなわち、目標形状に対する変形前形状の変形の度合いにより探索方向に境界点が存在しない場合が考えられる。いずれのケースにおいても、境界点を検出できないか、又は適切でない位置に境界点を検出してしまう可能性がある。そこで、ステップＳ１７３においては、頂点ｖについての法線ベクトルと探索点についての法線ベクトルとの内積を算出し、内積が０より小さい（すなわち、法線ベクトルのなす角が９０度より大きい）場合に、探索点が変形前形状を貫通したと判断している。
【０１１１】
図２２の説明に戻り、探索点が変形前形状を貫通したと判断された場合（ステップＳ１７３：Ｙｅｓルート）、適切な境界点を検出できないので、元の処理に戻る。一方、探索点が変形前形状を貫通していないと判断された場合（ステップＳ１７３：Ｎｏルート）、境界点探索部１０９は、探索点に対応するボクセル空間の輝度値が２であるか判断する（ステップＳ１７５）。
【０１１２】
探索点の輝度値が２ではない場合（ステップＳ１７５：Ｎｏルート）、境界点探索部１０９は、係数ｋをｋ＝ｋ＋１とインクリメントし（ステップＳ１７７）、ステップＳ１６９の処理に戻る。
【０１１３】
このようにすると、図２７に示すように、頂点ｖから法線方向へ１ボクセル分ずつ探索点を移動させつつ、探索点が境界の部分に該当するか否かを判定することができる。
【０１１４】
一方、輝度値が２である場合（ステップＳ１７５：Ｙｅｓルート）、境界点探索部１０９は、探索点を境界点に設定する（ステップＳ１７９）。ステップＳ１７９においては、探索点のデータ（例えばｋの値）をメインメモリ等の記憶装置に格納しておく。そして元の処理に戻る。
【０１１５】
これに対し、ステップＳ１６５において、頂点ｖが目標形状の外側に存在すると判断された場合（ステップＳ１６５：Ｎｏルート）に行われる処理について説明する。この場合の処理は、上で述べた処理とは探索方向が異なるだけであるから、基本的な処理の内容は上で述べたとおりである。すなわち、ステップＳ１８１の処理はステップＳ１６７の処理と同様であり、ステップＳ１８３の処理はステップＳ１６９の処理と同様であり、ステップＳ１８５の処理はステップＳ１７１の処理と同様であり、ステップＳ１８７の処理はステップＳ１７３の処理と同様であり、ステップＳ１８９の処理はステップＳ１７５の処理と同様である。従って、ステップＳ１８１乃至Ｓ１８９の処理の詳細な説明は省略する。
【０１１６】
そして、ステップＳ１９１において、境界点探索部１０９は、係数ｋをｋ＝ｋ−１とデクリメントし（ステップＳ１９１）、ステップＳ１８３の処理に戻る。これにより、探索点が、目標形状の外側から内側へ向かう法線方向に１ボクセル分移動される。また、ステップＳ１９３の処理は、ステップＳ１７９の処理と同様である。
【０１１７】
以上のような処理を実行することにより、頂点ｖについての法線と目標形状との交点のうち、輝度値が２である交点を境界点として検出することができるようになる。
【０１１８】
図２１の説明に戻り、設定部１０８は、境界点探索部１０９により境界点が検出されたか判断する（ステップＳ１４７）。境界点が検出されていないと判断された場合（ステップＳ１４７：Ｎｏルート）、次の頂点について処理するため、元の処理に戻る。
【０１１９】
一方、境界点が検出されたと判断された場合（ステップＳ１４７：Ｙｅｓルート）、設定部１０８は、頂点ｖと境界点ｖ＋ｋｎ（ｖ）とを結ぶ線分の内分点をターゲットランドマークに設定する（ステップＳ１４９）。具体的には、ターゲットランドマークは以下のような点に設定される。
【０１２０】
【数１１】
2014016895.tif 000013
【０１２１】
そして、設定部１０８は、頂点ｖをソースランドマークに設定する（ステップＳ１５１）。なお、設定部１０８は、設定されたソースランドマークとターゲットランドマークのデータとのペアを第２ランドマークデータ格納部１１０に追加する。そして元の処理に戻る。
【０１２２】
以上のような処理を実行することにより、変形前の形状における頂点と目標形状における境界点とを結ぶ線分の内分点を、ターゲットランドマークに設定することができるようになる。そして、セグメント画像データにおいて境界であった部分のみをターゲットランドマークに設定するので、セグメント画像データにおける境界を再現することができ且つその他の部分は標準形状に近い典型的な形状にすることができる。結果として、精度が高い三次元形状データになる。
【０１２３】
図２０の説明に戻り、２次変形処理部１０７は、変数ｍについてｍ＜Ｎであるか判断する（ステップＳ１２９）。ここで、Ｎは一次変形後形状（又は一次変形後形状を変形した形状）における頂点の総数である。ｍ＜Ｎであると判断された場合（ステップＳ１２９：Ｙｅｓルート）、次の頂点について処理するため、ステップＳ１２５の処理に戻る。
【０１２４】
一方、変数ｍについてｍ＜Ｎではないと判断された場合（ステップ１２９：Ｎｏルート）、２次変形処理部１０７は、第２ランドマークデータ格納部１１０に格納されているソースランドマーク及びターゲットランドマークのデータに従い、ＴＰＳＷａｒｐによる変形処理を実行し、変形後の形状のデータを変形後データ格納部１１５に格納する（ステップＳ１３１）。なお、前回の変形処理の結果が変形後データ格納部１１５に格納されている場合には、そのデータに上書きをする。
【０１２５】
また、上で述べたように、ステップＳ１３１における変形処理では、１次変形処理において移動させたソースランドマークは固定点として取り扱うため、移動させない。そして、２次変形処理部１０７は、第２ランドマークデータ格納部１１０に格納されているソースランドマーク及びターゲットランドマークのデータを消去する。
【０１２６】
２次変形処理部１０７は、変数ｔについてｔ＜Ｔであるか判断する（ステップＳ１３３）。ｔ＜Ｔであると判断された場合（ステップＳ１３３：Ｙｅｓルート）、さらに変形処理を行うため、ステップＳ１２３の処理に戻る。なお、Ｔは総変形回数であり、予め管理者等により設定される（例えばＴ＝５００）。
【０１２７】
一方、変数ｔについてｔ＜Ｔであると判断されなかった場合（ステップＳ１３３：Ｎｏルート）、Ｔ回の変形が終了したため、２次変形処理後の形状のデータを２次変形データ格納部１１１に格納し、元の処理に戻る。
【０１２８】
以上のような処理を実行することにより、１次変形後の形状が目標形状に近付き、精度の高い３次元形状データを得ることができるようになる。また、このような変形方法であれば、処理時間が比較的短くて済むようになる。
【０１２９】
図１３の説明に戻り、２次変形処理が実行されると、表示部１１２は、２次変形データ格納部１１１に格納されているデータを表示装置等に表示する（ステップＳ１１７）。そして処理を終了する。
【０１３０】
図２８に、表示装置等に表示されるデータの一例を示す。図２８の例では、目標形状と、網線で示された２次変形後形状とが表示されている。左側の図は、変形部分の全体を示す図であり、右側の図は、変形部分の一部を拡大した図である。
【０１３１】
なお、セグメント画像の枚数が少なく、スライス間隔が大きい場合に、本実施の形態の処理を実行しないと、図２９に示すような目標形状の三次元形状データが生成される。この三次元形状データは、ボクセルがｚ軸方向に細長い形状になっている。このような目標形状の三次元形状データを用いて変形処理を実行すると、生成される三次元形状データは図３０に示すような形状となる。すなわち、実際の心臓には存在しない凹凸が生じる。
【０１３２】
これに対して、セグメント画像の枚数が少なく、スライス間隔が大きい場合であっても、本実施の形態の処理を実行すれば、図３１に示すように、凹凸が無い滑らかな形状の三次元形状データを得ることができる。
【０１３３】
図３２は、図３１に示した二次変形処理後の形状と、図１２に示した目標形状とを重ねて表示した図である。目標形状におけるボクセルのうち、輝度値２が割り当てられているボクセル（すなわち、セグメント画像データにおいて境界に該当する部分のボクセル）は、二次変形処理後の形状の境界と重なるようになっている。
【０１３４】
図３３は、本実施の形態の方法を使用しない場合（すなわち、ステップＳ１乃至Ｓ７の処理を実行しない場合）に得られる三次元形状データと、本実施の形態の方法を使用した場合に得られる三次元形状データとを並べて示した図である。図３３においては、左から右に向かってスライス間隔が大きく（すなわち、セグメント画像の枚数が少なく）なっている。本実施の形態の方法を使用しない場合には、スライス間隔が大きくなるほど、実際に心臓には存在しない凹凸が生じている。一方、本実施の形態の方法を使用した場合には、スライス間隔が大きくなっても、凹凸が無い滑らかな形状のままである。
【０１３５】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した形状データ生成装置１の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【０１３６】
また、上で説明した処理フローは、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１３７】
なお、上で述べた例では、ランドマーク設定画面においてセグメント画像データを表示してターゲットランドマークの設定を行わせるようにしている。しかし、例えばＣＴ画像等の断層画像を表示してターゲットランドマークの設定を行わせるようにしてもよい。
【０１３８】
また、上で述べたような処理は心臓だけに適用可能なわけではなく、他の物体に適用することも可能である。
【０１３９】
なお、上で述べた形状データ生成装置１は、コンピュータ装置であって、図３４に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１４０】
以上述べた本実施の形態をまとめると以下のようになる。
【０１４１】
本実施の形態に係る形状データ生成方法は、（Ａ）物体の断層画像から、変形目標の形状である目標形状のデータを生成する生成処理と、（Ｂ）物体の標準的な形状であり且つ変形対象となる形状である対象形状の頂点のうち、当該頂点についての法線が目標形状のうち断層画像において物体と物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定すると共に、第１の頂点と交点との内分点を第２の頂点に設定する設定処理と、（Ｃ）第１の頂点を第２の頂点に重ねるように対象形状を変形し、変形後の形状を対象形状に設定する変形処理と（Ｄ）設定処理及び変形処理を所定回数実行する処理とを含む。
【０１４２】
このようにすれば、断層画像における境界に合うように対象形状を変形できると共に、その他の部分については物体の標準的な形状に近くなる。また、徐々に変形を行っているので変形後の形状に不自然な形状が生じにくい。結果として、十分な数の断層画像を得られない場合であっても高精度の形状データを得ることができるようになる。
【０１４３】
また、上で述べた生成処理において、（ａ１）目標形状のうち断層画像において物体と物体ではない部分との境界に該当する部分に対して所定の輝度値を付与するようにしてもよい。このようにすれば、断層画像において物体と物体ではない部分との境界を判別できるようになる。
【０１４４】
また、上で述べた生成処理において、（ａ２）断層画像を包含するボクセル空間におけるボクセルの輝度値を、目標形状を包含するボクセル空間におけるボクセルの輝度値にマッピングし、（ａ３）目標形状を包含するボクセル空間におけるボクセルのうち輝度値が設定されていないボクセルに対して、当該ボクセルに最も近く且つ輝度値が設定されているボクセルの輝度値を割り当てるようにしてもよい。このようにすれば、輝度値が設定されていないボクセルに対して妥当な輝度値を割り当てられるので、目標形状は妥当な形状になる。
【０１４５】
また、上で述べた第２の頂点は、第１の頂点についての単位法線ベクトルに、変形処理によって変形した回数を所定回数で除した値を乗じたベクトルによって特定される点であってもよい。このようにすれば、例えば重なりが生じる等、不自然な形状にならないように対象形状を徐々に変形することができるようになる。
【０１４６】
また、上で述べた設定処理において、（ｂ１）着目した頂点を当該着目した頂点についての法線の方向へ第１の距離移動させ、移動先の点が断層画像を包含するボクセル空間に含まれるか否かを判断する判断処理を実行し、（ｂ２）移動先の点が断層画像を包含するボクセル空間に含まれると判断された場合、着目した頂点についての法線ベクトルと移動先の点についての法線ベクトルとの内積に基づき、移動先の点が対象形状を貫通したか判断し、（ｂ３）移動先の点が対象形状を貫通していないと判断された場合、移動先の点における輝度値が、所定の輝度値であるか判断し、（ｂ４）所定の輝度値であると判断された場合、着目した頂点が第１の頂点であると判定し、（ｂ５）移動先の点が断層画像を包含するボクセル空間に含まれないと判断された場合又は移動先の点が対象形状を貫通したと判断された場合、着目した頂点が第１の頂点ではないと判定し、（ｂ６）移動先の点における輝度値が所定の輝度値ではないと判断された場合、判断処理以降の処理を移動先の点について再度実行するようにしてもよい。このようにすれば、対象形状から第１の頂点を特定できるようになる。
【０１４７】
また、上で述べた設定処理において、（ｂ７）第１の頂点は、他の第１の頂点との距離が第２の距離以上になるように特定されるようにしてもよい。このようにすれば、変形を行う部分が偏ることがないので、変形後の形状が滑らかになり、より高精度の形状データを生成することができるようになる。
【０１４８】
また、本形状データ生成方法が、（Ｅ）設定処理及び変形処理を所定回数実行することにより得られる変形後の形状のデータを出力する処理をさらに含むようにしてもよい。このようにすれば、変形後の形状が妥当であるか否かをユーザが判断できるようになる。
【０１４９】
また、上で述べた変形処理において、（ｃ１）ＴＰＳＷａｒｐ（Thin Plate Splines Warp）によって変形を行うようにしてもよい。ＴＰＳＷａｒｐを利用すれば、第１の頂点と第２の頂点とが重なるように変形を行うことができる。
【０１５０】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【図１】
2014016895.tif 000014
【図２】
2014016895.tif 000015
【図３】
2014016895.tif 000016
【図４】
2014016895.tif 000017
【図５】
2014016895.tif 000018
【図７】
2014016895.tif 000019
【図９】
2014016895.tif 000020
【図１０】
2014016895.tif 000021
【図１１】
2014016895.tif 000022
【図１３】
2014016895.tif 000023
【図１４】
2014016895.tif 000024
【図１５】
2014016895.tif 000025
【図１８】
2014016895.tif 000026
【図１９】
2014016895.tif 000027
【図２０】
2014016895.tif 000028
【図２１】
2014016895.tif 000029
【図２２】
2014016895.tif 000030
【図２３】
2014016895.tif 000031
【図２４】
2014016895.tif 000032
【図２５】
2014016895.tif 000033
【図２６】
2014016895.tif 000034
【図２７】
2014016895.tif 000035
【図３４】
2014016895.tif 000036
【図６】
2014016895.tif 000037
【図８】
2014016895.tif 000038
【図１２】
2014016895.tif 000039
【図１６】
2014016895.tif 000040
【図１７】
2014016895.tif 000041
【図２８】
2014016895.tif 000042
【図２９】
2014016895.tif 000043
【図３０】
2014016895.tif 000044
【図３１】
2014016895.tif 000045
【図３２】
2014016895.tif 000046
【図３３】
2014016895.tif 000047
【手続補正書】
【提出日】平成27年5月18日(2015.5.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、形状データ生成プログラム、形状データ生成方法及び形状データ生成装置に関する。
【背景技術】
【０００２】
医療分野においては、手術シミュレータや臓器シミュレータ等のシミュレータが、治療方針の決定、診断、術後予測、医薬品や医療機器の開発等に利用されている。このようなシミュレータによるシミュレーションにおいては、臓器の三次元形状データを使用するが、臓器の三次元形状データを生成するのは容易ではないことが多い。臓器は生体内部に存在しているため目視や直接計測を行うことができない上に、臓器の形状は元来複雑であるためである。
【０００３】
従来、臓器の標準的な形状を変形することにより目標となる形状を得る技術がある。ここで、目標となる三次元形状データを生成する方法としては、以下のような方法が知られている。具体的には、医師等がＣＴ（Computed Tomography）画像やＭＲＩ（Magnetic Resonance Imaging）画像等の断層画像を観察し、臓器の各部分の境界を定めて境界線を引いていく。そして、境界線が引かれた画像を積層することにより、臓器の三次元形状のデータを得る方法である。
【０００４】
しかし、ＭＲＩ等は、１枚当たりの撮像時間が長いため、十分な数の断層画像を得ることができない（すなわち、スライス間隔が大きくなる）ことがある。このような場合、実際の臓器には存在しないような形状が生じる等、精度が高い三次元形状データを得ることができない。
【０００５】
また、モデルフィッティング手法を用いて、所定の評価関数を最適化するように標準モデルを変形させ、対象物のモデルを生成する技術が存在する。しかし、この方法は、対象物を抽出するために利用する三次元画像の解像度が低いと、精度が高い三次元形状データを得ることができない。
【０００６】
また、メッシュのネットワークによって表面が形成される変形可能なモデルを利用する方法が存在する。この方法においては、ネットワーク点の位置を新たに計算する段階を繰り返すことにより、二次元画像から得られる三次元構造のセグメンテーションを得る。
【０００７】
また、パラメータとしてランドマークを利用する変形方法が存在する。この変形方法においては、変形したい部分にソースランドマークを配置し、変形後の位置にターゲットランドマークを配置し、変形を実行する。このような方法は、ソースランドマーク及びターゲットランドマークを適切に設定しなければ、不自然な形状が生じてしまうという問題がある。
【０００８】
さらに、上記のような従来技術を使用しても、十分な数の断層画像を得ることができない場合には三次元データの精度が低くなるという問題には対処できない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−９８０２８号公報
【特許文献２】特開２００７−１６４５９２号公報
【特許文献３】特開２００２−３２９２１６号公報
【特許文献４】特開２００４−２６５３３７号公報
【非特許文献】
【００１０】
【非特許文献１】"Principal Warps: Thin-Plate Splines and the Decomposition of Deformations", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, Fred L. Bookstein, VOL 11, NO.6, JUNE 1989
【非特許文献２】"Laplacian surface editing", SGP '04 Proceedings of the 2004 Eurographics/ACM SIGGRAPH symposium on Geometry processing, O. Sorkine, Tel Aviv University, D. Cohen-Or, Tel Aviv University, Y. Lipman, Tel Aviv University, M. Alexa, Darmstadt University of Technology, C. Roessl, Max-Planck Institut fuer Informatik, Saarbruecken, H.-P. Seidel, Max-Planck Institut fuer Informatik, Saarbruecken
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従って、１つの側面では、本発明の目的は、十分な数の断層画像を得られない場合において高精度の三次元形状データを生成するための技術を提供することである。
【課題を解決するための手段】
【００１２】
本発明に係る形状データ生成方法は、物体の断層画像から、変形目標の形状である目標形状のデータを生成する生成処理と、物体の標準的な形状であり且つ変形対象となる形状である対象形状の頂点のうち、当該頂点についての法線が目標形状のうち断層画像において物体と物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定すると共に、第１の頂点と交点との内分点を第２の頂点に設定する設定処理と、第１の頂点を第２の頂点に重ねるように対象形状を変形し、変形後の形状を対象形状に設定する変形処理と設定処理及び変形処理を所定回数実行する処理とを含む。
【発明の効果】
【００１３】
十分な数の断層画像を得られない場合において高精度の三次元形状データを生成できるようになる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施の形態に係る形状データ生成装置の機能ブロック図である。
【図２】図２は、セグメント画像の一例を示す図である。
【図３】図３は、目標形状の三次元データを生成する処理の処理フローである。
【図４】図４は、目標形状を包含するバウンディングボックスの一例を示す図である。
【図５】図５は、マッピング処理の処理フローを示す図である。
【図６】図６は、マッピング処理の結果について説明するための図である。
【図７】図７は、境界設定処理の処理フローを示す図である。
【図８】図８は、境界設定処理の結果について説明するための図である。
【図９】図９は、補間処理の処理フローを示す図である。
【図１０】図１０は、補間処理について説明するための図である。
【図１１】図１１は、補間処理の処理フローを示す図である。
【図１２】図１２は、補間処理の結果について説明するための図である。
【図１３】図１３は、三次元データを生成する処理の処理フローを示す図である。
【図１４】図１４は、１次変形処理の処理フローを示す図である。
【図１５】図１５は、ＴＰＳＷａｒｐについて説明するための図である。
【図１６】図１６は、１次変形処理を左心室に適用した例を示す図である。
【図１７】図１７は、１次変形処理を右心室に適用した例を示す図である。
【図１８】図１８は、目標形状にターゲットランドマークを配置した場合における問題を説明するための図である。
【図１９】図１９は、２次変形処理の概要を説明するための図である。
【図２０】図２０は、２次変形処理の処理フローを示す図である。
【図２１】図２１は、ランドマーク設定処理の処理フローを示す図である。
【図２２】図２２は、境界点探索処理の処理フローを示す図である。
【図２３】図２３は、頂点ｖの位置と輝度値との関係について説明するための図である。
【図２４】図２４は、頂点ｖの位置と輝度値との関係について説明するための図である。
【図２５】図２５は、探索点が変形前形状を貫通するケースの一例を示す図である。
【図２６】図２６は、探索点が変形前形状を貫通するケースの一例を示す図である。
【図２７】図２７は、境界点の探索方法を説明するための図である。
【図２８】図２８は、２次変形後形状及び目標形状を示す図である。
【図２９】図２９は、本実施の形態の処理を実行しない場合に得られる目標形状の三次元データを示す図である。
【図３０】図３０は、本実施の形態の処理を実行しない場合に得られる最終的な三次元データを示す図である。
【図３１】図３１は、本実施の形態の処理を実行した場合に得られる最終的な三次元データを示す図である。
【図３２】図３２は、二次変形処理後の形状と目標形状とを重ねて表示した図である。
【図３３】図３３は、本実施の形態の方法を使用しない場合に得られる最終的な三次元データと使用した場合に得られる最終的な三次元データとを示す図である。
【図３４】図３４は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１５】
本実施の形態に係る形状データ生成装置１の機能ブロック図を図１に示す。図１の例では、形状データ生成装置１は、標準形状データ格納部１０１と、１次変形処理部１０２と、画像データ格納部１０３と、１次変形データ格納部１０４と、第１ランドマークデータ格納部１０５と、設定部１０８及び境界点探索部１０９を含むランドマーク処理部１０６と、２次変形処理部１０７と、第２ランドマークデータ格納部１１０と、２次変形データ格納部１１１と、表示部１１２と、定義部１１３０、マッピング部１１３１、境界設定部１１３２及び補間部１１３３を含む生成部１１３と、目標形状データ格納部１１４と、変形後データ格納部１１５とを含む。
【００１６】
生成部１１３は、画像データ格納部１０３に格納されているセグメント画像データから、目標形状の三次元形状データを生成し、目標形状データ格納部１１４に格納する。具体的には、定義部１１３０は、目標形状を包含するバウンディングボックスを定義する処理を実行する。マッピング部１１３１は、セグメント画像を包含するバウンディングボックスにおけるボクセルと目標形状を包含するバウンディングボックスにおけるボクセルとの対応付けを実行する。境界設定部１１３２は、心臓と心臓でない部分との境界に対して所定の輝度値（本実施の形態においては「２」）を設定する処理を実行する。補間部１１３３は、目標形状を包含するバウンディングボックスにおけるボクセルのうち輝度値が設定されていないボクセルに対して輝度値を設定する処理を実行する。
【００１７】
１次変形処理部１０２は、標準形状データ格納部１０１に格納されているデータ及び目標形状データ格納部１１４に格納されているデータを用いて、後述する１次変形処理を行い、処理結果を１次変形データ格納部１０４及び第１ランドマークデータ格納部１０５に格納する。また、１次変形処理部１０２は、表示部１１２にランドマークを指定させるための画面の表示を指示する。ランドマーク処理部１０６における設定部１０８及び境界点探索部１０９は、目標形状データ格納部１１４に格納されているデータ、１次変形データ格納部１０４に格納されているデータ、変形後データ格納部１１５に格納されているデータ、第１ランドマークデータ格納部１０５に格納されているデータ及び第２ランドマークデータ格納部１１０に格納されているデータを用いて、後述するランドマーク設定処理及び境界点探索処理を実行し、処理結果を第２ランドマークデータ格納部１１０に格納する。２次変形処理部１０７は、目標形状データ格納部１１４に格納されているデータ、１次変形データ格納部１０４に格納されているデータ、変形後データ格納部１１５に格納されているデータ及び第２ランドマークデータ格納部１１０に格納されているデータを用いて処理を行い、処理結果を変形後データ格納部１１５又は２次変形データ格納部１１１に格納する。また、２次変形処理部１０７は、２次変形データ格納部１１１に格納されているデータの表示を表示部１１２に指示する。表示部１１２は、１次変形処理部１０２及び２次変形処理部１０７からの指示に応じて表示装置等にデータを表示する。
【００１８】
標準形状データ格納部１０１には、心臓の標準的な形状（以下、標準形状と呼ぶ）のデータが格納されている。具体的には、形状の頂点の情報及び頂点の接続情報を含むＳＴＬ（Standard Triangulated Language）データが格納されている。但し、データのフォーマットはＳＴＬデータのフォーマットに限られるわけではない。
【００１９】
図２に、画像データ格納部１０３に格納されているセグメント画像データの一例を示す。図２には、４枚のセグメント画像データが示されている。セグメント画像データは、特定の患者の心臓のＣＴ画像等に対して、境界の内部を所定の輝度値（以下、ラベル値と呼ぶ）で塗りつぶす処理を施すことにより得られる。セグメント画像データにおける各点には、三次元の座標が設定されている。本実施の形態においては、セグメント画像データを利用して、変形の目標となる形状である目標形状の三次元形状データを得るようにしている。
【００２０】
次に、図３乃至図３３を用いて、図１に示した形状データ生成装置１の動作について説明する。形状データ生成装置１は、標準形状を、目標形状に近付くように変形する処理を実行する。はじめに、図３乃至図１２を用いて、セグメント画像データから目標形状の三次元形状データを生成する処理について説明する。
【００２１】
生成部１１３における定義部１１３０は、画像データ格納部１０３に格納されているセグメント画像データを読み出す。そして、定義部１１３０は、目標形状を包含するバウンディングボックスを定義する（図３：ステップＳ１）。
【００２２】
セグメント画像のスライス間隔が大きい場合、目標形状を包含するバウンディングボックスにおけるボクセルはｚ軸方向に長くなってしまう。ボクセルとは３次元画像データにおいて、２次元画像データの矩形画像の要素であるピクセル（pixel）に対応する格子画像の要素である。そこで、目標形状を包含するバウンディングボックスにおけるボクセルを立方体にするため、以下のようにする。
【００２３】
（１）目標形状を包含するバウンディングボックスの下限の座標＝セグメント画像を包含するバウンディングボックスの下限の座標
（２）目標形状を包含するバウンディングボックスの上限の座標＝セグメント画像を包含するバウンディングボックスの上限の座標
（３）目標形状を包含するバウンディングボックスのｘ軸方向における格子点の数＝１＋（バウンディングボックスの上限のｘ座標−バウンディングボックスの下限のｘ座標）／セグメント画像を包含するバウンディングボックスのｘ軸方向又はｙ軸方向のボクセルサイズ（なお、ｙ軸方向及びｚ軸方向の格子点の数も同様に求めることができる。）
但し、このように設定すると、上限の位置がずれることがあるため、以下のように上限を設定し直す。
（４）目標形状を包含するバウンディングボックスの上限のｘ座標＝セグメント画像を包含するバウンディングボックスの下限のｘ座標＋セグメント画像を包含するバウンディングボックスのｘ軸方向又はｙ軸方向のボクセルサイズ×（ｘ軸方向における格子点の数−１）（なお、ｙ座標及びｚ座標も同様に求めることができる。）
【００２４】
ここで、セグメント画像を包含するバウンディングボックスは、下限を示す列ベクトルＢｍｉｎ＝（ｘｍｉｎ，ｙｍｉｎ，ｚｍｉｎ）Ｔ及び上限を示す列ベクトルＢｍａｘ＝（ｘｍａｘ，ｙｍａｘ，ｚｍａｘ）Ｔにより定まるとする。ｘｍｉｎはｘ座標の最小値であり、ｘｍａｘはｘ座標の最大値である。ｙｍｉｎはｙ座標の最小値であり、ｙｍａｘはｙ座標の最大値である。ｚｍｉｎはｚ座標の最小値であり、ｚｍａｘはｚ座標の最大値である。
【００２５】
ステップＳ１の処理により、図４に示すようなバウンディングボックスが定義される。バウンディングボックスの範囲は、下限の座標及び上限の座標によって定まる。バウンディングボックスにおけるボクセルの各々は、ｘ軸方向の長さがｖ’ｘ、ｙ軸方向の長さがｖ’ｙ、ｚ軸方向の長さがｖ’ｚである。但し、ｖ’ｘ＝ｖ’ｙ＝ｖ’ｚである。各軸方向における格子点の数は、その軸方向におけるボクセルの数＋１である。なお、定義されたバウンディングボックスのデータは目標形状データ格納部１１４に格納される。なお、バウンディングボックスにおける各ボクセルの輝度値は、初期値として０が設定されているとする。
【００２６】
図３の説明に戻り、マッピング部１１３１は、マッピング処理を実行する（ステップＳ３）。マッピング処理については、図５及び図６を用いて説明する。
【００２７】
マッピング部１１３１は、セグメント画像における位置ｕ（ｘ，ｙ，ｚ）のｚ座標をｚ＝０と設定する（図５：ステップＳ１１）。ここで、ｕ∈［０，ｎｘ］×［０，ｎｙ］×［０，ｎｚ］⊂Ｉ３とする。ｎｘはセグメント画像を包含するバウンディングボックスにおけるｘ軸方向のボクセル数であり、ｎｙはｙ軸方向のボクセル数であり、ｎｚはｚ軸方向のボクセル数である。Ｉ（ｘ，ｙ，ｚ）は、セグメント画像を包含するバウンディングボックスにおけるｕ（ｘ，ｙ，ｚ）の輝度値とする。
【００２８】
また、以下では、セグメント画像を包含するバウンディングボックスにおけるｘ軸方向のボクセル数をｎｘとし、ｙ軸方向のボクセル数をｎｙとし、ｚ軸方向のボクセル数をｎｚとするとｚ方向の格子点の数はｎｚ＋１となる。ボクセルのサイズは、ｘ軸方向がｖｘ、ｙ軸方向がｖｙ、ｚ軸方向がｖｚとする。
【００２９】
図５の説明に戻り、マッピング部１１３１は、ｕのｙ座標をｙ＝０と設定する（ステップＳ１３）。
【００３０】
マッピング部１１３１は、ｕのｘ座標をｘ＝０と設定する（ステップＳ１５）。
【００３１】
マッピング部１１３１は、Ｉ（ｕ）＝＝ラベル値であるか判断する（ステップＳ１７）。すなわち、ｕが境界の内部（すなわち、心臓の内部）にあたる部分のボクセルであるか判断する。Ｉ（ｕ）＝＝ラベル値ではない場合（ステップＳ１７：Ｎｏルート）、ステップＳ２３の処理に移行する。Ｉ（ｕ）＝＝ラベル値である場合（ステップＳ１７：Ｙｅｓルート）、マッピング部１１３１は、目標形状を包含するバウンディングボックスにおける位置ｕ’をｕ’＝Ｍ’−１・（Ｍ・ｕ）と設定する（ステップＳ１９）。また、マッピング部１１３１は、位置ｕ’における輝度値Ｉ’（ｕ’）をＩ’（ｕ’）＝１と設定する（ステップＳ２１）。ここで、ｕ’∈Ｉ３である。また、Ｍ及びＭ’を以下のように定める。
【００３２】
【数１】
2014016895.tif 000048
【００３３】
【数２】
2014016895.tif 000049
【００３４】
なお、ステップＳ２１の処理によって、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値が０から１に更新される。
【００３５】
マッピング部１１３１は、ｘ≧ｎｘであるか判断する（ステップＳ２３）。ｘ≧ｎｘではない場合（ステップＳ２３：Ｎｏルート）、マッピング部１１３１は、ｕ（ｘ，ｙ，ｚ）におけるｘ座標を１インクリメントし（ステップＳ２５）、ステップＳ１７の処理に戻る。
【００３６】
ｘ≧ｎｘである場合（ステップＳ２３：Ｙｅｓルート）、マッピング部１１３１は、ｙ≧ｎｙであるか判断する（ステップＳ２７）。ｙ≧ｎｙではない場合（ステップＳ２７：Ｎｏルート）、マッピング部１１３１は、ｕ（ｘ，ｙ，ｚ）におけるｙ座標を１インクリメントし（ステップＳ２９）、ステップＳ１５の処理に戻る。
【００３７】
ｙ≧ｎｙである場合（ステップＳ２７：Ｙｅｓルート）、マッピング部１１３１は、ｚ≧ｎｚであるか判断する（ステップＳ３１）。ｚ≧ｎｚではない場合（ステップＳ３１：Ｎｏルート）、マッピング部１１３１は、ｕ（ｘ，ｙ，ｚ）におけるｚ座標を１インクリメントし（ステップＳ３３）、ステップＳ１３の処理に戻る。一方、ｚ≧ｎｚである場合（ステップＳ３１：Ｙｅｓルート）、元の処理に戻る。
【００３８】
以上のような処理を実行すると、目標形状において心臓内部及び心臓と心臓ではない部分との境界の輝度値が１になり、心臓ではない部分の輝度値が０になる。図６の上段は、この段階における目標形状の三次元形状データであり、図６の下段は、生成された三次元形状データの一部をｚ軸方向から観察した図である。この段階においては、ｚ軸方向には、セグメント画像データが存在する部分にしか輝度値が付与されていない。
【００３９】
図３の説明に戻り、境界設定部１１３２は、境界設定処理を実行する（ステップＳ５）。境界設定処理については、図７及び図８を用いて説明する。
【００４０】
まず、境界設定部１１３２は、目標形状上の位置ｕ’における輝度値Ｉ’（ｘ，ｙ，ｚ）のｚ座標をｚ＝０と設定する（図７：ステップＳ４１）。
【００４１】
境界設定部１１３２は、Ｉ’のｙ座標をｙ＝０と設定する（ステップＳ４３）。
【００４２】
境界設定部１１３２は、Ｉ’のｘ座標をｘ＝０と設定する（ステップＳ４５）。
【００４３】
境界設定部１１３２は、｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ−１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ＋１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ，ｙ−１，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ，ｙ＋１，ｚ）｜＞０を満たすか判断する（ステップＳ４７）。ステップＳ４７においては、ｕ’（ｘ，ｙ，ｚ）における輝度値とその周りの点における輝度値との差があるか否かを判断している。
【００４４】
｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ−１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ＋１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ，ｙ−１，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ，ｙ＋１，ｚ）｜＞０を満たさない場合（ステップＳ４７：Ｎｏルート）、ｕ’は心臓と心臓ではない部分との境界ではないため、ステップＳ５３の処理に移行する。
【００４５】
｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ−１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ＋１，ｙ，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ，ｙ−１，ｚ）｜＋｜Ｉ’（ｘ，ｙ，ｚ）−Ｉ’（ｘ，ｙ＋１，ｚ）｜＞０を満たす場合（ステップＳ４７：Ｙｅｓルート）、境界設定部１１３２は、Ｉ’（ｘ，ｙ，ｚ）＝＝１であるか判断する（ステップＳ４９）。
【００４６】
Ｉ’（ｘ，ｙ，ｚ）＝＝１ではない場合（ステップＳ４９：Ｎｏルート）、ｕ’は心臓と心臓ではない部分との境界ではないので、ステップＳ５３の処理に移行する。一方、Ｉ’（ｘ，ｙ，ｚ）＝＝１である場合（ステップＳ４９：Ｙｅｓルート）、ｕ’は心臓と心臓ではない部分との境界であるので、境界設定部１１３２は、Ｉ’（ｘ，ｙ，ｚ）＝２と設定する（ステップＳ５１）。ステップＳ５１の処理によって、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値が１から２に更新される。
【００４７】
境界設定部１１３２は、ｘ≧ｎｘであるか判断する（ステップＳ５３）。ｘ≧ｎｘではない場合（ステップＳ５３：Ｎｏルート）、境界設定部１１３２は、ｕ’（ｘ，ｙ，ｚ）におけるｘ座標を１インクリメントし（ステップＳ５５）、ステップＳ４７の処理に戻る。
【００４８】
ｘ≧ｎｘである場合（ステップＳ５３：Ｙｅｓルート）、境界設定部１１３２は、ｙ≧ｎｙであるか判断する（ステップＳ５７）。ｙ≧ｎｙではない場合（ステップＳ５７：Ｎｏルート）、境界設定部１１３２は、ｕ’（ｘ，ｙ，ｚ）におけるｙ座標を１インクリメントし（ステップＳ５９）、ステップＳ４５の処理に戻る。
【００４９】
ｙ≧ｎｙである場合（ステップＳ５７：Ｙｅｓルート）、境界設定部１１３２は、ｚ≧ｎｚであるか判断する（ステップＳ６１）。ｚ≧ｎｚではない場合（ステップＳ６１：Ｎｏルート）、境界設定部１１３２は、ｕ’（ｘ，ｙ，ｚ）におけるｚ座標を１インクリメントし（ステップＳ６３）、ステップＳ４３の処理に戻る。一方、ｚ≧ｎｚである場合（ステップＳ６１：Ｙｅｓルート）、元の処理に戻る。
【００５０】
以上のような処理を実行すると、目標形状において心臓内部の輝度値が１になり、心臓と心臓ではない部分との境界の輝度値が２になり、心臓ではない部分は輝度値が０になる。図８の上段は、この段階における目標形状の三次元形状データであり、図８の下段は、生成された三次元形状データの一部をｚ軸方向から観察した図である。なお、境界部分をわかりやすくするため、図８の上段には境界部分しか示していない。また、この段階においては、ｚ軸方向には、セグメント画像データが存在する部分にしか輝度値が付与されていない。
【００５１】
図３の説明に戻り、補間部１１３３は、補間処理を実行する（ステップＳ７）。補間処理については、図９乃至図１２を用いて説明する。
【００５２】
まず、補間部１１３３は、セグメント画像の枚数を計数するための変数ｊをｊ＝１と設定する（図９：ステップＳ７１）。
【００５３】
補間部１１３３は、Ｌｉｓｔ＿ｉ’［ｊ］＝Ｌｉｓｔ＿ｉ［ｊ］（ｖｚ／ｖ’ｚ）と設定する（ステップＳ７３）。ここで、Ｌｉｓｔ＿ｉ［ｊ］はｊ番目のセグメント画像データのｚ座標である。よって、Ｌｉｓｔ＿ｉ’［ｊ］は、ｊ番目のセグメント画像データのｚ座標に対応する、目標形状を包含するバウンディングボックスにおけるｚ座標である。図１０の上段及び中段に示すように、ｚ座標がＬｉｓｔ＿ｉ［ｊ＋１］であるセグメント画像データは、ｚ座標がＬｉｓｔ＿ｉ’［ｊ＋１］である目標形状データに対応付けられる。また、ｚ座標がＬｉｓｔ＿ｉ［ｊ］であるセグメント画像データは、ｚ座標がＬｉｓｔ＿ｉ’［ｊ］である目標形状のデータに対応付けられる。
【００５４】
補間部１１３３は、ｊ≧ｎ＿Ｌｉｓｔであるか判断する（ステップＳ７５）。ｎ＿Ｌｉｓｔは、実際にユーザによって作成されたセグメント画像の枚数である。ｊ≧ｎ＿Ｌｉｓｔではない場合（ステップＳ７５：Ｎｏルート）、次のセグメント画像データについて処理するため、補間部１１３３は、ｊ＝ｊ＋１と設定し（ステップＳ７７）、ステップＳ７３の処理に戻る。
【００５５】
一方、ｊ≧ｎ＿Ｌｉｓｔである場合（ステップＳ７５：Ｙｅｓルート）、補間部１１３３は、セグメント画像を計数するための変数ｊをｊ＝１と設定する（ステップＳ７９）。
【００５６】
補間部１１３３は、ｎ＝Ｌｉｓｔ＿ｉ’［ｊ＋１］−Ｌｉｓｔ＿ｉ’［ｊ］と設定する（ステップＳ８１）。ｎは、ｚ座標Ｌｉｓｔ＿ｉ’［ｊ＋１］とｚ座標Ｌｉｓｔ＿ｉ’［ｊ］との間において、輝度値が設定されていないｚ座標の数である。処理は端子Ａを介して図１１のステップＳ８３に移行する。
【００５７】
図１１の説明に移行し、補間部１１３３は、ｚ座標の数を計数するための変数ｋをｋ＝１と設定する（ステップＳ８３）。
【００５８】
補間部１１３３は、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）＞０であるか判断する（ステップＳ８５）。Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）＞０である場合（ステップＳ８５：Ｙｅｓルート）、補間部１１３３は、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝１と設定する（ステップＳ８７）。ステップＳ８７の処理によって、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値が０から１に更新される。一方、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）＞０ではない場合（ステップＳ８５：Ｎｏルート）、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝０と設定する（ステップＳ８９）。ステップＳ８９の処理においては、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値を０のままとする。
【００５９】
補間部１１３３は、ｋ＞（ｎ／２）であるか判断する（ステップＳ９１）。ｋ＞（ｎ／２）ではない場合（ステップＳ９１：Ｎｏルート）、補間部１１３３は、ｋ＝ｋ＋１と設定し（ステップＳ９３）、ステップＳ８５の処理に戻る。
【００６０】
ステップＳ８３乃至Ｓ９３の処理においては、ｚ座標Ｌｉｓｔ＿ｉ’［ｊ］＋ｋが、ｚ座標Ｌｉｓｔ＿ｉ’［ｊ＋１］よりもｚ座標Ｌｉｓｔ＿ｉ’［ｊ］に近いため、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）と同じ輝度値を設定している。例えば図１０の下段に示すように、Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ＝ｚＡである場合には、ｚＡはｚ座標Ｌｉｓｔ＿ｉ’［ｊ＋１］よりもｚ座標Ｌｉｓｔ＿ｉ’［ｊ］に近いため、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）とする。但し、たとえＩ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）＝２であったとしても、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝２ではなくＩ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝１と設定する。ユーザによって設定された境界に対してのみ輝度値２を付与するためである。
【００６１】
図１１の説明に戻り、ｋ＞（ｎ／２）である場合（ステップＳ９１：Ｙｅｓルート）、補間部１１３３は、ｚ座標の数を計数するための変数ｋをｋ＝（ｎ／２）＋１と設定する（ステップＳ９５）。
【００６２】
補間部１１３３は、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ＋１］）＞０であるか判断する（ステップＳ９７）。Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ＋１］）＞０である場合（ステップＳ９７：Ｙｅｓルート）、補間部１１３３は、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝１と設定する（ステップＳ９９）。ステップＳ９９の処理によって、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値が０から１に更新される。一方、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］）＞０ではない場合（ステップＳ９７：Ｎｏルート）、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝０と設定する（ステップＳ１０１）。ステップＳ１０１の処理においては、目標形状データ格納部１１４に格納されている位置ｕ’の輝度値を０のままとする。
【００６３】
補間部１１３３は、ｋ＞ｎであるか判断する（ステップＳ１０３）。ｋ＞ｎではない場合（ステップＳ１０３：Ｎｏルート）、補間部１１３３は、ｋ＝ｋ＋１と設定し（ステップＳ１０５）、ステップＳ９７の処理に戻る。
【００６４】
ステップＳ９５乃至Ｓ１０５の処理においては、ｚ座標Ｌｉｓｔ＿ｉ’［ｊ］＋ｋが、ｚ座標Ｌｉｓｔ＿ｉ’［ｊ］よりもｚ座標Ｌｉｓｔ＿ｉ’［ｊ＋１］に近いため、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ＋１］）と同じ輝度値を設定している。例えば図１０の下段に示すように、Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ＝ｚＢである場合には、ｚＢはｚ座標Ｌｉｓｔ＿ｉ’［ｊ］よりもｚ座標Ｌｉｓｔ＿ｉ’［ｊ＋１］に近いため、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ＋１］）とする。但し、たとえＩ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ＋１］）＝２であったとしても、Ｉ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝２ではなくＩ’（ｘ，ｙ，Ｌｉｓｔ＿ｉ’［ｊ］＋ｋ）＝１と設定する。ユーザによって設定された境界に対してのみ輝度値２を付与するためである。
【００６５】
図１１の説明に戻り、ｋ＞ｎである場合（ステップＳ１０３：Ｙｅｓルート）、補間部１１３３は、ｊ＞ｎ＿Ｌｉｓｔ−１であるか判断する（ステップＳ１０７）。ｊ＞ｎ＿Ｌｉｓｔ−１ではない場合（ステップＳ１０７：Ｎｏルート）、輝度値が未設定の格子点が存在するので、補間部１１３３は、ｊ＝ｊ＋１と設定する（ステップＳ１０９）。処理は端子Ｂを介して図９のステップＳ８１に戻る。一方、ｊ＞ｎ＿Ｌｉｓｔ−１である場合（ステップＳ１０７：Ｙｅｓルート）、元の処理に戻る。
【００６６】
図３の説明に戻り、補間処理（ステップＳ７）が終了すると、処理を終了する。
【００６７】
以上のように、目標形状において心臓と心臓でない部分との境界を識別できるようにしておけば（すなわち、輝度値２を設定しておけば）、目標形状の境界と標準形状の境界とが重なるように変形することができるようになる。これにより、精度が高い三次元形状データを生成できるようになる。なお、ここまでの処理によって、例えば図１２に示すような三次元形状データが生成される。この三次元形状データにおいては、ボクセルの形状が立方体になっている。
【００６８】
次に、図１３乃至図３３を用いて、標準形状が目標形状に近付くように変形をする処理について説明する。
【００６９】
まず、１次変形処理部１０２は、１次変形処理を実行する（図１３：ステップＳ１１１）。１次変形処理については、図１４乃至図１７を用いて説明する。なお、１次変形処理においては、標準形状と目標形状との大まかな位置合わせが行われる。
【００７０】
まず、１次変形処理部１０２は、標準形状データ格納部１０１から標準形状のデータを読み出すと共に、目標形状データ格納部１１４から目標形状のデータを読み出す。そして、１次変形処理部１０２は、標準形状のデータ及び目標形状データを含むランドマーク設定画面の表示を表示部１１２に指示する。表示部１１２は、１次変形処理部１０２からの指示に応じ、ランドマーク設定画面を表示装置に表示する（図１４：ステップＳ１１２）。
【００７１】
ユーザは、表示装置に表示されたランドマーク設定画面を見て、標準形状と目標形状との大まかな位置合わせを行う。具体的には、（１）標準形状における所定の部分にソースランドマークを設定する。（２）目標形状における、ソースランドマークを配置した位置に対応する部分にターゲットランドマークを設定する。なお、所定の部分とは、心臓における特徴的な部分であり、例えば４つの弁輪部、心尖部、右心室流体面の底部、心筋境界（例えば右心室と左心室との境界）、４本の肺静脈の端面、上大静脈及び下大静脈である。
【００７２】
そして、１次変形処理部１０２は、ソースランドマーク及びターゲットランドマークの設定を受け付け、ソースランドマーク及びターゲットランドマークのデータ（例えば三次元座標）を第１ランドマークデータ格納部１０５に格納する（ステップＳ１１３）。
【００７３】
そして、１次変形処理部１０２は、第１ランドマークデータ格納部１０５に格納されているランドマークのデータに従い、後述するＴＰＳＷａｒｐ（Thin Plate Spline Warp）等の手法により標準形状を変形する処理を実行する（ステップＳ１１４）。そして、１次変形処理部１０２は、処理結果である一次変形後形状のデータを１次変形データ格納部１０４に格納する。そして元の処理に戻る。
【００７４】
ここで、ＴＰＳＷａｒｐについて説明する。図１５に示すように、ＴＰＳＷａｒｐにおいては、ソースランドマーク及び当該ソースランドマークに対応するターゲットランドマークが与えられると、ソースランドマークがターゲットランドマークに重なるように変形を行う。なお、ＴＰＳＷａｒｐの詳細については、例えば「Fred L. Bookstein,"Principal Warps: Thin-Plate Splines and the Decomposition of Deformations",IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE. VOL. 11 NO. 6, PP. 567-585, JUNE 1989」を参照のこと。
【００７５】
なお、１次変形データ格納部１０４に格納されているデータのフォーマットは、標準形状データ格納部１０１に格納されているデータのフォーマットと同様である。また、一次変形処理によって移動したソースランドマーク（すなわち、１次変形処理におけるターゲットランドマークと重なる点）は、２次変形処理においては固定点として取り扱われる。すなわち、一次変形処理によって移動したソースランドマークは、２次変形処理においては移動させず、位置をずらさないようにする。
【００７６】
図１６に、上で述べた１次変形処理を左心室に適用した例を示す。上段左の図はソースランドマーク（丸印）が付された標準形状であり、上段右の図はターゲットランドマーク（丸印）が付された目標形状である。この標準形状及び目標形状を用いてＴＰＳＷａｒｐを実行した結果である１次変形後形状が、下段左側の図である。下段右側の図は、目標形状を異なる視点から観察した図である。
【００７７】
また、図１７に、上で述べた１次変形処理を右心室に適用した例を示す。上段左の図はソースランドマーク（丸印）が付された標準形状であり、上段右の図はターゲットランドマーク（丸印）が付された目標形状である。この標準形状及び目標形状を用いてＴＰＳＷａｒｐを実行した結果である１次変形後形状を、下段の図における網線６０で示している。下段の図においては、目標形状と網線で示された１次変形後形状とを重ねて示し、比較を行いやすいようにしている。
【００７８】
以上のように、ユーザから受け付けたランドマークの設定に従い大まかな位置合わせを予め行うことにより、後に行う詳細な変形をより効果的に行うことができるようになる。
【００７９】
図１３の説明に戻り、２次変形処理部１０７は、２次変形処理を実行する（ステップＳ１１５）。２次変形処理については、図１８乃至図２７を用いて説明する。
【００８０】
まず、２次変形処理の概要について説明する。ＴＰＳＷａｒｐによる変形処理を行う場合、一般的に心臓が丸みを帯びた形状であることを考慮すれば、ソースランドマークの法線上にターゲットランドマークを設定することが有効であると考えられる。例えば図１８の上段に示すように、ソースランドマークを２次変形前形状に配置し、ソースランドマークの法線と目標形状との交点にターゲットランドマークを配置し、ＴＰＳＷａｒｐによる変形処理を行うことが考えられる。しかしながら、図１８の下段に示すように、法線が交差するような状況が発生すると、生成された形状には、目標形状とは異なる不自然な形状が生じてしまうことがある。
【００８１】
そこで、本実施の形態における２次変形処理においては、図１９に示すように、２次変形前の形状に配置されたソースランドマークと上記の交点とを結ぶ線分を内分する点に、ターゲットランドマークを配置し、ＴＰＳＷａｒｐによる変形処理を行う。さらに、このような変形処理を繰り返し行うことにより、徐々に目標形状に近付けていく。これにより、生成された形状に不自然な形状が生じにくくなり、また法線の方向が本来目標とすべき部分に向きやすくなる。
【００８２】
図２０乃至図２７を用いて、２次変形処理の詳細を説明する。まず、２次変形処理部１０７は、変形回数をカウントするための変数ｔの初期値をｔ＝０と設定する（図２０：ステップＳ１２１）。次に、２次変形処理部１０７は、変数ｔをｔ＝ｔ＋１と増分することにより変形回数をカウントするとともに、また変数ｍの初期値をｍ＝０と設定する（ステップＳ１２３）。ｍは、処理した頂点数をカウントするための変数である。
【００８３】
そして、２次変形処理部１０７は、変数ｍをｍ＝ｍ＋１と増分し（ステップＳ１２５）、ランドマーク処理部１０６にランドマーク設定処理の実行を指示する。すると、ランドマーク処理部１０６は、ランドマーク設定処理を実行する（ステップＳ１２７）。ランドマーク設定処理については、図２１乃至図２７を用いて説明する。
【００８４】
まず、ランドマーク処理部１０６における設定部１０８は、変形後データ格納部１１５に格納されているデータ又は１次変形データ格納部１０４に格納されているデータから頂点ｖをランダムに１つ特定する（図２１：ステップＳ１４１）。ステップＳ１４１においては、変形後データ格納部１１５にデータが格納されている場合（すなわち、２次変形処理において変形処理が少なくとも１度実行されている場合）には、変形後データ格納部１１５から頂点ｖを１つ特定する。変形後データ格納部１１５にデータが格納されていない場合には、１次変形データ格納部１０４に格納されているデータから頂点ｖを１つ特定する。
【００８５】
設定部１０８は、１次変形処理によって移動したソースランドマーク（すなわち固定点）のデータ及び第２ランドマークデータ格納部１１０に格納されているソースランドマークのデータを用いて、頂点ｖと各ソースランドマークとのユークリッド距離をそれぞれ算出する。なお、第２ランドマークデータ格納部１１０にソースランドマーク及びターゲットランドマークのデータが格納されていない場合もある。このような場合には、１次変形処理によって移動したソースランドマークのデータのみを用いる。そして、設定部１０８は、算出された頂点ｖと各ソースランドマークとのユークリッド距離のうち最小のものが閾値Ｄ以下であるか判断する（ステップＳ１４３）。ステップＳ１４３は、頂点ｖを２次変形処理前の形状に均等に配置するために行われる処理である。ステップＳ１４３においては、以下の式を満たすか否かを判断する。
【００８６】
【数３】
2014016895.tif 000050
【００８７】
ここで、ｄ（ｖ、ｖi）は、点ｖと点ｖiとの間のユークリッド距離を表す。ｖiは、固定点（すなわち１次変形処理によって移動したソースランドマーク）又はソースランドマーク（第２ランドマークデータ格納部１１０にデータが格納されている頂点）である。
【００８８】
頂点ｖと各ソースランドマークとのユークリッド距離のうち最小のものが閾値Ｄ以下であると判断された場合（ステップＳ１４３：Ｙｅｓルート）、元の処理に戻る。一方、頂点ｖと各ソースランドマークとのユークリッド距離のうち最小のものが閾値Ｄより大きいと判断された場合（ステップＳ１４３：Ｎｏルート）、設定部１０８は、境界点探索部１０９に境界点探索処理の実行を指示する。すると、境界点探索部１０９は、境界点探索処理を実行する（ステップＳ１４５）。境界点探索処理については、図２２乃至図２７を用いて説明する。
【００８９】
まず、境界点探索部１０９は、単位法線ベクトルｎ（ｖ）を算出する（図２２：ステップＳ１６１）。ここで、ｎ（ｖ）は、頂点ｖ（∈Ｈ）での面Ｈに対する単位法線ベクトルである。単位法線ベクトルとは、長さが１の法線ベクトルをいう。なお、Ｈ（⊂Ｖ）は１次変形データ格納部１０４に格納されているデータ又は変形後データ格納部１１５に格納されているデータにより特定される形状面であり、Ｖ（⊂Ｒ3）は目標形状の三次元形状データにより特定されるボクセル空間である。また、Ｒ3は、実数空間を表す。
【００９０】
境界点探索部１０９は、頂点ｖが境界上に有るか判断する（ステップＳ１６３）。ステップＳ１６３においては、以下の式を満たすか否かを判断する。
【００９１】
【数４】
2014016895.tif 000051
【００９２】
ここで、ボクセル空間Ｖから実数空間Ｒへの写像ｆ：Ｖ→Ｒは以下のように定義される。この写像ｆにより、ボクセル空間Ｖに含まれる目標形状の三次元形状データの要素が実数空間Ｒに対応付けられる。
【００９３】
【数５】
2014016895.tif 000052
【００９４】
ここで、Ｉは点ｐ（∈Ｖ）を含むボクセルの輝度値である。
【００９５】
頂点ｖが境界上に有る場合（ステップＳ１６３：Ｙｅｓルート）、処理は端子Ｃを介して図２１のステップＳ１５０に移行する。そして、設定部１０８は、頂点ｖをターゲットランドマークに設定する（ステップＳ１５０）。また、設定部１０８は、頂点ｖをソースランドマークに設定する（ステップＳ１５１）。さらに、設定部１０８は、設定されたソースランドマークとターゲットランドマークのデータとのペアを第２ランドマークデータ格納部１１０に追加する。
【００９６】
このようにすれば、頂点ｖが境界部分に有る場合には、頂点ｖは移動しなくなる。これによって、心臓と心臓でない部分との境界を高精度で再現できるようになる。
【００９７】
一方、頂点ｖが境界上に無い場合（ステップＳ１６３：Ｎｏルート）、頂点ｖが目標形状の内側に存在するか判断する（ステップＳ１６５）。ステップＳ１６５においては、以下の式を満たすか否かを判断する。
【００９８】
【数６】
2014016895.tif 000053
【００９９】
図２３及び図２４を用いて、ステップＳ１６５の処理について説明する。図２３に示すように、頂点ｖに対応するボクセル空間の輝度値ｆ（ｖ）が１である場合には、頂点ｖが目標形状の内側に存在する。そこで、後述するステップＳ１７７の処理において係数ｋを１ずつインクリメントするように設定することで、目標形状の内から外へ向かう方向に境界点を探索する。一方、図２４に示すように、頂点ｖに対応するボクセル空間の輝度値ｆ（ｖ）が０になる場合には、頂点ｖが目標形状の外側に存在する。そこで、後述するステップＳ１９１の処理において係数ｋを１ずつデクリメントするように設定することで、目標形状の外から内へ向かう方向に境界点を探索する。
【０１００】
図２２の説明に戻り、頂点ｖが目標形状の内側に存在すると判断された場合（ステップＳ１６５：Ｙｅｓルート）、境界点探索部１０９は、係数ｋをｋ＝０と設定する（ステップＳ１６７）。また、境界点探索部１０９は、境界点であるかどうかを判定する点（以下、探索点と呼ぶ）を以下のように設定する（ステップＳ１６９）。
【０１０１】
【数７】
2014016895.tif 000054
【０１０２】
そして、境界点探索部１０９は、目標形状の三次元形状データにより特定されるボクセル空間内に探索点が存在するか判断する（ステップＳ１７１）。ステップＳ１７１においては、以下の式を満たすか判断する。
【０１０３】
【数８】
2014016895.tif 000055
【０１０４】
目標形状の三次元形状データにより特定されるボクセル空間内に探索点が存在しないと判断された場合（ステップＳ１７１：Ｎｏルート）、元の処理に戻る。探索点がボクセル空間外に達したため、頂点ｖについての法線と目標形状とが交点を有さないと判断できるためである。
【０１０５】
一方、目標形状の三次元形状データにより特定されるボクセル空間内に探索点が存在すると判断された場合（ステップＳ１７１：Ｙｅｓルート）、境界点探索部１０９は、探索点が変形前形状を貫通したか判断する（ステップＳ１７３）。ステップＳ１７３においては、以下の式を満たすか判断する。
【０１０６】
【数９】
2014016895.tif 000056
【０１０７】
ここで、写像ｇ：Ｖ→Ｒ3は以下のように定義される。この写像ｇにより、ボクセル空間Ｖに含まれるセグメント画像データの要素が実数空間Ｒ3に対応付けられる。
【０１０８】
【数１０】
2014016895.tif 000057
【０１０９】
ここで、写像ｇの制限ｇ|Ｈはｎ(ｖ)になることに注意。
【０１１０】
図２５及び図２６を用いて、ステップＳ１７３の処理について説明する。探索点が境界点に達する前に変形前形状を貫通するような場合には、境界点の探索を適切に行えていない可能性がある。探索点が境界点に達する前に変形前形状を貫通するような場合とは、例えば、図２５に示したような場合と、図２６に示したような場合とが考えられる。すなわち、目標形状に対する変形前形状の変形の度合いにより探索方向に境界点が存在しない場合が考えられる。いずれのケースにおいても、境界点を検出できないか、又は適切でない位置に境界点を検出してしまう可能性がある。そこで、ステップＳ１７３においては、頂点ｖについての法線ベクトルと探索点についての法線ベクトルとの内積を算出し、内積が０より小さい（すなわち、法線ベクトルのなす角が９０度より大きい）場合に、探索点が変形前形状を貫通したと判断している。
【０１１１】
図２２の説明に戻り、探索点が変形前形状を貫通したと判断された場合（ステップＳ１７３：Ｙｅｓルート）、適切な境界点を検出できないので、元の処理に戻る。一方、探索点が変形前形状を貫通していないと判断された場合（ステップＳ１７３：Ｎｏルート）、境界点探索部１０９は、探索点に対応するボクセル空間の輝度値が２であるか判断する（ステップＳ１７５）。
【０１１２】
探索点の輝度値が２ではない場合（ステップＳ１７５：Ｎｏルート）、境界点探索部１０９は、係数ｋをｋ＝ｋ＋１とインクリメントし（ステップＳ１７７）、ステップＳ１６９の処理に戻る。
【０１１３】
このようにすると、図２７に示すように、頂点ｖから法線方向へ１ボクセル分ずつ探索点を移動させつつ、探索点が境界の部分に該当するか否かを判定することができる。
【０１１４】
一方、輝度値が２である場合（ステップＳ１７５：Ｙｅｓルート）、境界点探索部１０９は、探索点を境界点に設定する（ステップＳ１７９）。ステップＳ１７９においては、探索点のデータ（例えばｋの値）をメインメモリ等の記憶装置に格納しておく。そして元の処理に戻る。
【０１１５】
これに対し、ステップＳ１６５において、頂点ｖが目標形状の外側に存在すると判断された場合（ステップＳ１６５：Ｎｏルート）に行われる処理について説明する。この場合の処理は、上で述べた処理とは探索方向が異なるだけであるから、基本的な処理の内容は上で述べたとおりである。すなわち、ステップＳ１８１の処理はステップＳ１６７の処理と同様であり、ステップＳ１８３の処理はステップＳ１６９の処理と同様であり、ステップＳ１８５の処理はステップＳ１７１の処理と同様であり、ステップＳ１８７の処理はステップＳ１７３の処理と同様であり、ステップＳ１８９の処理はステップＳ１７５の処理と同様である。従って、ステップＳ１８１乃至Ｓ１８９の処理の詳細な説明は省略する。
【０１１６】
そして、ステップＳ１９１において、境界点探索部１０９は、係数ｋをｋ＝ｋ−１とデクリメントし（ステップＳ１９１）、ステップＳ１８３の処理に戻る。これにより、探索点が、目標形状の外側から内側へ向かう法線方向に１ボクセル分移動される。また、ステップＳ１９３の処理は、ステップＳ１７９の処理と同様である。
【０１１７】
以上のような処理を実行することにより、頂点ｖについての法線と目標形状との交点のうち、輝度値が２である交点を境界点として検出することができるようになる。
【０１１８】
図２１の説明に戻り、設定部１０８は、境界点探索部１０９により境界点が検出されたか判断する（ステップＳ１４７）。境界点が検出されていないと判断された場合（ステップＳ１４７：Ｎｏルート）、次の頂点について処理するため、元の処理に戻る。
【０１１９】
一方、境界点が検出されたと判断された場合（ステップＳ１４７：Ｙｅｓルート）、設定部１０８は、頂点ｖと境界点ｖ＋ｋｎ（ｖ）とを結ぶ線分の内分点をターゲットランドマークに設定する（ステップＳ１４９）。具体的には、ターゲットランドマークは以下のような点に設定される。
【０１２０】
【数１１】
2014016895.tif 000058
【０１２１】
そして、設定部１０８は、頂点ｖをソースランドマークに設定する（ステップＳ１５１）。なお、設定部１０８は、設定されたソースランドマークとターゲットランドマークのデータとのペアを第２ランドマークデータ格納部１１０に追加する。そして元の処理に戻る。
【０１２２】
以上のような処理を実行することにより、変形前の形状における頂点と目標形状における境界点とを結ぶ線分の内分点を、ターゲットランドマークに設定することができるようになる。そして、セグメント画像データにおいて境界であった部分のみをターゲットランドマークに設定するので、セグメント画像データにおける境界を再現することができ且つその他の部分は標準形状に近い典型的な形状にすることができる。結果として、精度が高い三次元形状データになる。
【０１２３】
図２０の説明に戻り、２次変形処理部１０７は、変数ｍについてｍ＜Ｎであるか判断する（ステップＳ１２９）。ここで、Ｎは一次変形後形状（又は一次変形後形状を変形した形状）における頂点の総数である。ｍ＜Ｎであると判断された場合（ステップＳ１２９：Ｙｅｓルート）、次の頂点について処理するため、ステップＳ１２５の処理に戻る。
【０１２４】
一方、変数ｍについてｍ＜Ｎではないと判断された場合（ステップＳ１２９：Ｎｏルート）、２次変形処理部１０７は、第２ランドマークデータ格納部１１０に格納されているソースランドマーク及びターゲットランドマークのデータに従い、ＴＰＳＷａｒｐによる変形処理を実行し、変形後の形状のデータを変形後データ格納部１１５に格納する（ステップＳ１３１）。なお、前回の変形処理の結果が変形後データ格納部１１５に格納されている場合には、そのデータに上書きをする。
【０１２５】
また、上で述べたように、ステップＳ１３１における変形処理では、１次変形処理において移動させたソースランドマークは固定点として取り扱うため、移動させない。そして、２次変形処理部１０７は、第２ランドマークデータ格納部１１０に格納されているソースランドマーク及びターゲットランドマークのデータを消去する。
【０１２６】
２次変形処理部１０７は、変数ｔについてｔ＜Ｔであるか判断する（ステップＳ１３３）。ｔ＜Ｔであると判断された場合（ステップＳ１３３：Ｙｅｓルート）、さらに変形処理を行うため、ステップＳ１２３の処理に戻る。なお、Ｔは総変形回数であり、予め管理者等により設定される（例えばＴ＝５００）。
【０１２７】
一方、変数ｔについてｔ＜Ｔであると判断されなかった場合（ステップＳ１３３：Ｎｏルート）、Ｔ回の変形が終了したため、２次変形処理後の形状のデータを２次変形データ格納部１１１に格納し、元の処理に戻る。
【０１２８】
以上のような処理を実行することにより、１次変形後の形状が目標形状に近付き、精度の高い３次元形状データを得ることができるようになる。また、このような変形方法であれば、処理時間が比較的短くて済むようになる。
【０１２９】
図１３の説明に戻り、２次変形処理が実行されると、表示部１１２は、２次変形データ格納部１１１に格納されているデータを表示装置等に表示する（ステップＳ１１７）。そして処理を終了する。
【０１３０】
図２８に、表示装置等に表示されるデータの一例を示す。図２８の例では、目標形状と、網線で示された２次変形後形状とが表示されている。左側の図は、変形部分の全体を示す図であり、右側の図は、変形部分の一部を拡大した図である。
【０１３１】
なお、セグメント画像の枚数が少なく、スライス間隔が大きい場合に、本実施の形態の処理を実行しないと、図２９に示すような目標形状の三次元形状データが生成される。この三次元形状データは、ボクセルがｚ軸方向に細長い形状になっている。このような目標形状の三次元形状データを用いて変形処理を実行すると、生成される三次元形状データは図３０に示すような形状となる。すなわち、実際の心臓には存在しない凹凸が生じる。
【０１３２】
これに対して、セグメント画像の枚数が少なく、スライス間隔が大きい場合であっても、本実施の形態の処理を実行すれば、図３１に示すように、凹凸が無い滑らかな形状の三次元形状データを得ることができる。
【０１３３】
図３２は、図３１に示した二次変形処理後の形状と、図１２に示した目標形状とを重ねて表示した図である。目標形状におけるボクセルのうち、輝度値２が割り当てられているボクセル（すなわち、セグメント画像データにおいて境界に該当する部分のボクセル）は、二次変形処理後の形状の境界と重なるようになっている。
【０１３４】
図３３は、本実施の形態の方法を使用しない場合（すなわち、ステップＳ１乃至Ｓ７の処理を実行しない場合）に得られる三次元形状データと、本実施の形態の方法を使用した場合に得られる三次元形状データとを並べて示した図である。図３３においては、左から右に向かってスライス間隔が大きく（すなわち、セグメント画像の枚数が少なく）なっている。本実施の形態の方法を使用しない場合には、スライス間隔が大きくなるほど、実際に心臓には存在しない凹凸が生じている。一方、本実施の形態の方法を使用した場合には、スライス間隔が大きくなっても、凹凸が無い滑らかな形状のままである。
【０１３５】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した形状データ生成装置１の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【０１３６】
また、上で説明した処理フローは、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１３７】
なお、上で述べた例では、ランドマーク設定画面においてセグメント画像データを表示してターゲットランドマークの設定を行わせるようにしている。しかし、例えばＣＴ画像等の断層画像を表示してターゲットランドマークの設定を行わせるようにしてもよい。
【０１３８】
また、上で述べたような処理は心臓だけに適用可能なわけではなく、他の物体に適用することも可能である。
【０１３９】
なお、上で述べた形状データ生成装置１は、コンピュータ装置であって、図３４に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１４０】
以上述べた本実施の形態をまとめると以下のようになる。
【０１４１】
本実施の形態に係る形状データ生成方法は、（Ａ）物体の断層画像から、変形目標の形状である目標形状のデータを生成する生成処理と、（Ｂ）物体の標準的な形状であり且つ変形対象となる形状である対象形状の頂点のうち、当該頂点についての法線が目標形状のうち断層画像において物体と物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定すると共に、第１の頂点と交点との内分点を第２の頂点に設定する設定処理と、（Ｃ）第１の頂点を第２の頂点に重ねるように対象形状を変形し、変形後の形状を対象形状に設定する変形処理と（Ｄ）設定処理及び変形処理を所定回数実行する処理とを含む。
【０１４２】
このようにすれば、断層画像における境界に合うように対象形状を変形できると共に、その他の部分については物体の標準的な形状に近くなる。また、徐々に変形を行っているので変形後の形状に不自然な形状が生じにくい。結果として、十分な数の断層画像を得られない場合であっても高精度の形状データを得ることができるようになる。
【０１４３】
また、上で述べた生成処理において、（ａ１）目標形状のうち断層画像において物体と物体ではない部分との境界に該当する部分に対して所定の輝度値を付与するようにしてもよい。このようにすれば、断層画像において物体と物体ではない部分との境界を判別できるようになる。
【０１４４】
また、上で述べた生成処理において、（ａ２）断層画像を包含するボクセル空間におけるボクセルの輝度値を、目標形状を包含するボクセル空間におけるボクセルの輝度値にマッピングし、（ａ３）目標形状を包含するボクセル空間におけるボクセルのうち輝度値が設定されていないボクセルに対して、当該ボクセルに最も近く且つ輝度値が設定されているボクセルの輝度値を割り当てるようにしてもよい。このようにすれば、輝度値が設定されていないボクセルに対して妥当な輝度値を割り当てられるので、目標形状は妥当な形状になる。
【０１４５】
また、上で述べた第２の頂点は、第１の頂点についての単位法線ベクトルに、変形処理によって変形した回数を所定回数で除した値を乗じたベクトルによって特定される点であってもよい。このようにすれば、例えば重なりが生じる等、不自然な形状にならないように対象形状を徐々に変形することができるようになる。
【０１４６】
また、上で述べた設定処理において、（ｂ１）着目した頂点を当該着目した頂点についての法線の方向へ第１の距離移動させ、移動先の点が断層画像を包含するボクセル空間に含まれるか否かを判断する判断処理を実行し、（ｂ２）移動先の点が断層画像を包含するボクセル空間に含まれると判断された場合、着目した頂点についての法線ベクトルと移動先の点についての法線ベクトルとの内積に基づき、移動先の点が対象形状を貫通したか判断し、（ｂ３）移動先の点が対象形状を貫通していないと判断された場合、移動先の点における輝度値が、所定の輝度値であるか判断し、（ｂ４）所定の輝度値であると判断された場合、着目した頂点が第１の頂点であると判定し、（ｂ５）移動先の点が断層画像を包含するボクセル空間に含まれないと判断された場合又は移動先の点が対象形状を貫通したと判断された場合、着目した頂点が第１の頂点ではないと判定し、（ｂ６）移動先の点における輝度値が所定の輝度値ではないと判断された場合、判断処理以降の処理を移動先の点について再度実行するようにしてもよい。このようにすれば、対象形状から第１の頂点を特定できるようになる。
【０１４７】
また、上で述べた設定処理において、（ｂ７）第１の頂点は、他の第１の頂点との距離が第２の距離以上になるように特定されるようにしてもよい。このようにすれば、変形を行う部分が偏ることがないので、変形後の形状が滑らかになり、より高精度の形状データを生成することができるようになる。
【０１４８】
また、本形状データ生成方法が、（Ｅ）設定処理及び変形処理を所定回数実行することにより得られる変形後の形状のデータを出力する処理をさらに含むようにしてもよい。このようにすれば、変形後の形状が妥当であるか否かをユーザが判断できるようになる。
【０１４９】
また、上で述べた変形処理において、（ｃ１）ＴＰＳＷａｒｐ（Thin Plate Splines Warp）によって変形を行うようにしてもよい。ＴＰＳＷａｒｐを利用すれば、第１の頂点と第２の頂点とが重なるように変形を行うことができる。
【０１５０】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータに、
物体の断層画像から、変形目標の形状である目標形状のデータを生成させ、
前記物体の標準的な形状であり且つ変形対象となる形状である対象形状の頂点のうち、当該頂点についての法線が前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定させると共に、前記第１の頂点と前記交点との内分点を第２の頂点に設定させ、
前記第１の頂点を前記第２の頂点に重ねるように前記対象形状を変形させ、変形後の形状を前記対象形状に設定させ、
前記第１の頂点の特定、前記第２の頂点の設定及び前記対象形状の変形を所定回数実行させる
ことを特徴とする形状データ生成プログラム。
【請求項２】
前記目標形状のデータを生成する処理において、
前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分に対して所定の輝度値を付与させる
ことを特徴とする請求項１記載の形状データ生成プログラム。
【請求項３】
前記目標形状のデータを生成する処理において、
前記断層画像を包含するボクセル空間におけるボクセルの輝度値を、前記目標形状を包含するボクセル空間におけるボクセルの輝度値にマッピングさせ、
前記目標形状を包含するボクセル空間におけるボクセルのうち輝度値が設定されていないボクセルに対して、当該ボクセルに最も近く且つ輝度値が設定されているボクセルの輝度値を割り当てさせる
ことを特徴とする請求項１又は２記載の形状データ生成プログラム。
【請求項４】
前記第２の頂点は、前記第１の頂点についての単位法線ベクトルに、前記対象形状を変形した回数を前記所定回数で除した値を乗じたベクトルによって特定される点である
ことを特徴とする請求項１乃至３のいずれか１つ記載の形状データ生成プログラム。
【請求項５】
前記第１の頂点を特定する処理において、
着目した頂点を当該着目した頂点についての法線の方向へ第１の距離移動させ、移動先の点が前記断層画像を包含するボクセル空間に含まれるか否かを判断する判断処理を実行させ、
前記移動先の点が前記断層画像を包含するボクセル空間に含まれると判断された場合、前記着目した頂点についての法線ベクトルと前記移動先の点についての法線ベクトルとの内積に基づき、前記移動先の点が前記対象形状を貫通したか判断させ、
前記移動先の点が前記対象形状を貫通していないと判断された場合、前記移動先の点における輝度値が、前記所定の輝度値であるか判断させ、
前記所定の輝度値であると判断された場合、前記着目した頂点が前記第１の頂点であると判定させ、
前記移動先の点が前記断層画像を包含するボクセル空間に含まれないと判断された場合又は前記移動先の点が前記対象形状を貫通したと判断された場合、前記着目した頂点が前記第１の頂点ではないと判定させ、
前記移動先の点における輝度値が前記所定の輝度値ではないと判断された場合、前記判断処理以降の処理を前記移動先の点について再度実行させる
ことを特徴とする請求項２記載の形状データ生成プログラム。
【請求項６】
前記第１の頂点を特定する処理において、
前記第１の頂点が、他の前記第１の頂点との距離が第２の距離以上になるように特定させる
ことを特徴とする請求項１乃至５のいずれか１つ記載の形状データ生成プログラム。
【請求項７】
コンピュータが、
物体の断層画像から、変形目標の形状である目標形状のデータを生成し、
前記物体の標準的な形状であり且つ変形対象となる形状である対象形状の頂点のうち、当該頂点についての法線が前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定すると共に、前記第１の頂点と前記交点との内分点を第２の頂点に設定し、
前記第１の頂点を前記第２の頂点に重ねるように前記対象形状を変形し、変形後の形状を前記対象形状に設定し、
前記第１の頂点の特定、前記第２の頂点の設定及び前記対象形状の変形を所定回数実行する
処理を実行する形状データ生成方法。
【請求項８】
物体の断層画像から、変形目標の形状である目標形状のデータを生成する生成部と、
前記物体の標準的な形状であり且つ変形対象となる形状である対象形状の頂点のうち、当該頂点についての法線が前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定すると共に、前記第１の頂点と前記交点との内分点を第２の頂点に設定する設定部と、
前記第１の頂点を前記第２の頂点に重ねるように前記対象形状を変形し、変形後の形状を前記対象形状に設定する変形部と、
を有し、
前記設定部による処理及び前記変形部による処理が所定回数実行される
ことを特徴とする形状データ生成装置。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2014016895.tif 000059
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2014016895.tif 000060
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2014016895.tif 000061
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2014016895.tif 000062
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2014016895.tif 000063
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図１８
【補正方法】変更
【補正の内容】
【図１８】
2014016895.tif 000064
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図１９
【補正方法】変更
【補正の内容】
【図１９】
2014016895.tif 000065
【手続補正書】
【提出日】平成27年10月2日(2015.10.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータに、
物体の断層画像から、変形目標の形状である目標形状のデータを生成させ、
前記物体の標準的な形状である標準形状が一次変形され且つ二次変形の対象となる対象形状の頂点のうち、当該頂点についての法線が前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定させると共に、前記第１の頂点と前記交点との内分点を第２の頂点に設定させ、
前記第１の頂点を前記第２の頂点に重ねるように前記対象形状を変形させ、変形後の形状を前記対象形状に設定させ、
前記第１の頂点の特定、前記第２の頂点の設定及び前記対象形状の変形を所定回数実行させる
ことを特徴とする形状データ生成プログラム。
【請求項２】
前記目標形状のデータを生成させる処理において、
前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分に対して所定の輝度値を付与させる
ことを特徴とする請求項１記載の形状データ生成プログラム。
【請求項３】
前記目標形状のデータを生成させる処理において、
前記断層画像を包含するボクセル空間におけるボクセルの輝度値を、前記目標形状を包含するボクセル空間におけるボクセルの輝度値にマッピングさせ、
前記目標形状を包含するボクセル空間におけるボクセルのうち輝度値が設定されていないボクセルに対して、当該ボクセルに最も近く且つ輝度値が設定されているボクセルの輝度値を割り当てさせる
ことを特徴とする請求項１又は２記載の形状データ生成プログラム。
【請求項４】
前記第２の頂点は、前記第１の頂点についての単位法線ベクトルに、前記対象形状を変形した回数を前記所定回数で除した値と所定の係数とを乗じたベクトルによって特定される点である
ことを特徴とする請求項１乃至３のいずれか１つ記載の形状データ生成プログラム。
【請求項５】
前記第１の頂点の特定において、
着目した頂点を当該着目した頂点についての法線の方向へ第１の距離移動させ、移動先の点が前記断層画像を包含するボクセル空間に含まれるか否かを判断する判断処理を実行させ、
前記移動先の点が前記断層画像を包含するボクセル空間に含まれると判断された場合、前記着目した頂点についての法線ベクトルと前記移動先の点についての法線ベクトルとの内積に基づき、前記移動先の点が前記対象形状を貫通したか判断させ、
前記移動先の点が前記対象形状を貫通していないと判断された場合、前記移動先の点における輝度値が、前記所定の輝度値であるか判断させ、
前記所定の輝度値であると判断された場合、前記着目した頂点が前記第１の頂点であると判定させ、
前記移動先の点が前記断層画像を包含するボクセル空間に含まれないと判断された場合又は前記移動先の点が前記対象形状を貫通したと判断された場合、前記着目した頂点が前記第１の頂点ではないと判定させ、
前記移動先の点における輝度値が前記所定の輝度値ではないと判断された場合、前記判断処理以降の処理を前記移動先の点について再度実行させる
ことを特徴とする請求項２記載の形状データ生成プログラム。
【請求項６】
前記第１の頂点の特定において、
前記第１の頂点が、他の前記第１の頂点との距離が第２の距離以上になるように特定させる
ことを特徴とする請求項１乃至５のいずれか１つ記載の形状データ生成プログラム。
【請求項７】
コンピュータが、
物体の断層画像から、変形目標の形状である目標形状のデータを生成し、
前記物体の標準的な形状である標準形状が一次変形され且つ二次変形の対象となる対象形状の頂点のうち、当該頂点についての法線が前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定すると共に、前記第１の頂点と前記交点との内分点を第２の頂点に設定し、
前記第１の頂点を前記第２の頂点に重ねるように前記対象形状を変形し、変形後の形状を前記対象形状に設定し、
前記第１の頂点の特定、前記第２の頂点の設定及び前記対象形状の変形を所定回数実行する
処理を実行する形状データ生成方法。
【請求項８】
物体の断層画像から、変形目標の形状である目標形状のデータを生成する生成部と、
前記物体の標準的な形状である標準形状が一次変形され且つ二次変形の対象となる対象形状の頂点のうち、当該頂点についての法線が前記目標形状のうち前記断層画像において前記物体と前記物体ではない部分との境界に該当する部分と交点を有する第１の頂点を特定すると共に、前記第１の頂点と前記交点との内分点を第２の頂点に設定する設定部と、
前記第１の頂点を前記第２の頂点に重ねるように前記対象形状を変形し、変形後の形状を前記対象形状に設定する変形部と、
を有し、
前記設定部による処理及び前記変形部による処理が所定回数実行される
ことを特徴とする形状データ生成装置。
【国際調査報告】
2014016895.tif 000066
2014016895.tif 000067