【実施例】
【0041】
以下、図面に沿って、本実施形態の装置における実施例を説明する。
図1は本実施例に係る光断層画像撮影装置の構成について説明する概略構成図である。以下の説明では、眼科撮影装置を例として説明する。なお、本実施形態においては、被検者眼(眼E)の軸方向をZ方向、水平方向をX方向、鉛直方向をY方向として説明する。眼底の表面方向をXY方向として考えても良い。
【0042】
装置構成の概略を説明する。本装置は、眼Eの眼底Efの断層画像を撮影するための光コヒーレンストモグラフィーデバイス(OCTデバイス)10である。OCTデバイス10は、干渉光学系(OCT光学系)100と、正面観察光学系200と、固視標投影ユニット300と、演算制御部(CPU)70と、を含む。
【0043】
OCT光学系100は、眼底に測定光を照射する。OCT光学系100は、眼底から反射された測定光と,参照光との干渉状態を受光素子(検出器120)によって検出する。OCT光学系100は、眼底Ef上の撮像位置を変更するため、眼底Ef上における測定光の照射位置を変更する照射位置変更ユニット(例えば、光スキャナ108、固視標投影ユニット300)を備える。制御器70は、設定された撮像位置情報に基づいて照射位置変更ユニットの動作を制御し、検出器120からの受光信号に基づいて断層画像を取得する。
【0044】
<OCT光学系>
OCT光学系100は、いわゆる眼科用光断層干渉計の装置構成を持つ。OCT光学系100は、光源102から出射された光をカップラー(スプリッタ)104によって測定光と参照光に分割する。そして、OCT光学系100は、測定光学系106によって測定光を眼Eの眼底Efに導き,また、参照光を参照光学系110に導く。その後、眼底Efによって反射された測定光と,参照光との合成によって取得される干渉光を検出器(受光素子)120に受光させる。
【0045】
検出器120は、測定光と参照光との干渉状態を検出する。フーリエドメインOCTの場合では、干渉光のスペクトル強度が検出器120によって検出され、スペクトル強度データに対するフーリエ変換によって所定範囲における深さプロファイルが取得される。例えば、Spectral-domain OCT(SD−OCT)、Swept-source OCT(SS−OCT)が挙げられる。
【0046】
SD−OCTの場合、光源102として低コヒーレント光源(広帯域光源)が用いられ、検出器120には、干渉光を各周波数成分(各波長成分)に分光する分光光学系(スペクトルメータ)が設けられる。スペクトルメータは、例えば、回折格子とラインセンサからなる。
【0047】
SS−OCTの場合、光源102として出射波長を時間的に高速で変化させる波長走査型光源(波長可変光源)が用いられ、検出器120として、例えば、単一の受光素子が設けられる。光源102は、例えば、光源、ファイバーリング共振器、及び波長選択フィルタによって構成される。そして、波長選択フィルタとして、例えば、回折格子とポリゴンミラーの組み合わせ、ファブリー・ペローエタロンを用いたものが挙げられる。
【0048】
光源102から出射された光は、カップラー104によって測定光と参照光に分割される。そして、測定光は、光ファイバーを通過した後、空気中へ出射される。その光束は、光スキャナ108、及び測定光学系106の他の光学部材を介して眼底Efに集光される。そして、眼底Efで反射された光は、同様の光路を経て光ファイバーに戻される。
【0049】
光スキャナ108は、眼底上でXY方向(横断方向)に測定光を走査させる。光スキャナ108は、瞳孔と略共役な位置に配置される。光スキャナ108は、例えば、2つのガルバノミラーであり、その反射角度が駆動機構50によって任意に調整される。
【0050】
これにより、光源102から出射された光束はその反射(進行)方向が変化され、眼底上で任意の方向に走査される。これにより、眼底Ef上における撮像位置が変更される。光スキャナ108としては、反射ミラー(ガルバノミラー、ポリゴンミラー、レゾナントスキャナ)の他、光の進行(偏向)方向を変化させる音響光学素子(AOM)等が用いられる。
【0051】
参照光学系110は、眼底Efでの測定光の反射によって取得される反射光と合成される参照光を生成する。参照光学系110は、マイケルソンタイプであってもよいし、マッハツェンダタイプであっても良い。参照光学系110は、例えば、反射光学系(例えば、参照ミラー)によって形成され、カップラー104からの光を反射光学系により反射することにより再度カップラー104に戻し、検出器120に導く。他の例としては、参照光学系110は、透過光学系(例えば、光ファイバー)によって形成され、カップラー104からの光を戻さず透過させることにより検出器120へと導く。
【0052】
本装置は、測定光と参照光との光路長差を調整するために干渉光学系100に配置された光学部材の少なくとも一部を光軸方向に移動させる。例えば、参照光学系110は、参照光路中の光学部材(例えば、参照ミラー111)を移動させることにより、測定光と参照光との光路長差を調整する構成を有する。例えば、駆動機構112の駆動によって参照ミラー111が光軸方向に移動される。光路長差を変更するための構成は、測定光学系106の測定光路中に配置されてもよい。測定光路中に配置された光学部材(例えば、光ファイバーの端部)が光軸方向に移動される。なお、干渉光学系100全体を内蔵する装置筐体を眼Eに対して移動させることにより、光路長差を調整する構成であってもよい。
【0053】
<正面観察光学系>
正面観察光学系200は、眼底Efの正面画像を得るために設けられている。観察光学系200は、例えば、光源から発せられた測定光(例えば、赤外光)を眼底上で二次元的に走査させる光スキャナと、眼底と略共役位置に配置された共焦点開口を介して眼底反射光を受光する第2の受光素子と、を備え、いわゆる眼科用走査型レーザ検眼鏡(SLO)の装置構成を持つ。
【0054】
なお、観察光学系200の構成としては、いわゆる眼底カメラタイプの構成であってもよい。また、OCT光学系100は、観察光学系200を兼用してもよい。すなわち、正面画像は、二次元的に得られた断層画像を形成するデータを用いて取得されるようにしてもよい(例えば、三次元断層画像の深さ方向への積算画像、XY各位置でのスペクトルデータの積算値等)。
【0055】
<固視標投影ユニット>
固視標投影ユニット300は、眼Eの視線方向を誘導するための光学系を有する。投影ユニット300は、眼Eに呈示する固視標を有し、複数の方向に眼Eを誘導できる。
【0056】
例えば、固視標投影ユニット300は、可視光を発する可視光源を有し、視標の呈示位置を二次元的に変更させる。これにより、視線方向が変更され、結果的に撮像部位が変更される。例えば、撮影光軸と同方向から固視標が呈示されると、眼底の中心部が撮像部位として設定される。また、撮影光軸に対して固視標が上方に呈示されると、眼底の上部が撮像部位として設定される。すなわち、撮影光軸に対する視標の位置に応じて撮影部位が変更される。
【0057】
固視標投影ユニット300としては、例えば、マトリクス状に配列されたLEDの点灯位置により固視位置を調整する構成、光源からの光を光スキャナを用いて走査させ、光源の点灯制御により固視位置を調整する構成、等、種々の構成が考えられる。また、投影ユニット300は、内部固視灯タイプであってもよいし、外部固視灯タイプであってもよい。
【0058】
<制御部>
制御器70は、各構成100〜300の各部材など、装置全体を制御する。また、制御器70は、取得された画像を処理する画像処理部、取得された画像を解析する画像解析部、などを兼用する。制御器70は、一般的なCPU(Central Processing Unit)等で実現される。
【0059】
図2はOCT光学系100によって得られる断層画像の例である。例えば、制御器70は、OCT光学系100の検出器120から出力される受光信号に基づいて画像処理により断層画像(OCT画像)を取得する。
【0060】
メモリ(記憶部)72、モニタ75、マウス(操作入力部)76は、それぞれ制御器70と電気的に接続されている。制御器70は、モニタ75の表示画面を制御する。取得された眼底像は、モニタ75に静止画又は動画として出力される他、メモリ72に記憶される。メモリ72は、例えば、撮影された断層画像、正面画像、各断層画像の撮影位置情報等の撮影に係る各種情報を記録する。制御器70は、マウス76から出力される操作信号に基づいて、OCT光学系100の各部材を制御する。なお、上記OCTデバイス10の詳しい構成については、例えば、特開2008−29467号公報を参考にされたい。
【0061】
本実施例では、ノイズ成分を抑制した1枚の断層画像(Bスキャン画像)を得るために、所定の走査領域にて測定光を複数回走査させ、複数枚の断層画像を得て、取得された複数の断層画像を制御器70により加算処理して平均化させる。この場合、制御器70は、各断層画像を測定光の走査方向に関して同じ複数の領域に分割し、各断層画像間の位置ずれを分割された領域毎に検出し位置ずれ情報を得る。そして、制御器70は、得られた位置ずれ情報に基づいて,各撮影画像間の位置ずれを分割された領域毎に補正する。そして、制御器70は、補正された各撮影画像を加算し、平均化する。
【0062】
より具体的には、まず、制御器70は、走査部23を用いて測定光を所定の走査領域にて複数回走査し、同一の走査領域における断層画像を複数枚(n枚(n≧2))取得し、メモリ72に記憶させる。
【0063】
以下、各断層画像間のずれを補正する手法について説明する。演算制御器70は、各断層画像を所定の幅で区分し、複数の領域に分割する(
図3中の点線T参照)。演算制御器70は、各断層画像について、測定光の走査方向(
図3中の矢印SC参照)に関して複数の領域に分割する。
【0064】
次に、演算制御器70は、各分割領域におけるAスキャン信号(図中の一点鎖線S参照)から、予め設定された条件に該当する点(例えば、眼底表面に対応する点、最も輝度の高い点)を探索し、特定された所定の点(基準点)をテンプレート位置として設定する。演算制御器70は、テンプレート位置を中心とする任意の領域(例えば、矩形領域)の画像をテンプレート画像として設定する(図中の矩形枠W参照)。このようにして、各分割領域において、位置ずれ検出に用いられるテンプレート画像を設定する。
【0065】
演算制御器70は、取得されたn枚の断層画像のうち、いずれかの画像(例えば、n/2枚目に得られた画像)を基準画像(基準画像)として選択する。演算制御器70は、取得されたn枚の断層画像のうち、基準画像以外の断層画像を対象画像として選択し、対象画像に関するテンプレート画像を設定する。この場合、基準画像と同様な方法で、テンプレート位置を決めておくことにより、マッチングにおける探索範囲を狭くでき、処理の高速化が可能となる。
【0066】
演算制御器70は、分割された領域毎に、基準画像のテンプレート画像と、対象画像におけるテンプレート画像とを比較し、基準画像に対する対象画像の位置ずれ方向及びずれ量を分割された領域毎に検出する。演算制御器70は、例えば、基準画像のテンプレート画像に対して対象画像におけるテンプレート画像を一画素単位でずらしながら、相関値を逐次算出する。演算制御器70は、相関値の値が最大になるときの画素の変位量を位置ずれ量として算出する。
【0067】
<Aスキャン毎の位置ずれ補正>
図4は基準画像と対象画像のずれについて説明するための図である。上記のようにして各テンプレート画像の中心に位置する基準点(A1〜D1、A2〜D2)に対応するAスキャン信号の位置ずれ方向及び位置ずれ量が検出される。A1〜D1は、基準画像における基準点であり、A2〜D2は、対象画像における基準点である。演算制御器70は、基準画像T1に対する対象画像T2のAスキャン毎の位置ずれ情報を各基準点において求める。この場合、走査方向SC、深さ方向Zの各方向に関する位置ずれが求められる。
【0068】
演算制御器70は、基準画像T1に対する対象画像T2のAスキャン毎の位置ずれ情報を基準点以外の各点において求める。基準画像T1と比較画像T2との間の各点の対応関係は、各断層画像における基準点の位置を基準として特定される。
【0069】
図5は、基準画像T1に対する対象画像T2のAスキャン毎のずれを示すグラフである。基準点A2〜D2の座標位置は、各基準点における位置ずれ方向及び位置ずれ量を表したものであり、画像の基準点A1〜D1に対する位置ずれを表す。演算制御器70は、各基準点での位置ずれ量を用いた最小二乗法等による近似処理によって、複数の基準点に対する近似直線(回帰直線)ALを求める。近似直線ALは、基準画像T1に対する対象画像T2のAスキャン毎のずれを近似的に示す情報として用いられる。Aスキャン毎のずれ情報には、深さ方向Zと走査方向SCのずれ情報が含まれる。なお、近似直線のような一次関数に限定されず、基準点に基づく近似曲線であってもよい。
【0070】
以上のようにして、演算制御器70は、基準画像T1に対する対象画像T2のAスキャン毎の位置ずれ情報を求める。演算制御器70は、求められた位置ずれ情報に基づいて,位置ずれが解消されるように、対象画像を形成する各Aスキャン信号(深さ方向の輝度情報)を画像処理によって移動する。このような処理により、演算制御器70は、対象画像を再構築する。
【0071】
演算制御器70は、各Aスキャン信号に関して、各Aスキャンでの位置ずれ情報を利用して、Aスキャンの形成位置を変更する。例えば、ある点Axに対応するAスキャン信号に関する位置ずれを補正する場合、演算制御器70は、Axに関するAスキャン信号の位置ずれ量(Scx、Zx)がオフセットされるように、対象画像におけるAxでのAスキャン信号の形成位置を変更すればよい。なお、Aスキャン信号の形成位置を変更する場合、断層画像を形成するために予め設定された枠(フレームF)を超える部分(例えば、Aスキャン信号の上下端部部分)に関して、不用なデータとして無視してもよいし、画像データとして残しても良い。
【0072】
なお、演算制御器70は、他の断層画像についても、上記のように基準画像に対するずれをAスキャン信号ごとに補正することにより、断層画像を再構築する。
【0073】
以上のような補正処理によって、アライメントずれ、固視方向のずれに伴う測定光の眼への入射位置のずれによる各Aスキャン信号の位置ずれが補正される。
【0074】
以上のようにしてAスキャン毎に位置ずれが補正された断層画像は、加算平均画像の作成に利用されることにより、より精度の高い断層画像を取得できる。例えば、演算制御器70は、これらの断層画像を加算し、その平均を求めることにより加算平均画像を得る。
【0075】
演算制御器70は、例えば、各断層画像を形成する深さ情報の実数成分と虚数成分の絶対値を利用して、複数の断層像に基づく加算平均画像を取得できる。また、演算制御器70は、各断層像の基礎となるZ空間での実虚成分を利用して加算平均画像を取得できる。演算制御器70は、実数成分の信号を用いて第1の加算平均データを得ると共に、虚数成分の信号を用いて第2の加算平均データを得て、これらを合成することにより複数の断層像に基づく加算平均画像を取得してもよい。
【0076】
演算制御器70は、上記Aスキャン毎の位置ずれ補正に加えて、分割された領域毎に、各領域での画像を移動させることにより画像単位でのずれを補正するようにしてもよい。これにより、断層画像間の位置ずれをより適正に補正できる。
【0077】
また、位置ずれが補正された断層画像を用いて解析(例えば、層厚解析)を行うことによって、良好な解析結果を得ることができる。
【0078】
なお、基準画像として用いる断層画像には、任意の断層画像が設定されることができる。例えば、アライメントずれ及び固視ずれが少ない状態にて取得された断層画像を用いるのが有利である。この場合、前眼部観察系を装置に設け、前眼部観察系を用いてアライメントズレを検出し、アライメントズレが少ない断層画像を基準画像として用いることにより、良好な断層画像が得られる。
【0079】
基準画像に対する対象画像のAスキャン毎の位置ずれ情報を検出する場合、上記手法に限定されない。例えば、演算制御器70は、断層画像を形成するAスキャン信号における所定の条件を満たす特徴点をAスキャン信号毎に抽出する。そして、演算制御器70は、抽出された特徴点に基づく近似曲線を得る。演算制御器70は、上記のように特徴点に基づく近似曲線を基準画像と対象画像とでそれぞれ求める。演算制御器70は、基準画像における近似曲線と対象画像における近似曲線との間での位置ずれを求め、その位置ずれが補正されるように、各Aスキャン信号の形成位置を補正する。この場合、前述のように求められる基準画像と対象画像での基準点を用いて、基準画像と対象画像との間でのAスキャン信号の対応関係が求められる。
【0080】
例えば、演算制御器70は、基準画像と対象画像とでそれぞれ所定の網膜層(例えば、RPE層(Retinal Pigment epithelium))をAスキャン信号毎に抽出する。そして、演算制御器70は、抽出された網膜層の分布曲線を得る。演算制御器70は、網膜層の分布曲線を基準画像と対象画像とでそれぞれ求める。演算制御器70は、基準画像における分布曲線と対象画像における分布曲線との間での位置ずれを求め、その位置ずれが補正されるように、各Aスキャン信号の形成位置を補正する。この場合、複数のAスキャン信号からなる分割領域での画像を用いて、基準画像と対象画像との間でのAスキャン信号の対応関係が求められる。
【0081】
<走査方向に関する倍率補正>
図6は、基準画像と対象画像との間の撮像範囲のずれについて説明するための図である。複数の断層画像を得る場合、測定光の走査方向に平行な方向に眼が動いた場合、走査方向に関する実際の撮像範囲が変化する。測定光の走査方向と同じ方向に眼が動いた場合、実際の撮像範囲が狭くなる一方(
図6参照)、測定光の走査方向と逆方向に眼が動いた場合、実際の撮像範囲が広くなる。
【0082】
演算制御器70は、各断層画像において複数の特徴領域を抽出し、特徴領域間の距離を求めることにより走査幅のずれ情報を取得する。断層画像における各特徴領域は、断層画像における走査方向SCに関して異なる位置にて抽出される。演算制御器70は、取得された走査幅のずれ情報に基づいて断層画像間での走査方向に関する倍率を補正する。
【0083】
演算制御器70は、断層画像を複数の領域に分けて倍率を補正するようにしてもよい。演算制御器70は、断層画像を走査方向に関して分割し、分割された各領域での特徴領域を抽出し、隣接する特徴領域間の距離(各基準点の間隔)を基準画像と対象画像でそれぞれ算出する。演算制御器70は、隣接する特徴領域間の距離を基準画像と対象画像との間で検出し、その検出結果に基づいて走査方向に関する倍率のずれを補正してもよい。
【0084】
上記のようにして各テンプレート画像の中心に位置する基準点(A1〜D1、A2〜D2)に対応するAスキャン信号の位置ずれ方向及び位置ずれ量が検出される。A1〜D1は、基準画像における基準点であり、A2〜D2は、対象画像における基準点である。演算制御器70は、基準画像T1に対する対象画像T2のAスキャン毎の位置ずれ情報を各基準点において求める。この場合、走査方向SC、深さ方向Zの各方向に関する位置ずれが求められる。
【0085】
図7は、基準画像T1に対する対象画像T2の撮像範囲のずれを示すグラフである。例えば、演算制御器70は、基準画像におけるある基準点の間隔L1と、対象画像におけるある基準点の間隔L2を算出する。このように基準点の間隔を算出し、これらを比較することにより、所定の走査幅にて複数の断層画像を取得した場合の実際の走査幅(走査方向に関する眼上での走査範囲)を比較できる。
【0086】
演算制御器70は、対象画像における間隔L2が基準画像における間隔L1と等しくなるように、対象画像における走査方向(例えば、横方向)に関する倍率を補正する。
【0087】
基準点の間隔としては、断層画像における各基準点の間隔の平均値、断層画像における両端の基準点の間隔、を求めるのが有利である。もちろん、これに限定されず、断層画像における中心に位置する2つの基準点の間隔であってもよい。
【0088】
断層画像間の倍率のずれを補正する場合、第1の手法として、演算制御器70は、画像全体の倍率を補正する。第2の手法として、演算制御器70は、各特徴領域(基準点)を区切りとして、断層画像を分割する。演算制御器70は、隣接する特徴領域間の距離(各基準点の間隔)を基準画像と対象画像でそれぞれ算出する。演算制御器70は、基準画像と対象画像との間で対応関係にある特徴領域間の距離(各基準点の間隔)を比較し、分割された画像領域毎に倍率のずれを補正する。なお、倍率を補正する場合、演算制御器70は、断層画像を形成する各Aスキャンの間隔を補正することにより、断層画像におけるAスキャン信号の形成位置を変更するようにしてもよい。
【0089】
以上のようにしてAスキャン毎に位置ずれが補正された断層画像は、加算平均画像の作成に利用されることにより、より精度の高い断層画像を取得できる。例えば、演算制御器70は、これらの断層画像を加算し、その平均を求めることにより加算平均画像を得る。
【0090】
また、位置ずれが補正された断層画像を用いて解析(例えば、層厚解析)を行うことによって、良好な解析結果を得ることができる。
【0091】
なお、基準画像として用いる断層画像には、任意の断層画像が設定されることができる。例えば、アライメントずれ及び固視ずれが少ない状態にて取得された断層画像を用いるのが有利である。この場合、前眼部観察系を装置に設け、前眼部観察系を用いてアライメントズレを検出し、アライメントズレが少ない断層画像を基準画像として用いることにより、良好な断層画像が得られる。
【0092】
なお、上記手法は、眼の移動に応じて測定光の走査位置を補正するような場合に有利である。例えば、OCT光学系の光軸を中心とする測定光の走査範囲にて第1の断層画像が取得され、OCT光学系の光軸からΔD(例えば、1mm)ずれた位置を中心とする測定光の走査範囲にて第2の断層画像が取得されたとする。眼上の走査位置が補正されても、OCT光学系の歪曲収差により第1の断層画像と第2の断層画像との間で走査方向に関して倍率のずれが生じる可能性がある。そこで、上記のように断層画像間での眼上での走査幅のずれ情報を取得し、取得された走査幅のずれ情報に基づいて断層画像の走査方向に関する倍率を補正することにより、倍率のずれを補正できる。
【0093】
<位置ずれ検出手法>
上記のように、2つの画像間の位置ずれを検出する手法としては、種々の画像処理手法(各種相関関数を用いる方法、フーリエ変換を利用する方法、特徴点のマッチングに基づく方法)を用いることが可能である。
【0094】
例えば、所定の基準画像又は対象画像(を1画素ずつ位置ずれさせ、基準画像と対象画像を比較し、両データが最も一致したとき(相関が最も高くなるとき)の両データ間の位置ずれ方向及び位置ずれ量を検出する手法が考えられる。また、所定の基準画像及び対象画像から共通する特徴点を抽出し、抽出された特徴点の位置ずれ方向及び位置ずれ量を検出する手法が考えられる。
【0095】
また、2つの画像間の位置ずれを求めるための関数として、位相限定相関関数を用いるようにしてもよい。この場合、まず、各画像をフーリエ変換し、各周波数成分の位相と振幅を得る。なお、得られた振幅成分は、各周波数成分に関して大きさ1に正規化しておく。次に、2つの画像間で周波数毎の位相差を算出した後、これらに逆フーリエ変換をかける。