(57)【要約】【課題】  高画質なモーションコントラストデータを生成する画像処理装置を提供する。【解決手段】  画像処理装置は、異なる時間に得られた被検眼の複数の３次元データを取得する取得手段と、深度方向に直交する平面における位置合わせを行う第一の平面位置合わせ手段と、前記３次元データ内において、副走査方向における眼底深度方向の位置合わせを行う第一の深度位置合わせ手段と、前記平面位置合わせ手段と前記第一の位置合わせ手段の結果に基づき複数の３次元データのうち少なくとも一方の３次元データの補間データを作成する作成手段とを備える。【選択図】  図１
2019047840.tif 000002
【特許請求の範囲】
【請求項１】
異なる時間に得られた被検眼の複数の３次元データを取得する取得手段と、
深度方向に直交する平面における位置合わせを行う第一の平面位置合わせ手段と、
前記３次元データ内において、副走査方向における眼底深度方向の位置合わせを行う第一の深度位置合わせ手段と、
前記平面位置合わせ手段と前記第一の位置合わせ手段の結果に基づき複数の３次元データのうち少なくとも一方の３次元データの補間データを作成する作成手段と、
を備える画像処理装置。
【請求項２】
前記作成手段によって前記複数の３次元データの複数の補間データが作成された場合には前記複数の補間データ間における深度方向の位置合わせを行い、前記複数の３次元データの少なくとも１つに対して補間データが作成されなかった場合には前記３次元データと前記補間データとの間における深度方向の位置合わせを行う第二の深度位置合わせ手段を更に備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像処理装置は、前記平面位置合わせ手段において、前記３次元データから生成される眼底正面画像を用いて、画像に関する評価値、位置合わせに関する評価値、画像のアーティファクトに関する評価値、層検出による評価値の少なくとも一つを用いて、前記第二の深度位置合わせ手段のための基準となる３次元データを選択する選択手段を更に備えることを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記画像処理装置は、深度方向に直交する平面における位置合わせを行う第二の平面位置合わせ手段を更に備え、前記第二の平面位置合わせ手段は、複数のデータ間での位置合わせの結果、前記３次元データにおけるアーティファクト領域を検出し、前記アーティファクト領域を記憶することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記３次元データは、輝度の３次元断層データまたは３次元モーションコントラストデータを含むことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記複数の３次元データは、主走査方向が同一の走査方法で得られたデータであることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
異なる時間に得られた被検眼の複数の３次元データを取得する取得工程と、
深度方向に直交する平面における位置合わせを行う第一の平面位置合わせ工程と、
前記３次元データ内において、副走査方向における眼底深度方向の位置合わせを行う第一の深度位置合わせ工程と、
前記平面位置合わせ手段と前記第一の位置合わせ手段の結果に基づき複数の３次元データのうち少なくとも一方の３次元データの補間データを作成する作成工程と、
を備える画像処理方法。
【請求項８】
請求項７に記載の画像処理方法の各工程をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
光干渉断層計（ＯＣＴ；Ｏｐｔｉｃａｌ  Ｃｏｈｅｒｅｎｃｅ  Ｔｏｍｏｇｒａｐｈｙ）などの眼部の断層画像撮影装置は、網膜層内部の状態を３次元的に観察することが可能である。この断層画像撮影装置は、疾病の診断をより的確に行うのに有用であることから近年注目を集めている。ＯＣＴの形態として、例えば、高速に画像を取得する方法として、広帯域光源を用い、分光器でインターフェログラムを取得するＯＣＴとして、ＳＤ−ＯＣＴ（Ｓｐｅｃｔｒａｌ  ｄｏｍａｉｎ  ＯＣＴ）が知られている。また、光源として、高速波長掃引光源を用いることで、単一チャネル光検出器でスペクトル干渉を計測する手法によるＳＳ−ＯＣＴ（Ｓｗｅｐｔ  Ｓｏｕｒｃｅ  ＯＣＴ）が知られている。そして、近年では、造影剤を用いない血管造影法としてＯＣＴを用いた血管造影法（ＯＣＴ  Ａｎｇｉｏｇｒａｐｈｙ：ＯＣＴＡ）が提案されている。ＯＣＴＡでは、ＯＣＴにより取得した３次元のモーションコントラストデータを２次元平面に投影することで、血管画像（以下、ＯＣＴＡ画像という。）を生成する。ここで、モーションコントラストデータとは、測定対象の同一断面をＯＣＴで繰り返し撮影し、その撮影間における測定対象の時間的な変化を検出したデータである。モーションコントラストデータは、例えば、複素ＯＣＴ信号の位相やベクトル、強度の時間的な変化を差、比率、又は相関等から計算することによって得られる。
【０００３】
ＯＣＴ装置で測定対象の３次元データを取得する場合、被検眼が動くことによりデータに動きのアーティファクトが発生する。そのため、Ｘ方向を主走査とするスキャンとＹ方向を主走査とするスキャンをしたボリュームデータを位置合わせもしくはマージすることで動きのアーティファクトを補償する３次元データを生成することが知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５８３２５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＯＣＴで撮影した複数の３次元データを用いて解析を行うためには、３次元データの位置合わせ精度の向上が求められている。
【０００６】
開示の技術は、ＯＣＴで撮影された複数の３次元データを位置合わせし、アーティファクトの少ない高画質な３次元データを提供することを目的の一つとする。
【０００７】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための、開示の画像処理装置は、異なる時間に得られた被検眼の複数の３次元データを取得する取得手段と、深度方向に直交する平面における位置合わせを行う第一の平面位置合わせ手段と、前記３次元データ内において、副走査方向における眼底深度方向の位置合わせを行う第一の深度位置合わせ手段と、前記平面位置合わせ手段と前記第一の位置合わせ手段の結果に基づき複数の３次元データのうち少なくとも一方の３次元データの補間データを作成する作成手段とを備える。
【発明の効果】
【０００９】
開示の技術によれば、アーティファクトの少ない高画質な３次元のモーションコントラストデータを得る事ができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理システムの構成の一例を示す図。
【図２】眼部の構造と断層画像と眼底画像の一例を説明するための図。
【図３】画像処理システムにおける処理の流れの一例を示すフローチャート。
【図４】第一の位置合わせ処理の流れの位置理恵を示すフローチャート。
【図５】第三の位置合わせ処理の流れの一例を示すフローチャート。
【図６】第四の位置合わせ処理の流れの一例を示すフローチャート。
【図７】モーションコントラストデータ生成の一例を説明するための図。
【図８】アーティファクト除去の一例を説明するための図。
【図９】第一の位置合わせの一例を説明するための図。
【図１０】第二の位置合わせの一例を説明するための図。
【図１１】第三の位置合わせの一例を説明するための図。
【図１２】第三の位置合わせ結果の一例を説明するための図。
【図１３】３次元でのデータ変形結果の一例を説明するための図。
【図１４】第四の位置合わせの一例を説明するための図。
【図１５】第四の位置合わせの一例を説明するための図。
【図１６】モーションコントラストデータの加算平均前後の一例を説明するための図。
【図１７】モーションコントラストデータの加算平均前後の一例を説明するための図。
【図１８】モーションコントラストデータの加算平均前後の一例を説明するための図。
【発明を実施するための形態】
【００１１】
〔実施例１〕
以下、図面を参照しながら、第一の実施形態について説明する。なお、本実施形態に係る画像処理装置は、アーティファクトを低減した３次元のモーションコントラストデータを生成するにあたり、複数のモーションコントラストデータの位置合わせをすると共に、加算平均を行うために位置合わせの基準となるモーションコントラストデータを選択することを特徴としている。なお、以降の実施例に示す数値は例示であり、開示の数値に限定されるものではない。
【００１２】
本実施形態によれば、固視微動などにより、モーションコントラストデータにアーティファクトが存在する場合においても高画質な３次元のモーションコントラストデータを取得することが可能となる。ここで、高画質とは一度の撮影と比較してＳ／Ｎ比が向上している画像をいう。または、診断に必要な情報量が増えている画像のことをいう。なお、本実施形態において、３次元データは、輝度値からなる３次元の断層像データと、脱相関値からなる３次元のモーションコントラストデータのことを指す。
【００１３】
以下、本実施形態に係る画像処理装置を備える画像処理システムについて、詳細を説明する。
【００１４】
図１は、本実施形態に係る画像処理装置３００を備える画像処理システム１００の構成を示す図である。図１に示すように、画像処理システム１００は、画像処理装置３００が、インタフェースを介して断層画像撮影装置（ＯＣＴとも言う）２００、眼底画像撮影装置４００、外部記憶部５００、表示部６００、入力部７００と接続されることにより構成されている。
【００１５】
断層画像撮影装置２００は、眼部の断層画像を撮影する装置である。断層画像撮影装置に用いる装置は、例えばＳＤ−ＯＣＴやＳＳ−ＯＣＴからなる。なお、断層画像撮影装置２００は既知の装置であるため詳細な説明は省略し、ここでは、画像処理装置３００からの指示により行われる断層画像の撮影について説明を行う。
【００１６】
図１において、ガルバノミラー２０１は、測定光の眼底における走査を行うためのものであり、ＯＣＴによる眼底の撮影範囲を規定する。また、駆動制御部２０２は、ガルバノミラー２０１の駆動範囲及び速度を制御することで、眼底における平面方向の撮影範囲及び走査線数（平面方向の走査速度）を規定する。ここでは、簡単のためガルバノミラーは一つのユニットとして示したが、実際にはＸスキャン用のミラーとＹスキャン用の２枚のミラーで構成され、眼底上で所望の範囲を測定光で走査できる。
【００１７】
フォーカス２０３は被検体である眼の前眼部を介し、眼底の網膜層にフォーカスするためのものである。測定光は、非図示のフォーカスレンズにより、被検体である眼の前眼部を介し、眼底の網膜層にフォーカスされる。眼底を照射した測定光は各網膜層で反射・散乱して戻る。
【００１８】
内部固視灯２０４は、表示部２４１、レンズ２４２で構成される。表示部２４１として複数の発光ダイオード（ＬＥＤ）がマトリックス状に配置されたものを用いる。発光ダイオードの点灯位置は、駆動制御部２０２の制御により撮影したい部位に合わせて変更される。表示部２４１からの光は、レンズ２４２を介し、被検眼に導かれる。表示部２４１から出射される光は５２０ｎｍで、駆動制御部２０２により所望のパターンが表示される。
【００１９】
コヒーレンスゲートステージ２０５は、被検眼の眼軸長の相違等に対応するため、駆動制御部２０２により制御されている。コヒーレンスゲートとは、ＯＣＴにおける測定光と参照光の光学距離が等しい位置を表す。さらには、撮影方法としてコヒーレンスゲートの位置を制御することにより、網膜層側か、あるいは網膜層より深部側とする撮影を行うことを制御する。ここで、画像処理システムで取得する眼の構造と画像について図２を用いて説明する。
【００２０】
図２（ａ）に眼球の模式図を示す。図２（ａ）において、Ｃは角膜、ＣＬは水晶体、Ｖは硝子体、Ｍは黄斑部（黄斑の中心部は中心窩を表す）、Ｄは視神経乳頭部を表す。本実施形態にかかる断層画像撮影装置２００は、主に、硝子体、黄斑部、視神経乳頭部を含む網膜の後極部を撮影する場合について説明を行う。なお、本発明では説明をしないが、断層画像撮影装置２００は、角膜、水晶体の前眼部を撮影することも可能である。
【００２１】
図２（ｂ）に断層画像撮影装置２００が取得する網膜を撮影した場合の断層画像の例を示す。図２（ｂ）において、ＡＳはＡスキャンというＯＣＴ断層画像における画像取得の単位を表す。このＡスキャンが複数集まって一つのＢスキャンを構成する。そしてこのＢスキャンのことを断層画像（あるいは断層像）と呼ぶ。図２（ｂ）において、Ｖｅは血管、Ｖは硝子体、Ｍは黄斑部、Ｄは視神経乳頭部を表す。また、Ｌ１は内境界膜（ＩＬＭ）と神経線維層（ＮＦＬ）との境界、Ｌ２は神経線維層と神経節細胞層（ＧＣＬ）との境界、Ｌ３は視細胞内節外節接合部（ＩＳＯＳ）、Ｌ４は網膜色素上皮層（ＲＰＥ）、Ｌ５はブルッフ膜（ＢＭ）、Ｌ６は脈絡膜を表す。断層画像において、横軸（ＯＣＴの主走査方向）をｘ軸、縦軸（深さ方向）をｚ軸とする。
【００２２】
図２（ｃ）に眼底画像撮影装置４００が取得する眼底画像の例を示す。眼底画像撮影装置４００は、眼部の眼底画像を撮影する装置であり、当該装置としては、例えば、眼底カメラやＳＬＯ（Ｓｃａｎｎｉｎｇ  Ｌａｓｅｒ  Ｏｐｈｏｔｈａｌｍｏｓｃｏｐｅ）等が挙げられる。図２（ｃ）において、Ｍは黄斑部、Ｄは視神経乳頭部を表し、太い曲線は網膜の血管を表す。眼底画像において、横軸（ＯＣＴの主走査方向）をｘ軸、縦軸（ＯＣＴの副走査方向）をｙ軸とする。なお、断層画像撮影装置２００と眼底画像撮影装置４００の装置構成は、一体型でもよいし別体型でもよい。
【００２３】
画像処理装置３００は、画像取得部３０１、記憶部３０２、画像処理部３０３、指示部３０４、表示制御部３０５を備える。画像処理装置３００は、例えば、不図示の１以上のプロセッサと１以上のメモリを備え、１以上のプロセッサが１以上のメモリに記憶されたプログラムを実行することで、１以上のプロセッサは画像取得部３０１、画像処理部３０３、指示部３０４、表示制御部３０５として機能する。プロセッサは例えばＣＰＵまたはＧＰＵ等のハードウエアである。画像取得部３０１は、断層画像生成部３１１、モーションコントラストデータ生成部３１２からなり、断層画像撮影装置２００により撮影された断層画像の信号データを取得し、信号処理を行うことで断層画像の生成、ならびにモーションコントラストデータの生成を行う。例えば、画像取得部３０１は、眼の同一位置を走査するように制御された測定光に基づいて得られた複数の２次元断層像を取得する。なお、画像取得部３０１は、異なる時間に得られた被検眼の複数の３次元データ（輝度の三次元断層データ）を取得する取得手段の一例に相当する。なお、複数の３次元データは主走査方向が同一の走査方法で得られたデータであってもよいし、主走査方向が異なる層さ方法で得られた画像であってもよい。また、眼底画像撮影装置４００により撮影された眼底画像データを取得する。そして、生成した断層画像と眼底画像を記憶部３０２に格納する。画像処理部３０３は、前処理部３３１、画像生成部３３２、検出部３３３、第一の位置合わせ部３３４、選択部３３５、第二の位置合わせ部３３６、第三の位置合わせ部３３７、第四の位置合わせ部３３８、画像合成部３３９からなる。
【００２４】
前処理部３３１は、モーションコントラストデータからアーティファクトを除去する処理を行う。画像生成部３３２は、３次元モーションコントラストデータ（３次元データの一例）から２次元のモーションコントラスト正面画像（ＯＣＴＡ画像あるいはＥｎｆａｃｅ画像とも言う）を生成する。画像生成部３３２は、異なる時間に得られた被検眼の複数の３次元データを取得する取得手段の一例に相当する。検出部３３３は、網膜から各層の境界線を検出する。第一の位置合わせ部３３４は、２次元の正面画像（眼底正面画像）の位置合わせを行う。選択部３３５は、第一の位置合わせ部３３４の結果から基準とするデータを選択する。第二の位置合わせ部３３６は、ＯＣＴＡ画像を用いて網膜の横方向（ｘ軸）の位置合わせを行う。第三の位置合わせ部３３７は、網膜の深さ方向（ｚ軸）の位置合わせを行う。第四の位置合わせ部３３８は、断層画像内部の特徴がある部分に位置合わせのための領域を複数設定し、その領域単位で網膜の深さ方向（ｚ軸）の位置合わせを行う。画像合成部３３９は、第一から第四の位置合わせ部によって位置合わせされた３次元データを加算平均する。
【００２５】
外部記憶部５００は、被検眼に関する情報（患者の氏名、年齢、性別など）と、撮影した画像データ、撮影パラメータ、画像解析パラメータ、操作者によって設定されたパラメータをそれぞれ関連付けて保持している。
【００２６】
入力部７００は、例えば、マウス、キーボード、タッチ操作画面などであり、操作者は、入力部７００を介して、画像処理装置３００や断層画像撮影装置２００、眼底画像撮影装置４００へ指示を行う。
【００２７】
次に、図３を参照して本実施形態の画像処理装置３００の処理手順を示す。図３（ａ）は、本実施形態における本システム全体の動作処理、図３（ｂ）は、本実施形態における高画質画像生成処理の流れを示すフローチャートである。
【００２８】
＜ステップＳ３０１＞
ステップＳ３０１では、不図示の被検眼情報取得部は、被検眼を同定する情報として被検者識別番号を外部から取得する。そして、被検者識別番号に基づいて、外部記憶部５００が保持している当該被検眼に関する情報を取得して記憶部３０２に記憶する。
【００２９】
＜ステップＳ３０２＞
ステップＳ３０２では被検眼をスキャンして撮影を行う。被検眼のスキャンは、操作者が非図示のスキャン開始を選択すると、断層画像撮影装置２００は、駆動制御部２０２を制御し、ガルバノミラー２０１を動作させて断層画像のスキャンを行う。ガルバノミラー２０１は、水平方向用のＸスキャナと垂直方向用のＹスキャナで構成される。そのため、これらのスキャナの向きをそれぞれ変更すると、装置座標系における水平方向（Ｘ）、垂直方向（Ｙ）それぞれの方向に走査することが出来る。そして、これらのスキャナの向きを同時に変更させることで、水平方向と垂直方向とを合成した方向に走査することが出来るため、眼底平面上の任意の方向に走査することが可能となる。
【００３０】
撮影を行うにあたり各種撮影パラメータの調整を行う。具体的には、内部固視灯の位置、スキャン範囲、スキャンパターン、コヒーレンスゲート位置、フォーカスを少なくとも設定する。駆動制御部２０２は、表示部２４１の発光ダイオードを制御して、黄斑部中心や視神経乳頭に撮影を行うように内部固視灯２０４の位置を制御する。スキャンパターンは、３次元ボリュームを撮影するラスタスキャンや放射状スキャン、クロススキャンなどのスキャンパターンを設定する。これら撮影パラメータの調整終了後、操作者が非図示の撮影開始を選択することで撮影を行う。
【００３１】
本実施形態においては、スキャンパターンはラスタスキャンによる３次元ボリュームで、高画質データ生成のために３次元ボリュームをＮ回（Ｎは２以上）撮影する。Ｎ回繰り返し撮影するデータは、同じ撮影範囲を同じスキャンパターンで撮影する。例えば、３ｍｍ×３ｍｍの範囲を３００×３００（主走査×副走査）の間隔で繰り返し撮影を行う。３次元ボリュームにおいては、モーションコントラストを計算するために同一のライン箇所をＭ回（Ｍは２以上）繰り返し撮影する。すなわち、Ｍが２回だとする場合、実際には３００×６００のデータを撮影し、そこから３００×３００の三次元モーションコントラストデータを生成する。なお、本明細書における「同一」とは完全に同一である場合および略同一である場合を含む概念である。例えば、同一の場所を撮影しようと試みた結果、トラッキングの不完全さ等により完全に同一の場所を撮影できず、略同一の場所を撮影した場合も、同一位置の撮影という概念に含まれる。
【００３２】
本発明においては詳細な説明を省略するが、断層画像撮影装置２００は、加算平均用に同じ場所を撮影するために、被検眼のトラッキングを行うことで、固視微動の影響を少なくして被検眼のスキャンを行う。さらに、まばたきなどの画像を生成するにあたりアーティファクトとなる動きを検出した場合には、アーティファクトが発生した場所で再スキャンを自動的に行う。
【００３３】
＜ステップＳ３０３＞
ステップＳ３０３では、断層画像の生成を行う。断層画像生成部３１１は、それぞれの干渉信号に対して、一般的な再構成処理を行うことで、断層画像を生成する。
【００３４】
まず、断層画像生成部３１１は、干渉信号から固定パターンノイズ除去を行う。固定パターンノイズ除去は検出した複数のＡスキャン信号を平均することで固定パターンノイズを抽出し、これを入力した干渉信号から減算することで行われる。次に、断層画像生成部３１１は、有限区間でフーリエ変換した場合にトレードオフの関係となる深さ分解能とダイナミックレンジを最適化するために、所望の窓関数処理を行う。次に、ＦＦＴ処理を行う事によって断層信号を生成する。
【００３５】
＜ステップＳ３０４＞
ステップＳ３０４では、モーションコントラストデータ生成部３１２がモーションコントラストデータの生成を行う。このデータ生成について図７を用いて説明を行う。ＭＣは３次元のモーションコントラストデータを示し、ＬＭＣは３次元のモーションコントラストデータを構成する２次元のモーションコントラストデータを示している。ここでは、このＬＭＣを生成する方法について説明をする。
【００３６】
モーションコントラストデータ生成部３１２は、まず被検眼の同一範囲で撮影された複数の断層像間の位置ずれを補正する。位置ずれの補正方法は任意の方法であってよい。例えば、モーションコントラスト生成部３１２は、同一範囲をＭ回撮影し、同一箇所に相当する断層像データ同士について、眼底形状等の特徴等を利用して位置合わせを行う。具体的には、Ｍ個の断層像データのうちの１つをテンプレートとして選択し、テンプレートの位置と角度を変えながらその他の断層像データとの類似度を求め、テンプレートとの位置ずれ量を求める。その後、モーションコントラスト生成部３１２は、求めた位置ずれ量に基づいて、各断層像データを補正する。
【００３７】
次にモーションコントラスト生成部３１２は、各断層像データに関する撮影時間が互いに連続する、２つの断層像データ間で式１により脱相関値Ｍ（ｘ，  ｚ）を求める。
【００３８】
【数１】
2019047840.tif 000003
【００３９】
ここで、Ａ（ｘ，  ｚ）は断層像データＡの位置（ｘ、ｚ）における輝度、Ｂ（ｘ，  ｚ）は断層像データＢの同一位置（ｘ、ｚ）における輝度を示している。
【００４０】
脱相関値Ｍ（ｘ，  ｚ）は０〜１の値となり、２つの輝度の差が大きいほどＭ（ｘ，  ｚ）の値は大きくなる。モーションコントラスト生成部３１２は、同一位置で繰り返し取得したＭが３以上の場合には、同一位置（ｘ、ｚ）において複数の脱相関値Ｍ（ｘ，  ｚ）を求めることができる。モーションコントラスト生成部３１２は、求めた複数の脱相関値Ｍ（ｘ，  ｚ）の最大値演算や平均演算などの統計的な処理を行うことで、最終的なモーションコントラストデータを生成することができる。なお、繰り返し回数Ｍが２の場合、最大値演算や平均演算などの統計的な処理は行わず、隣接する２つの断層像ＡとＢの脱相関値Ｍ（ｘ，  ｚ）が、位置（ｘ、ｚ）におけるモーションコントラストの値となる。
【００４１】
式１に示したモーションコントラストの計算式はノイズの影響を受けやすい傾向がある。例えば、複数の断層像データの無信号部分にノイズがあり、互いに値が異なる場合には、脱相関値が高くなり、モーションコントラスト画像にもノイズが重畳してしまう。これを避けるために、モーションコントラスト生成部３１２は、前処理として、所定の閾値を下回る断層データはノイズとみなして、ゼロに置き換えることができる。これにより、画像生成部３３２は、生成されたモーションコントラストデータに基づいて、ノイズの影響を低減したモーションコントラスト画像を生成することができる。
【００４２】
ステップＳ３０５では、画像処理部３０３が高画質データ生成を行う。画像処理部３０３の処理について、図３（ｂ）、図４〜図６のフローチャートと、図８〜図１５を用いて説明をする。
【００４３】
＜ステップＳ３５１＞
ステップＳ３５１では、検出部３３３は、断層画像撮影装置２００が撮影した複数の断層画像において網膜層の境界線を検出する。検出部３３３は、図２（ｂ）の断層画像においてＬ１〜Ｌ６の各境界、あるいは非図示のＧＣＬ／ＩＰＬ、ＩＰＬ／ＩＮＬ、ＩＮＬ／ＯＰＬ、ＯＰＬ／ＯＮＬ境界のいずれかを検出する。処理の対象とする断層画像に対して、メディアンフィルタとＳｏｂｅｌフィルタをそれぞれ適用して画像を作成する（以下、メディアン画像、Ｓｏｂｅｌ画像とする）。次に、作成したメディアン画像とＳｏｂｅｌ画像から、Ａスキャン毎にプロファイルを作成する。メディアン画像では輝度値のプロファイル、Ｓｏｂｅｌ画像では勾配のプロファイルとなる。そして、Ｓｏｂｅｌ画像から作成したプロファイル内のピークを検出する。検出したピークの前後やピーク間に対応するメディアン画像のプロファイルを参照することで、網膜層の各領域の境界を検出する。
【００４４】
＜ステップＳ３５２＞
ステップＳ３５２では、画像生成部３３２が、３次元のモーションコントラストデータに対して指定された生成範囲上端と生成範囲下端との範囲に対応するモーションコントラストデータを２次元平面上に投影し、ＯＣＴＡ画像（Ｅｎｆａｃｅ画像）を生成する。具体的には、画像生成部３３２が、全体のモーションコントラストデータのうち生成範囲上端と生成範囲下端の間の範囲に対応するモーションコントラストデータに基づいて、その範囲内のモーションコントラストデータを平均値投影（ＡＩＰ）、あるいは最大値投影（ＭＩＰ）などの処理を行うことで、モーションコントラスト画像の正面画像であるＯＣＴＡ画像を生成する。なお、ＯＣＴＡ画像の生成方法は平均値や最大値に限らない。最小値、中央値、分散、標準偏差、総和などの値で生成しても良い。
【００４５】
本実施形態においては、例えば、生成範囲上端をＩＬＭ／ＮＦＬ境界線とし、生成範囲下端をＧＣＬ／ＩＰＬから深度方向に５０μｍ下端の境界線とする。そして、平均値投影法でＯＣＴＡ画像を生成する。なお、ＯＣＴＡ画像の生成範囲の上端および下端は上記の例に限定されるものではない。
【００４６】
なお、モーションコントラスト生成部３１２が、生成範囲上端と生成範囲下端との間の範囲の断層データを用いてモーションコントラストデータを生成する構成としてもよい。この場合、画像生成部３３２は、生成されたモーションコントラストデータに基づいてＯＣＴＡ画像を生成することで、指定された深度範囲の断層データに基づくＯＣＴＡ画像を生成することができる。
【００４７】
＜ステップＳ３５３＞
ステップＳ３５３では、Ｎ枚のＯＣＴＡ画像において、画像の横方向（ｘ軸）と縦方向（ｙ軸）、ｘｙ面内の回転位置合わせをそれぞれ行う。これについて、図４のフローチャートを用いて説明をする。
【００４８】
＜ステップＳ３５３１＞
ステップＳ３５３１では、前処理部３３１は、画像生成部３３２が生成したＯＣＴＡ画像から黒帯や白線のようなアーティファクトを検出し、除去する。これについて図８を用いて説明をする。図８において、ＯＣＴＡ画像の黒い領域は脱相関値が高い場所、すなわち血液の流れが検出された場所（血管に相当する）を表し、白い領域は、脱相関値が低い場所を表す。図８（ａ）のＢＢは黒帯の例で、図８（ｂ）のＷＬは白線の例を示している。黒帯は、撮影中の動きにより、網膜の位置が感度の高い位置から遠ざかることで網膜断層像の輝度値が低下し脱相関の値が低くなったり、まばたき等により画像全体が暗くなることで脱相関の値が低くなったりすることで発生する。白線は、脱相関の計算においてＭ個の断層像を位置合わせして計算をするが、位置合わせがうまくいかなかったり、位置合わせで位置を補正しきれなかったりする場合に、画像全体の脱相関値が高くなることで発生する。これらのアーティファクトは脱相関の計算において発生するため、主走査方向の１ライン単位で発生する。そのため、前処理部３３１は、１ライン単位でアーティファクトを検出する。
【００４９】
例えば、黒帯検出は、１ラインでの脱相関の平均値が閾値ＴＨＡＶＧ＿Ｂ以下の場合、黒帯とする。白線検出は、１ラインでの脱相関値の平均値が閾値ＴＨＡＶＧ＿Ｗ以上で、かつ、標準偏差（あるいは分散値）がＴＨＳＤ＿Ｗ以下である場合、白線とする。白線の場合、平均値だけで判定を行うと大血管などで脱相関値が高く出る場合があり、これらのような脱相関値の高い血管が含まれる領域を白線と誤検出してしまう事がある。そのため、標準偏差や分散のような値のバラつきを評価する指標と組み合わせて判断する。すなわち、脱相関値の高い血管が含まれる１ラインは、平均値が高くて標準偏差も高くなる。一方、白線の１ラインは、平均値は高いが値のバラつきは小さいため標準偏差は低くなる。なお、ＯＣＴＡ画像は健常眼や患眼、患眼などでも病気の種類に応じて脱相関値の値が変動する。そのため、閾値は画像毎に設定することが望ましく、Ｐ−ｔｉｌｅや判別分析のような動的閾値法を用いて、ＯＣＴＡ画像の明るさに応じて設定することが望ましい。なお、動的閾値法を用いる場合、上限閾値と下限閾値は事前に設定しておき、その値を上回るか下回る場合には、それらの上限閾値、あるいは下限閾値を閾値として設定する。
【００５０】
前処理部３３１は、上記で求めたアーティファクト領域を、ＯＣＴＡ画像に対応するＭａｓｋ画像に記憶しておく。図８のＭａｓｋ画像において、白い領域は１、黒い領域は０の値を設定した例を示す。
【００５１】
＜ステップＳ３５３２＞
ステップＳ３５３２では、第一の位置合わせ部３３４は、各ＯＣＴＡ画像をそれぞれ位置合わせした場合の位置合わせパラメータを保存するための２次元行列を初期化する。各行列の要素には、位置合わせ時の変形パラメータや画像類似度などの画像高画質化に必要な情報をまとめて保存する。
【００５２】
＜ステップＳ３５３３＞
ステップＳ３５３３では、第一の位置合わせ部３３４は、位置合わせ対象を選択する。本実施形態においては、全てのＯＣＴＡ画像を基準画像に設定して残りのＯＣＴＡ画像と位置合わせを行う。そのため、ステップＳ３５３３においては、Ｄａｔａ０のＯＣＴＡ画像を基準とする場合に、Ｄａｔａ１〜Ｄａｔａ（Ｎ−１）とそれぞれ位置合わせを行う。次に、Ｄａｔａ１のＯＣＴＡ画像を基準とする場合には、Ｄａｔａ２〜Ｄａｔａ（Ｎ−１）とそれぞれ位置合わせを行う。次に、Ｄａｔａ２のＯＣＴＡ画像を基準とする場合には、Ｄａｔａ３〜Ｄａｔａ（Ｎ−１）とそれぞれ位置合わせを行う。これらの処理を繰り返す。この例を図９（ａ）に示す。図９では簡単のため、Ｄａｔａ０〜Ｄａｔａ２を示しているが、３次元ボリュームをＮ回撮影している場合には、Ｎ個のＯＣＴＡ画像間での位置合わせを行う。
【００５３】
なお、ここで示したように基準画像のＤａｔａを１つずつ繰り上げた場合に、位置合わせの対象とする画像のスタートＤａｔａも１つずつ大きくする。これについてＤａｔａ２のＯＣＴＡ画像を基準とする場合について説明をする。Ｄａｔａ２を基準とする場合に、Ｄａｔａ０とＤａｔａ１、Ｄａｔａ０とＤａｔａ２、Ｄａｔａ１とＤａｔａ２の位置合わせは、それまでの処理により既に位置合わせ済みである。そのため、Ｄａｔａ２のＯＣＴＡ画像を基準とする場合には、Ｄａｔａ３から位置合わせをすればよい。これにより、全部のＯＣＴＡ画像同士の位置合わせとはいえ、半分の組み合わせを計算すればよいことになる。
【００５４】
＜ステップＳ３５３４＞
ステップＳ３５３４では、第一の位置合わせ部３３４は、複数のＯＣＴＡ画像間において画像の横方向（ｘ軸）と縦方向（ｙ軸）、ｘｙ面内の回転位置合わせを行う。すなわち、第一の位置合わせ部３３４は、深度方向に直交する平面における位置合わせを行う第一の平面位置合わせ手段の一例に相当する。
【００５５】
ＯＣＴＡ画像間の位置合わせでは、ｘｙ面内においてサブピクセル位置合わせを行うために、ＯＣＴＡ画像のサイズを拡大して位置合わせを行う。サブピクセル位置合わせとすることで、ピクセル位置合わせよりも位置合わせの精度が向上することが期待される。例えば、ＯＣＴＡ画像の撮影サイズを３００×３００とした場合、６００×６００に拡大をする。拡大する際にはＢｉｃｕｂｉｃやＬａｎｃｚｏｓ（ｎ）法のような補間方法を用いる。そして、画像同士の位置合わせ処理としては、例えば、２つのＯＣＴＡ画像の類似度を表す評価関数を事前に定義しておき、ＯＣＴＡ画像位置をずらしたり、回転させたりしながら評価値を計算し、評価値が最もよくなる場所を位置合わせ結果とする。評価関数としては、画素値で評価する方法が挙げられる（例えば、相関係数を用いて評価を行う方法が挙げられる）。
【００５６】
類似度を表す評価関数として相関係数を用いた場合の式を数２に示す。
【００５７】
【数２】
2019047840.tif 000004
【００５８】
数２において、Ｄａｔａ０のＯＣＴＡ画像の領域をｆ（ｘ，  ｙ）、Ｄａｔａ１のＯＣＴＡ画像の領域をｇ（ｘ，  ｙ）とする。
【００５９】
【数３】
2019047840.tif 000005
は、それぞれ領域ｆ（ｘ，  ｙ）と領域ｇ（ｘ，  ｙ）の平均を表す。なお、ここで領域とは位置合わせに用いるための画像領域であり、通常ＯＣＴＡ画像のサイズ以下の領域が設定され、上述したＲＯＩサイズが設定される。
【００６０】
また、評価関数としては、これに限らずＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）や、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）でもよく、画像の類似度あるいは相違度を評価出来ればよい。あるいは、ＰＯＣ（Ｐｈａｓｅ  Ｏｎｌｙ  Ｃｏｒｒｅｌａｔｉｏｎ）のような方法で、位置合わせを行っても良い。この処理により、ＸＹ面内の大局的な位置合わせが行われる。
【００６１】
なお、ここではＯＣＴＡ画像のサイズを拡大して位置合わせを行う例について示したが、これに限らない。また、入力のＯＣＴＡ画像サイズが９００×９００のような高密度スキャンの場合には、必ずしも拡大をする必要はない。また、位置合わせを高速で行うため、ピラミッド構造データを生成して位置合わせをしてもよい。
【００６２】
＜ステップＳ３５３５＞
ステップＳ３５３５では、第一の位置合わせ部３３４は、ＯＣＴＡ画像の画像評価値を計算する。画像評価値は、ステップＳ３５３４での２次元位置合わせ済みのＯＣＴＡ画像において、位置合わせにより発生する無効領域を含まない画像の共通領域を用いて計算する。例えば、画像評価値Ｑは数４で求めることが出来る。
【００６３】
【数４】
2019047840.tif 000006
【００６４】
数３において、Ｄａｔａ０のＯＣＴＡ画像の領域をｆ（ｘ，  ｙ）、Ｄａｔａ１のＯＣＴＡ画像の領域をｇ（ｘ，  ｙ）とする。最初の項は相関係数を表し、数２で示した式と同様である。そのため、式の中のσｆ、σｇはそれぞれ、数２で示したものと対応する。２番目の項は明るさを評価する項であり、
【００６５】
【数５】
2019047840.tif 000007
は、それぞれ領域ｆ（ｘ，  ｙ）と領域ｇ（ｘ，  ｙ）の平均を表す。３番目の項はコントラストを評価する項である。それぞれの項は、最小値０で、最大値は１となる。例えば、Ｄａｔａ０とＤａｔａ１が同じ画像である場合には評価値は１となる。そのため、Ｎ個のＯＣＴＡ画像の中で平均的な画像を基準とした場合に評価値は高く、他のＯＣＴＡ画像と異なるようなＯＣＴＡ画像を基準とした場合には評価値は低くなる。ここで、他のＯＣＴＡ画像と異なるとは、撮影位置が異なる、画像がひずんでいる、全体的に暗いあるいは明るすぎる、白線や黒帯などのアーティファクトが含まれているような場合である。なお、画像評価値は必ずしもここで示した式である必要はなく、それぞれの項を単独で評価しても良いし、組み合わせを変えても良い。
【００６６】
＜ステップＳ３５３６＞
ステップＳ３５３６では、第一の位置合わせ部３３４は、ステップＳ３５３２で初期化した位置合わせや画像類似度などの画像高画質化に必要なパラメータを保存するための２次元行列に対して値を保存する。例えば、基準画像をＤａｔａ０、対象画像をＤａｔａ１とする場合、２次元行列の要素（０、１）に横方向の位置合わせパラメータＸ、縦方向の位置合わせパラメータＹ、ＸＹ面内の回転パラメータα、画像評価値、画像類似度を保存する。これらの情報の他に、図８で示したＭａｓｋ画像をＯＣＴＡ画像と関連付けて保存しておく。さらに、本実施形態では説明をしないが、倍率補正を行う場合には、倍率を保存しても良い。
【００６７】
＜ステップＳ３５３７＞
ステップＳ３５３７では、第一の位置合わせ部３３４は、全ての画像を基準画像として残りの対象画像と位置合わせを行ったか否かを判定する。全ての画像を基準として処理をしていない場合には、ステップＳ３５３３に戻る。そして、全ての画像を基準として処理をした場合には、ステップＳ３５３８に進む。
【００６８】
＜ステップＳ３５３８＞
ステップＳ３５３８では、第一の位置合わせ部３３４は、２次元行列の残りの要素を更新する。上記処理は、ステップＳ３５３３で説明したように、半分の組み合わせしか計算をしていない。そのため、計算をしていない要素にこれらの値をコピーする。例えば、２次元行列の要素（０、１）のパラメータは（１、０）の要素にコピーされる。すなわち、要素（ｉ、ｊ）を要素（ｊ、ｉ）にコピーする。この際、位置合わせパラメータＸ、Ｙと回転パラメータαは逆になるため、負の値を掛けてコピーをする。なお、画像類似度などは逆にならないため、同じ値をそのままコピーする。これらの処理によりＯＣＴＡ画像位置合わせが行われる。次に、図３（ｂ）の処理フローに戻って説明を行う。
【００６９】
＜ステップＳ３５４＞
ステップＳ３５４では、選択部３３５が基準画像の選択を行う。ステップＳ３５３で行った位置合わせの結果に基づいて基準画像選択を行う。ステップＳ３５３において、２次元行列を作成しており、行列の各要素に高画質化画像生成に必要な情報が保存されている。そのため、その情報を用いることで基準画像選択を行う。基準画像選択において、画像評価値、位置合わせパラメータ評価値、アーティファクト領域評価値を用いて選択を行う。画像評価値は、ステップＳ３５３５で求めた値を用いる。位置合わせパラメータは、ステップＳ３５３４で求めた位置合わせ結果のＸとＹを用いて、例えば、数６を用いて評価値とする。数６では、移動量が大きいほど大きな値となる。
【００７０】
【数６】
2019047840.tif 000008
【００７１】
アーティファクト領域評価値は、ステップＳ３５３１で求めたＭａｓｋ画像を用いて、例えば、数７を用いて評価値とする。数７では、Ｔ（ｘ，ｙ）はＭａｓｋ画像でのアーティファクトではない領域のピクセルを表し、Ａ（ｘ，ｙ）はＭａｓｋ画像の全ピクセルを表す。そのため、アーティファクトが存在しない場合、最大値は１となる。
【００７２】
【数７】
2019047840.tif 000009
【００７３】
画像評価値とアーティファクト領域評価値は数値が大きい方が良く、位置合わせパラメータ評価値は数値が小さい方が良い。また、画像評価値と位置合わせパラメータ評価値は、ある画像を基準とした時に、その他の画像との関係で求める値であるため、Ｎ−１個の合計値となる。これらの評価値は評価尺度が異なるため、それぞれの値でソートを行い、ソートしたインデックスの合計値により基準画像を選択する。例えば、画像評価値とアーティファクト領域評価値は数値が大きいほど、ソート後のインデックスが小さくなるようにソートを行い、位置合わせパラメータ評価値は数値が小さいほど、ソート後のインデックスが小さくなるようにソートを行う。これらのソート後のインデックス値が最も小さくなる画像を基準画像として選択する。
【００７４】
なお、基準画像選択の方法について、ソート値を合計することで基準画像を選択する例について述べたがこれに限らない。それぞれの評価値のソート後のインデックスに重みをつけて評価値を計算するようにしても良い。
【００７５】
あるいは、ソート値ではなく、それぞれの評価値が１になるように正規化をして計算するようにしても良い。例えば、画像評価値は１に正規化しているが、本実施形態においてはＮ−１個の合計値であるため、平均値を用いるようにすればよい。
【００７６】
位置合わせパラメータ評価値は、数８のように定義すれば１に正規化でき、この場合、評価値が１に近い方が良い評価値となる。
【００７７】
【数８】
2019047840.tif 000010
【００７８】
数８において、ＳＶｎは数６で求めた値のＮ−１個の合計値で、添え字のｎはＤａｔａ番号に対応する。そのため、Ｄａｔａ０の場合は、ＳＶ０である。ＳＶｍａｘは、Ｄａｔａ０〜Ｄａｔａ（Ｎ−１）の間で最大の位置合わせパラメータ評価値である。αは重みであり、ＳＶｎとＳＶｍａｘが同じ数値の時に、ＮＳＶｎの値をいくつに設定するかを調整するパラメータである。なお、最大値ＳＶｍａｘは上述したように実際のデータから決めても良いし、閾値として事前に定義しておいても良い。
【００７９】
アーティファクト領域評価値は０〜１に正規化してあるので、そのまま用いればよい。
【００８０】
このように、全ての評価値を１に正規化した場合には、評価値の合計値が最も大きくなるものを基準画像として選択する。
【００８１】
ここで説明したように、基準画像は、Ｎ個の画像の中で平均的な画像であり、他の画像を位置合わせする際に移動量が少なく、アーティファクトが少ないという条件を最も満たす画像が選択される。この例により選択される基準画像の例を図９（ｂ）に示す。この例では、基準画像にＤａｔａ１を選択している。そして、Ｄａｔａ０とＤａｔａ２は、第一の位置合わせ部３３４で求めた位置合わせパラメータに基づき、それぞれ移動している。
【００８２】
＜ステップＳ３５５＞
ステップＳ３５５では、第二の位置合わせ部３３６がＯＣＴＡ画像を用いて網膜の横方向（ｘ軸）の位置合わせを行う。これについて図１０を用いて説明をする。図１０（ａ）は、基準画像がＤａｔａ１で、位置合わせ対象がＤａｔａ２との横方向位置合わせを行う例を示している。また、Ｍａｓｋは、Ｄａｔａ２に含まれるアーティファクト（図では横方向の黒いライン）と、Ｄａｔａ１との位置合わせの結果Ｄａｔａ２が移動することにより生じる無効領域（図では縦方向の黒いライン）に０を設定してある。基準画像と位置合わせ対象画像は、それぞれのラインで横方向に位置合わせを行い、ライン単位での類似度を計算する。類似度の計算には、例えば数２を用いる。そして、類似度が最大となる位置にラインを移動させる。また、ライン単位で基準画像に対しての類似度を計算し、類似度に応じてＭａｓｋに重みを設定する。
【００８３】
第二の位置合わせ部３３６による位置合わせ結果の例を図１０（ｂ）に示す。図１０（ｂ）では、画像上端と画像中心付近では、基準画像と似ていないと判断し、重ね合わせに使用しないラインとしてＭａｓｋ画像に横方向の黒ラインを設定した例を示している。また、画像中心付近と画像下端では、ライン単位の位置合わせの結果として、中心付近では左側にずらし、画像下端では右側にずらした例を示している。画像をずらす事で無効領域が生じるため、Ｍａｓｋには無効領域に０を設定する。この処理により、ＸＹ面内の局所的な位置合わせが行われる。
【００８４】
なお、第一の位置合わせで求めた回転パラメータαに関して、第二の位置合わせを行う前にそれぞれの画像に対して適用しても良いし、第二の位置合わせを行った後に適用するようにしても良い。
【００８５】
＜ステップＳ３５６＞
ステップＳ３５６では、第三の位置合わせ部３３５は、基準の３次元データとその他の３次元データとの深さ方向（Ｚ方向）における位置合わせを行う。この処理に関して、図５のフローチャートを用いて説明をする。
【００８６】
＜ステップＳ３５６１＞
ステップＳ３５６１では、第三の位置合わせ部３３５は、基準となる３次元モーションコントラストデータと基準となる３次元の断層像データをそれぞれ記憶しておく。例えば、本実施形態ではＤａｔａ１の三次元モーションコントラストデータと３次元の断層像データを記憶する。
【００８７】
＜ステップＳ３５６２＞
ステップＳ３５６２では、第三の位置合わせ部３３５は、ステップＳ３５１で検出した境界線情報を取得する。なお、本実施形態において深さ方向位置合わせに用いる境界線は例えばＬ１とするが、これに限定されるものではない。
【００８８】
＜ステップＳ３５６３＞
ステップＳ３５６３では、第三の位置合わせ部３３５は、それぞれの３次元データ毎に深さ方向の位置と傾きを合わせる。３次元の断層像を撮影する際に眼は動いている。ＸＹ面内の移動に関しては、リアルタイムにトラッキングを行いながら撮影を行うため、撮影時にほとんど位置合わせが出来ている。しかし、深さ方向に関してはリアルタイムトラッキングをしていないため、データ内部でも位置合わせを行う必要がある。すなわち、ここでの説明は一つの３次元データ内の位置合わせに関する。これについて、図１１を用いて説明をする。図１１（ａ）は、位置合わせに用いる境界線の例を示している。本実施形態においては、境界線Ｌ１（ＩＬＭ）を用いる場合について説明をする。なお、本実施形態においては境界線Ｌ１を使用する例について説明を行うが、境界線の種類はこれに限らない。他の境界線でも良いし、複数の境界線を組み合わせても良い。
【００８９】
図１１（ａ）において、基準データをＩｎｄｅｘｃ、対象データをＩｎｄｅｘｃ−１としている。なお、最初の基準データは３次元データの中心、対象データは基準データに対して副走査方向において隣の境界線とする。
【００９０】
図１１（ｂ）に、説明のために基準データの境界線Ｌ１と位置合わせ対象の境界線Ｌ１’とを同時に表示する。図１１（ｂ）において、境界線を縦方向に１２分割している。本実施例では分割数を１２として説明をする。それぞれの領域はＡｒｅａ０〜Ａｒｅａ１１とする。なお、図１１（ｂ）において、画像中心部に分割領域を描画していないが、実際には画像全体を領域分割している。そして、上下矢印Ｄｉｆｆｅｒｅｎｃｅ１は、Ｌ１とＬ１’との差を表す。これらの差は、それぞれの領域Ａｒｅａ０〜Ａｒｅａ１１それぞれで求める。これらの分割数は横方向の画像サイズに応じて変更しても良い。あるいは、共通して検出した境界線の横幅のサイズに応じて変更しても良い。本実施例では簡単のため、横方向の境界線サイズを同じで表示しているが、実際には、網膜層が画像の上方向にずれ（Ｚ軸で０の方向）、網膜層の一部領域が画像から欠損する場合がある。その場合には、画像全体で境界線が検出出来ない。そのため、境界線同士の位置合わせにおいては、基準データの境界線Ｌ１と位置合わせ対象の境界線Ｌ１’との境界線が検出出来ている範囲を分割して位置合わせをすることが望ましい。
【００９１】
図１１（ｂ）において各領域のＤｉｆｆｅｒｅｎｃｅ１の平均をそれぞれＤ０〜Ｄ１１とする。すなわち、ＩＬＭの差の平均をその領域の差分の代表値とする。次に各領域で求めた代表値Ｄ０〜Ｄ１１を小さい順にソートする。そして、ソートした代表値を小さい順から８個用いて、平均と分散を計算する。なお、本実施形態では選択数は８個とする。しかし、数はこれに限定されない。選択する数は分割数よりも小さければよい。平均と分散の計算は、ソートした代表値を一つずつずらして計算する。すなわち、本実施形態では１２個に分割した領域のうち８個の代表値を用いて計算をするため、全部で５種類の平均値と分散値が求まる。次に、求めた５種類の分散値の中で最小となる分散値を算出した際の８個の差分の代表値を用いて深さ方向のシフト値と傾きを求める。これについて、図１１（ｃ）と数９を用いて説明をする。図１１（ｃ）は、横軸に分割領域の中心ｘ座標、縦軸に差分の代表値としたグラフである。図１１（ｃ）において、黒丸は分散値が最小となった組み合わせの差分の代表値の例であり、黒三角は選択されなかった差分の代表値の例を示している。数９は、分散値が最小となった組み合わせの差分の代表値（図１１（ｃ）における黒丸）を用いて計算をする。
【００９２】
【数９】
2019047840.tif 000011
【００９３】
【数１０】
2019047840.tif 000012
【００９４】
【数１１】
2019047840.tif 000013
【００９５】
数９においてＤが深さ方向のシフト値であり、ｘはｘ座標、すなわちＡスキャン位置である。数９におけるａとｂに関して、数１０と数１１に示す。数１０、数１１において、ｘｉは選択された分割領域の中心ｘ座標、Ｄｉは選択された差分の代表値であり、ｎは選択した代表値の数なので、本実施例においてｎは８となる。数９により、各Ａスキャンの深さ方向のシフト値が求まる。
【００９６】
ここで示すように境界線位置合わせ時に領域を分割し、分割した領域の差分値の組み合わせにおいて最もバラつきが小さくなる値を用いることで、境界線検出に誤りがあったとしても、それらの領域の値は使用しない。そのため、安定して深さ方向のシフト値を計算することが出来る。なお、各領域の深さ方向の代表値として平均値としたが中央値でも良く、代表的な値を用いることが出来ればよい。さらに、バラつきの値として分散値としたが標準偏差でもよく、値のバラつきを評価出来る指標であればよい。
【００９７】
この処理に関して、基準データと対象データを変えながら全てのデータに関して位置合わせを行う。すなわち、最初の基準データは３次元データの中心境界線、対象データは基準データの隣の境界線データとした。この位置合わせが終了したら、その次には、先ほど対象データとしたデータを基準データとして、さらにその隣のデータを対象データとして位置合わせを行う。この処理が画像の端まで完了したら、再度、基準データを中心境界線として、最初の位置合わせとは反対側の隣の境界線データを対象データとして位置合わせをする。反対側においてもこの処理を画像の端まで行う。万が一、層検出出来ていないデータがある場合には、一つ前の位置合わせパラメータを用いて補正を行い、次のデータに進む。
【００９８】
この処理を適用した例を図１２（ａ）に示す。図１２は、境界線Ｌ１のＺ座標を輝度値として表現したＤｅｐｔｈＭａｐである。すなわち、ＤｅｐｔｈＭａｐが明るい場合はＺ座標の値が大きく、ＤｅｐｔｈＭａｐが暗い場合はＺ座標の値が小さいことを表している。図１２（ａ）にはＤａｔａ０〜Ｄａｔａ２を示し、上側のＤｅｐｔｈＭａｐは位置合わせ前で、下側のＤｅｐｔｈＭａｐは位置合わせ後である。位置合わせ前のＤｅｐｔｈＭａｐには、全てのＤａｔａにおいて、横方向の色むらがある。これは、撮影時にＺ方向に網膜が動いていることを表している。一方、位置合わせ後のＤｅｐｔｈＭａｐには、横方向の色むらが無く、隣接するデータ間でＺ方向の位置が合っていることを表している。なお、深さ方向位置合わせにおいて、データの片側を位置合わせした後に、反対側の位置合わせをする例について示したが、それに限らない。最初の基準データを同じにして、両側の処理を並列に実行しても良い。
【００９９】
なお、第三の位置合わせ部３３５は、基準データ（本実施形態ではＤａｔａ１）の各Ａスキャンの深度方向への移動量を記憶しておく。
【０１００】
以上、本ステップの処理より、Ｙ方向（副走査方向）における断層の深度方向の位置合わせが行われる。すなわち、第三の位置合わせ部３３５は、３次元データ内において、副走査方向における眼底深度方向の位置合わせを行う第一の深度位置合わせ手段の一例に相当する。
【０１０１】
＜ステップＳ３５６４＞
ステップＳ３５６４では、第三の位置合わせ部３３５は、複数の３次元データ間での深さ方向の位置と傾きを合わせる。ここでは、ステップＳ３５６３で３次元データ内での深さ方向の位置合わせをしたデータを用いて、３次元データ間での位置合わせを行う。ここでも、先ほどと同様に境界線Ｌ１を用いて位置合わせをする。計算方法は、ステップＳ３５６３と同様であるが、計算する対象は、データ内ではなくデータ間となる。そのため、基準データと対象データとの位置合わせを行う。これについて、図１２（ｂ）を用いて説明をする。本実施形態において、基準データはＤａｔａ１で、位置合わせの対象データはＤａｔａ０とＤａｔａ２とする。そのため、ＤｅｐｔｈＭａｐに対して、第一の位置合わせ、第二の位置合わせで求めたパラメータを適用して、Ｄａｔａ０とＤａｔａ２のＤｅｐｔｈＭａｐをそれぞれ変形させる。そして、Ｄａｔａ０とＤａｔａ２共に、Ｄａｔａ１に対して、各Ｂスキャンに相当する境界線Ｌ１の深さ方向位置合わせを実行する。これらの計算式は数９と同様の方法で行う。
【０１０２】
図１２（ｂ）では、Ｄａｔａ０〜Ｄａｔａ２を示し、上側のＤｅｐｔｈＭａｐはデータ内での位置合わせ後で、下側のＤｅｐｔｈＭａｐはデータ間での位置合わせ後である。データ内での位置合わせ後のＤｅｐｔｈＭａｐでは、Ｄａｔａ０〜Ｄａｔａ２において網膜のＺ位置が異なるため、ＤｅｐｔｈＭａｐの明るさが異なっている。一方、データ間での位置合わせ後のＤｅｐｔｈＭａｐでは、Ｄａｔａ０〜Ｄａｔａ２において網膜のＺ位置が揃っているため、ＤｅｐｔｈＭａｐの明るさも揃っていることを表している。
【０１０３】
これらの処理により、Ｚ方向の大局的な位置合わせが行われる。
【０１０４】
＜ステップＳ３５６５＞
ステップＳ３５６５では、第三の位置合わせ部３３５は、第一の位置合わせ、第二の位置合わせ、第三の位置合わせで求めたＸ、Ｙ、Ｒｏｔａｔｉｏｎ、Ｚに関する変形パラメータを適用して３次元データを変形する。３次元データは断層像データ、モーションコントラストデータの両方ともに変形をする。なお、ステップＳ３５３４においてｘｙ面内において画像を拡大して位置合わせを行っている場合、３次元データ変形時に元のサイズに相当する変形パラメータに戻す。すなわち、２倍に拡大した画像でのｘｙ面内位置合わせパラメータの数値が１であった場合、ここでは、０．５であるとする。そして、元のサイズで３次元データの形状変形を行う。
【０１０５】
３次元データを変換する際に、Ｘ、Ｙ、Ｒｏｔａｔｉｏｎ、Ｚに関する変形パラメータがサブピクセルあるいはサブボクセルでの移動量である場合、３次元データを補間処理で変形させる。補間処理で生成されたデータは補間データの一例に相当する。複数の３次元データそれぞれに置いて補間データが生成された場合には、以降のステップにおいて補間データ間における位置合わせが行われることとなる。ここで、サブピクセルあるいはサブボクセルであるとは、移動量が０．５のような実数値の場合や、Ｒｏｔａｔｉｏｎパラメータが０ではなく、データを回転させる場合などの事である。形状データの補間には、ＢｉｃｕｂｉｃやＬａｎｃｚｏｓ（ｎ）法などを用いる。
【０１０６】
図１３は、Ｄａｔａ０〜Ｄａｔａ２の三次元断層像を示しており、上側の３次元断層像は、位置合わせを行う前の３次元断層像であり、下側の３次元断層像は、第一の位置合わせ、第二の位置合わせ、第三の位置合わせを行った後に画像変形した３次元断層像である。ここで示すように、データ内かつデータ間での位置合わせ後の３次元断層像は、Ｄａｔａ０〜Ｄａｔａ２において網膜のＸＹＺに関する位置合わせが成されたことを表している。
【０１０７】
＜ステップＳ３５６６＞
ステップＳ３５６６では、第三の位置合わせ部３３５は、データ間でのＺ位置合わせを行ったＤｅｐｔｈＭａｐにおいて、基準データと対象データとの差分検出を行う。そして、差分の絶対値が閾値以上の場所（ｘ、ｙ）においては、位置合わせの精度が低いと判断し重ね合わせに使用しない。そのため、対象データのＭａｓｋ画像に無効領域として０を設定する。
【０１０８】
＜ステップＳ３５７＞
ステップＳ３５７では、第四の位置合わせ部３３８は、基準データと対象データ間において、断層画像内部の特徴がある部分に位置合わせのための領域を複数設定し、その領域単位で網膜の横方向（ｘ軸）と深さ方向（ｚ軸）の位置合わせを行う。なお、ここでの位置合わせはＺ方向の局所位置合わせとして説明をする。第四の位置合わせ部３３８が行う局所位置合わせについて、図６のフローチャートを用いて説明をする。
【０１０９】
＜ステップＳ３５７１＞
ステップＳ３５７１では、第四の位置合わせ部３３８は、ステップＳ３５１で検出した境界線情報を取得する。なお、本実施形態において深さ方向位置合わせに用いる境界線はＬ１とＬ３とする。
【０１１０】
＜ステップＳ３５７２＞
ステップＳ３５７２では、第四の位置合わせ部３３８は、対象画像の特徴領域を含むように位置合わせ用の領域を設定する。これについて、図１４を用いて説明をする。
【０１１１】
図１４には基準データの３次元断層像の中の断層画像と、位置合わせ対象となる３次元断層像の中の断層画像を示している。位置合わせ対象となる対象画像１には、基準断層画像の境界線情報Ｌ１とＬ３を基にして設定する複数の位置合わせ用の領域（ＲＯＩ：Ｒｅｇｉｏｎ  ｏｆ  Ｉｎｔｅｒｅｓｔｉｎｇ）の例を示す。ＲＯＩの深さ方向サイズは、Ｌ１とＬ３を基準として、それよりもそれぞれ数１０ピクセル程度、上方向と下方向に広く設定する。なお、上下方向に数１０ピクセル程度パラメータを設定する場合において、大局位置合わせの結果を用いてパラメータを補正することがある。これは、図１４の対象画像１に示すように大局位置合わせにおいて、画像全体を下方向にシフトさせている場合、画像の上端部に無効領域が存在する。この場合、ＲＯＩを設定する範囲とその探索領域が無効領域を含まないように初期のＲＯＩサイズを補正する必要がある。ＲＯＩの横方向サイズは、画像を分割したサイズから設定する。分割数は、画像のサイズ（Ａスキャン本数）や画像の撮影サイズ（３ｍｍ）など、撮影パラメータに合わせて設定をする。例えば、本実施形態において、Ａスキャン本数を３００、撮影サイズを３ｍｍとした場合、分割数は１０とする。なお、横方向のサイズとＲＯＩの設定値においても大局位置合わせの結果を用いて補正を行う。上下方向のパラメータ同様に横方向においても無効領域が存在することがあるため、ＲＯＩを設定する範囲とその探索領域が無効領域を含まないように設定する必要がある。
【０１１２】
そして、局所位置合わせ用のＲＯＩは、それぞれ重畳するように設定する。これは、ＲＯＩを重複させずに、ＲＯＩのサイズを小さくする場合、ＲＯＩの中に特徴的な部位を含まない場所が存在することがあるためである。例えば、網膜を狭画角で撮影した場合、画像内に平坦な組織が広い範囲において写る場合がある。また一方、ＲＯＩを重複させずに、特徴を含むようにＲＯＩの範囲を広く設定すると、局所位置合わせのためのサンプリング数が少なくなり、粗い位置合わせとなってしまうためである。そのため、これらの問題を解決するために、ＲＯＩのＸ方向のサイズを広くして、かつそれぞれのＲＯＩ同士を重畳させて設定する。なお、図１４において、画像中心部にＲＯＩを描画していないが、実際には画像の左端から右端まで網膜上にＲＯＩを設定する。さらに、ＲＯＩを設定する間隔は、ＲＯＩ位置合わせ時の探索範囲を考慮するのが望ましい。具体的には、ＲＯＩ位置合わせ時の横方向探索範囲をＸＲとする場合、隣接するＲＯＩの中心座標の間隔が２ＸＲ以上となるように設定をする。これは、中心座標の間隔を２ＸＲ未満とする場合、隣接するＲＯＩ同士の中心位置が入れ替わる可能性があるためである。
【０１１３】
＜ステップＳ３５７３＞
ステップＳ３５７３では、第四の位置合わせ部３３８は、ＲＯＩを使って領域位置合わせを行う。領域位置合わせは断層画像で行う。そのため、ステップＳ３５３４で示したＯＣＴＡ画像位置合わせと同様に数１を用いて画像類似度に応じた位置合わせを行う。ただし、類似度の評価値はこれに限らず、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）や、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）などでも良い。あるいは、ＰＯＣ（Ｐｈａｓｅ  Ｏｎｌｙ  Ｃｏｒｒｅｌａｔｉｏｎ）のような方法で、位置合わせを行っても良い。
【０１１４】
画像位置合わせは、対象画像に設定したＲＯＩが基準となる断層画像ではどこにあるかを探索する。この際、第一〜第三の位置合わせにより、３次元の断層像データの変形を行っているので、基準画像と対象画像とのおおよその位置は合っている。そのため、基準画像での位置合わせの探索範囲は、ＲＯＩの初期位置から上下左右数〜数１０ピクセルを探索すればよく、最も類似する場所を位置合わせ結果とする。なお、探索領域は固定でも良いし、撮影画角、撮影部位、画像の場所（端や中心）に応じて変更しても良い。撮影画角が狭くスキャンスピードが速い場合には、１枚の画像を撮影している間の眼の移動量は小さいが、撮影画角が広くなると眼の移動量も大きくなる。そのため、撮影画角が大きい場合には探索範囲を広くしても良い。また、眼が回転する中心部分と周辺部とでは、移動量は周辺部の方が大きくなるため、周辺部の方を探索範囲を広くしてもよい。
【０１１５】
＜ステップＳ３５７４＞
ステップＳ３５７４では、第四の位置合わせ部３３８は、ステップＳ３５７３で求めた位置合わせパラメータを補間することで各Ａスキャンの移動量を算出する。これについて、図１５を用いて説明をする。図１５（ａ）は、初期設定した領域のＲＯＩ１〜ＲＯＩ３を表している。Ｃ１〜Ｃ３の下三角はＲＯＩ１〜ＲＯＩ３の中心位置を表している。また、図１５（ｂ）は、ステップＳ３５７３での位置合わせ後のＲＯＩの移動例を示している。図１５（ｂ）においては、ＲＯＩ１とＲＯＩ３がそれぞれ右側に移動し、ＲＯＩ２が移動しない場合の例である。そのため、ＲＯＩの中心Ｃ１とＣ３がそれぞれＣ１’とＣ３’に移動している。各ＲＯＩの移動量からＡスキャンの移動量を算出するためには、隣接するＲＯＩとＲＯＩの中心位置の移動量に基づいて算出をする。例えば、ＲＯＩ１の中心位置はＣ１からＣ１’に移動しており、ＲＯＩ２の中心位置はＣ２のままである。ここで、変形前のＣ１からＣ２の間にある各ＡスキャンのＸ方向移動量を求める式を数１２〜１４に示す。
【０１１６】
【数１２】
2019047840.tif 000014
【０１１７】
【数１３】
2019047840.tif 000015
【０１１８】
【数１４】
2019047840.tif 000016
【０１１９】
数１２〜１４において、Ｘ１、Ｘ２は各ＲＯＩの初期中心座標、ΔＸ１、ΔＸ２は各ＲＯＩの中心座標のＸ方向移動量、Ａ＿ｂｅｆｏｒｅは変形前のＡスキャンインデックスの値、Ａ＿ａｆｔｅｒはＡ＿ｂｅｆｏｒｅが参照する、変形前のＡスキャンインデックスの値となる。例えば、Ａ＿ｂｅｆｏｒｅが５５、計算の結果でＡ＿ａｆｔｅｒが５６とする場合、Ａスキャンインデックス５５には、Ａスキャンインデックス５６のＡスキャンデータが入る。なお、Ｚ方向の移動量も数１２〜１４と同様の考え方に基づき、各ＲＯＩの中心位置の移動量から求めることが出来、上下方向に数ピクセルデータを移動する。なお、Ａ＿ａｆｔｅｒの値は実数でも整数でも良い。実数の場合は、複数のＡスキャンデータから補間方法（ＢｉｌｉｎｅａｒやＢｉｃｕｂｉｃ等）により新しいＡスキャンデータを作成する。整数の場合は、対応するＡスキャンインデックスのデータをそのまま参照する。なお、ここでは、Ｘ方向とＺ方向の両方を局所的に位置合わせする例を示したがこれに限らない。例えば、Ｘ方向だけ、Ｚ方向だけのどちらか一方のみを局所的に変形させるようにしても良い。なお、Ｘ方向はトラッキングで撮影時に位置合わせを行っているため、処理負荷を軽減するために、Ｚ方向のみ局所的な位置合わせをするようにしても良い。
【０１２０】
＜ステップＳ３５７５＞
ステップＳ３５７５では、第四の位置合わせ部３３８は、ステップＳ３５７４で求めたＡスキャン移動量を基に、Ａスキャン毎にＸ方向とＺ方向に移動させる。それにより、Ａスキャン単位で変形した断層画像を生成することが出来る。なお、変形させる３次元データは断層像データ、モーションコントラストデータの両方ともに変形をする。
【０１２１】
＜ステップＳ３５７６＞
ステップＳ３５７６では、基準となる３次元データの全ての断層画像に対して、位置合わせの対象となるデータの全てに対して局所位置合わせを行ったか否かを判定する。全てのデータを処理していない場合には、ステップＳ３５６１に戻る。そして、全てのデータを局所位置合わせした場合には、局所位置合わせの処理が終了する。
【０１２２】
これらの処理により局所位置合わせが行われる。次に、図３（ｂ）の処理フローに戻って説明を行う。
【０１２３】
＜ステップＳ３５８＞
ステップＳ３５８では、画像合成部３３９は、選択部３３５が選択した基準となる３次元モーションコントラストデータと、複数の３次元モーションコントラストデータ同士を加算平均する。加算平均処理では、ボクセル毎に、複数のモーションコントラストデータとＭａｓｋ画像の値を掛け算した値の合計値ＳＵＭ＿Ａと、複数のＭａｓｋ画像の値の合計値ＳＵＭ＿Ｂをそれぞれ保持しておく。Ｍａｓｋ画像にはアーティファクトとして除去した無効領域や、位置合わせによりデータが存在しない無効領域が０として保存されているため、Ｍａｓｋ画像の合計値ＳＵＭ＿Ｂにはボクセル毎に異なる値が保持されている。通常、位置合わせにおいてＸＹＺ毎、数１０ボクセルの移動が想定されるため、重ね合わせに用いたデータ数がＮ個である場合、画像中心付近のＳＵＭ＿Ｂのボクセル値はＮであり、画像端部のＳＵＭ＿Ｂのボクセル値はＮよりも少ない値になる。そして、加算平均処理では、ＳＵＭ＿ＡをＳＵＭ＿Ｂで割ることにより加算平均を計算したモーションコントラストデータを求めることが出来る。
【０１２４】
これらの加算平均処理を行う前後のモーションコントラストデータを図１６〜図１８に示す。図１６はＸＺ面、図１７はＯＣＴＡ画像、図１８は３次元モーションコントラストデータをボリュームレンダリングして表示する例である。
【０１２５】
図１６（ａ）は加算平均前の３次元モーションコントラストデータのＸＺ面を示し、図１６（ｂ）は加算平均後の３次元モーションコントラストデータのＸＺ面を示す。図１７（ａ）は加算平均前の３次元モーションコントラストデータから生成する網膜表層のＯＣＴＡ画像、図１７（ｂ）は加算平均後の３次元モーションコントラストデータから生成する網膜表層のＯＣＴＡ画像を示す。図１８（ａ）は加算平均前の３次元モーションコントラストデータのボリュームレンダリングデータ、図１７（ｂ）は加算平均後の３次元モーションコントラストデータのボリュームレンダリングデータの例である。図１６〜図１８に示すように加算平均処理により、コントラストが向上した３次元モーションコントラストデータを得ることが出来る。図１８のようにモーションコントラストデータのボリュームレンダリングを行うと、２次元のＯＣＴＡ画像では認識しにくい血管の深さ方向における上下関係なども把握しやすくなる。
【０１２６】
３次元モーションコントラストデータと同様に、複数の３次元断層像データに関しても加算平均処理を行う。
【０１２７】
＜ステップＳ３５９＞
ステップＳ３５９では、第三の位置合わせ部３３７は、ステップＳ３５６１で記憶している入力の３次元モーションコントラストデータと３次元の断層像データと、ステップＳ３５６３で記憶している各Ａスキャンの深度方向移動量に基づいて、基準データ（本実施形態ではＤａｔａ１）の網膜位置を入力時の深度位置の状態に戻す。具体的には、ステップＳ３５８で加算平均後の３次元モーションコントラストデータと３次元の断層像データを、ステップＳ３５６３で記憶している各Ａスキャンの深度方向移動量を用いて元の状態に戻す。例えば、あるＡスキャンにおいて下方向に５移動させている場合、ここでは上方向に５移動させる。さらに、上方向に５移動させることで、データ下部に無効領域が発生してしまう。そのため、その無効領域には、ステップＳ３５６１で記憶している入力の３次元モーションコントラストデータと３次元の断層像データにおいて、同じ座標位置のデータをそれぞれコピーする。
【０１２８】
なお、加算平均後データの無効領域に対して入力のデータをコピーする例を示したが、これに限らない。第三の位置合わせ部３３７で記憶した入力の３次元データに対して、加算平均後の３次元データから元々の座標位置に対応する範囲のデータを切り出してコピーするようにしても良い。それにより、上述ではデータ移動後に無効領域へのコピーという２ステップでの処理であったが、ここでは、コピーのみの１ステップとなるため、処理負荷を減らすことが出来る。なお、この場合、第三の位置合わせ部３３７で記憶している入力の３次元データに対してコピーをしているため、最終的な出力データは第三の位置合わせ部３３７で記憶しているデータとなる。
【０１２９】
これらの処理を行った後、図３（ａ）のフローチャートに処理が戻る。
【０１３０】
＜ステップＳ３０６＞
ステップＳ３０６では、加算平均して作成した高画質な３次元モーションコントラストデータ、あるいは高画質な３次元断層像の結果を表示部６００に表示する。
【０１３１】
加算平均後の３次元モーションコントラストデータに対して指定された生成範囲上端と生成範囲下端との範囲に対応するモーションコントラストデータを２次元平面上に投影してＯＣＴＡ画像を生成し、そのＯＣＴＡ画像を表示する。あるいは、閾値処理を行った３次元モーションコントラストデータにカラーの設定をして、輝度値の３次元断層像に重畳表示する。これにより、網膜の形態とモーションコントラストが起きている場所との対応関係を容易に把握することが出来る。あるいは、加算平均処理をした３次元モーションコントラストデータをボリュームレンダリングして３次元的に表示をするようにしても良い。
【０１３２】
＜ステップＳ３０７＞
ステップＳ３０７において、不図示の指示取得部は、画像処理システム１００による断層画像の撮影を終了するか否かの指示を外部から取得する。この指示は、入力部７００を用いて、操作者によって入力される。処理を終了する指示を取得した場合には、画像処理システム１００はその処理を終了する。一方、処理を終了せずに、撮影を続ける場合には、ステップＳ３０２に処理を戻して撮影を続行する。以上によって、画像処理システム１００の処理が行われる。
【０１３３】
以上で述べた構成によれば、本実施形態では、複数のモーションコントラストデータの位置合わせをすると共に、アーティファクト領域の除去を行い、画像合成処理を行った。それにより、モーションコントラストデータにアーティファクトが存在する場合においても高画質な３次元のモーションコントラストデータを生成することが出来る。
【０１３４】
より具体的には、本実施形態では、境界線と画像特徴量を用いて大局的な位置合わせを行うと同時に高画質データ生成のための基準と加算領域の選択を行った。深度方向においては、画像データ内、画像データ間において、網膜の深さと傾きの位置合わせを行った。さらに、位置合わせ済みの３次元断層像の中の２次元断層画像において、対応する局所的な領域を用いて領域間の類似度を計算し、各領域単位で位置合わせ処理を行った。これらの処理により、撮影中に発生するアーティファクトや、固視微動などにより局所的に網膜層が変形しているような場合においても、高画質な３次元モーションコントラストデータを生成することができる。
【０１３５】
（変形例１）
本実施形態では、繰り返しＮ回撮影するデータは、同じ撮影範囲を同じスキャンパターンで撮影する例を説明したが、これに限らない。例えば、３ｍｍ×３ｍｍの範囲を３００×３００（主走査×副走査）で撮影したデータと、３ｍｍ×３ｍｍの範囲を６００×６００で撮影したデータとを位置合わせするようにしても良い。この時の深度方向のサイズはどちらのデータにおいても共通で、例えば１０００とする。その場合には、１ボクセルあたりの物理サイズを揃えるデータ変換処理を行った後に、上述した位置合わせ処理を実行する。なお、この例では、３００×３００のデータを補間処理によって６００×６００に拡大してから処理をするようにしても良いし、６００×６００のデータを補間処理によって３００×３００に縮小してから処理をするようにしても良い。また、３ｍｍ×３ｍｍの範囲を３００×３００で撮影したデータと、６ｍｍ×６ｍｍの範囲を６００×６００で撮影したデータとを位置合わせする場合には、１ボクセルあたりの物理サイズは同じであるため、このままのサイズ同士で位置合わせを行う。これにより、異なる撮影範囲や異なるスキャン密度で撮影したデータ同士も加算平均することが出来る。
【０１３６】
（変形例２）
本実施形態では、基準画像選択において、画像評価値、位置合わせパラメータ評価値、アーティファクト領域評価値を用いて選択を行う例を説明したが、これに限らない。例えば、さらに層検出の評価値を用いて基準画像選択をしても良い。
【０１３７】
層検出の評価値は、検出部３３３が層検出する際に算出する。層検出時にＡスキャン毎に断層像の輝度値を参照するが、検出時の断層像の輝度値の情報を基に、Ａスキャン毎に検出精度の信頼度を設定して判定するようにしても良い。例えば、断層像の輝度値が低い場合などは、まばたき等があり、正しく網膜を検出できていない可能性があるため、検出の信頼度が低くなるように定義する。あるいは、輝度値だけではなく境界線の位置に基づいて定義しても良い。例えば、境界線の位置がＺ方向において上端や下端に接している場合には、正しく層を検出できない可能性があるため検出の信頼度が低くなる。
【０１３８】
上記のような層検出の信頼度を用いて、閾値以上の層検出領域を評価する。層検出領域の評価値は、数７のアーティファクト領域評価値と同様の方法で評価することが出来る。例えば、数７において、Ｔ（ｘ，ｙ）のアーティファクトではない領域を、閾値以上の層検出領域と置き換えればよい。これにより、断層データの深さ情報も用いるため、基準画像として、より確からしいデータを選択することが出来る。
【０１３９】
（変形例３）
本実施形態では、データ内でのＺ方向位置合わせにおいて、最初の基準データをデータの中心としたがこれに限らない。例えば、画像中心付近において境界線Ｌ１の層検出の信頼度が高い場所を基準として始めるようにしてもよい。層検出の信頼度は、変形例２で示したように、画像の明るさや検出した層境界のＺ方向位置によって定義される。これにより、信頼度の高い箇所を基にして位置合わせを開始するため、位置合わせのエラーを低減することが期待できる。
【０１４０】
（変形例４）
本実施形態において、３次元のモーションコントラストデータと３次元の断層像の両方を３次元的に形状変形し、加算平均する例を示したが、これに限らない。モーションコントラストデータだけを変形させても良い。その場合、第四の位置合わせ部３３８は、本実施形態においては断層像を用いて位置合わせを行っているが、モーションコントラストデータを用いて位置合わせを行う。また、画像合成部３３９による加算平均処理も３次元のモーションコントラストデータのみ行う。モーションコントラストデータのみを高画質にすれば良い場合は、モーションコントラストデータのみを形状変形させるため、処理負荷を軽減することが出来る。
【０１４１】
（変形例５）
本実施形態において、ステップＳ３５３４においてＯＣＴＡ画像をｘｙ面内で拡大して位置合わせを行い、ステップＳ３５６５において、ｘｙ面内の移動パラメータを元のサイズに相当する移動パラメータに変換した。そして、元のサイズで３次元データの形状変形を行う例を示したが、これに限らない。例えば、３次元データそのものを拡大して位置合わせを行い、そのままの状態で出力をするようにしても良い。具体的には、３次元データのサイズが３００×３００×１０００（主走査×副走査×深度）のような数値だとする。これを６００×６００×１０００に拡大して位置合わせと加算平均を行い、そのままのサイズでデータ出力を行っても良い。あるいは、６００×６００×１０００に拡大して位置合わせと加算平均を行った後、最後に３００×３００×１０００のサイズに戻して出力するようにしても良い。これにより、出力される３次元の加算平均後のデータは、より高画質になることが期待される。
【０１４２】
（変形例６）
本実施形態において、第三の位置合わせ部３３７は、Ｚ方向に移動させたデータをステップＳ３５９において、入力時のＺ位置に戻す処理を行ったが、これに限らない。例えば、入力時のＺ位置に戻さずに第三の位置合わせ部３３７で行ったＺ位置合わせの結果のまま出力するようにしても良い。これにより、Ｚ方向に関する深さと傾きの位置合わせが済んだデータを表示することが出来る。なお、この場合には、ステップＳ３５６１の基準データ記憶の処理を行う必要がない。その代わり、Ｚ方向にデータ全体を変形させているため、検出部３３３が検出した層境界のＺ方向位置をステップＳ３５６３で記憶している移動量に基づいて補正する。
【０１４３】
（変形例７）
本実施形態において、撮影から表示までを一連の流れで示したがこれに限らない。例えば、既に撮影が済んでいるデータを用いて高画質画像生成処理を行ってもよい。その場合、撮影に関する処理をスキップし、その代わりに撮影済みの複数の３次元のモーションコントラストデータと３次元の断層像を取得する。そして、ステップＳ３０５で高画質画像生成処理を行う。これにより、複数回撮影を行ったデータに関して、撮影時に処理をしなくても、必要な時に高画質化処理を実行することが出来る。そのため、撮影時には撮影だけに集中することが出来る。
【０１４４】
（その他の実施形態）
上記のそれぞれの実施形態は、本発明を画像処理装置として実現したものである。しかしながら、本発明の実施形態は画像処理装置のみに限定されるものではない。本発明をコンピュータ上で動作するソフトウェアとして実現することも可能である。画像処理装置のＣＰＵは、ＲＡＭやＲＯＭに格納されたコンピュータプログラムやデータを用いてコンピュータ全体の制御を行う。また、画像処理装置の各部に対応するソフトウェアの実行を制御して、各部の機能を実現する。また、ボタンなどのユーザーインターフェイスや表示のレイアウトは上記で示したものに限定されるものではない。
【符号の説明】
【０１４５】
１００  画像処理システム
２００  断層画像撮影装置
３００  画像処理装置
３０１  画像取得部
３０３  画像処理部
３０５  表示制御部
３１１  断層画像生成部
３１２  モーションコントラストデータ生成部
３３１  前処理部
３３２  画像生成部
３３３  検出部
３３４  第一の位置合わせ部
３３５  選択部
３３６  第二の位置合わせ部
３３７  第三の位置合わせ部
３３８  第四の位置合わせ部
３３９  画像合成部
４００  眼底画像撮影装置
５００  外部記憶部
６００  表示部
７００  入力部
【図１】
2019047840.tif 000017
【図２】
2019047840.tif 000018
【図３】
2019047840.tif 000019
【図４】
2019047840.tif 000020
【図５】
2019047840.tif 000021
【図６】
2019047840.tif 000022
【図７】
2019047840.tif 000023
【図８】
2019047840.tif 000024
【図９】
2019047840.tif 000025
【図１０】
2019047840.tif 000026
【図１１】
2019047840.tif 000027
【図１２】
2019047840.tif 000028
【図１３】
2019047840.tif 000029
【図１４】
2019047840.tif 000030
【図１５】
2019047840.tif 000031
【図１６】
2019047840.tif 000032
【図１７】
2019047840.tif 000033
【図１８】
2019047840.tif 000034