(58)【調査した分野】(Int.Cl.,DB名)
所定の走査光により略円形の走査領域内で中心及び周辺の一方から他方に向かい所定の回転周期で渦巻状に走査された、複数の指標が規則的に配列された被写体からの戻り光を受光することによって検出された該被写体の画像信号を取得する画像信号取得手段と、
取得された画像信号に対し、前記走査光による走査領域内の走査位置と対応する位置関係にある二次元画素配列内の画素位置を、該画像信号の検出タイミングに応じて割り当て、該割り当てられた画素位置に各該画像信号を配列することにより前記被写体の画像を生成する画像生成手段と、
生成された画像内における各前記指標の画素位置を検出する指標位置検出手段と、
検出された各指標の画素位置に基づいて前記画像内における各指標同士の位置関係を算出する位置関係算出手段と、
算出された位置関係に基づいて前記画像内における各指標の歪みを検出する歪み検出手段と、
を備える、
画像歪み検出装置。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態について図面を参照しながら説明する。なお、以下においては、本発明の一実施形態として走査型共焦点内視鏡システムを例に取り説明する。
【0021】
[走査型共焦点内視鏡システム1の構成]
図1は、本実施形態の走査型共焦点内視鏡システム1の構成を示すブロック図である。本実施形態の走査型共焦点内視鏡システム1は、共焦点顕微鏡の原理を応用して設計されたシステムであり、高倍率かつ高解像度の被写体を観察するのに好適に構成されている。
図1に示されるように、走査型共焦点内視鏡システム1は、システム本体100、共焦点プローブ200及びモニタ300を有している。走査型共焦点内視鏡システム1を用いた共焦点観察は、可撓性を有する管状の共焦点プローブ200の先端面を被写体に当て付けた状態で行う。
【0022】
システム本体100は、光源102、光分波合波器(フォトカップラ)104、ダンパ106、CPU108、CPUメモリ110、光ファイバ112、受光器114、映像信号処理回路116、画像メモリ118、映像信号出力回路120、レーザ制御回路122、リマップテーブル用メモリ124、操作パネル126及びA/D変換回路128を有している。共焦点プローブ200は、光ファイバ202、共焦点光学ユニット204、サブCPU206、サブメモリ208及び走査ドライバ210を有している。
【0023】
光源102は、レーザ制御回路122による駆動制御に従い、患者の体腔内に投与された薬剤に含有されている蛍光物質を励起する励起光(連続光又はパルス光)を射出する。光源102より射出された励起光は、光分波合波器104に入射される。光分波合波器104のポートの一つには、光コネクタ152が結合している。光分波合波器104の不要ポートには、光源102から射出された励起光を無反射終端するダンパ106が結合している。前者のポートに入射された励起光は、光コネクタ152を介して共焦点プローブ200内に配置された光学系に入射される。
【0024】
光ファイバ202の基端は、光コネクタ152を通じて光分波合波器104と光学的に結合している。光ファイバ202の先端部分は、共焦点プローブ200の先端部に組み込まれた共焦点光学ユニット204内に収められている。光分波合波器104より射出された励起光は、光コネクタ152を介して光ファイバ202の基端に入射されると、光ファイバ202内を伝送される。
【0025】
図2(a)は、共焦点光学ユニット204の構成を概略的に示す図である。以下、共焦点光学ユニット204を説明する便宜上、共焦点光学ユニット204の軸線方向(長手方向)をZ方向と定義し、Z方向に直交しかつ互いに直交する二方向をそれぞれ、X方向、Y方向と定義する。
【0026】
図2(a)に示されるように、共焦点光学ユニット204は、各種構成部品を収容する金属製の外筒204Aを有している。外筒204Aは、外筒204Aの内壁面形状に対応する外壁面形状を持つ内筒204Bを同軸(Z方向)にスライド可能に保持している。光ファイバ202の先端202aは、外筒204A、内筒204Bの各基端面に形成された開口を通じて内筒204Bに収容支持されている。先端202aは、光ファイバ202内を伝送された励起光を射出する、走査型共焦点内視鏡システム1の二次的な点光源として機能する。点光源である先端202aの位置は、CPU108による制御に基づいて周期的に変化する。なお、
図2(a)中、中心軸AXは、共焦点光学ユニット204の中心軸を示す。光ファイバ202が初期位置にあるときは(光ファイバ202が振動されていない状態では)、中心軸AXと光ファイバ202の軸心とが一致する。
【0027】
サブメモリ208は、共焦点プローブ200の識別情報や各種プロパティ等のプローブ情報を格納している。サブCPU206は、システム起動時にサブメモリ208からプローブ情報を読み出し、読み出されたプローブ情報をシステム本体100と共焦点プローブ200とを電気的に接続する電気コネクタ154を介してCPU108に送信する。CPU108は、サブCPU206より受信したプローブ情報をCPUメモリ110に格納する。CPU108は、CPUメモリ110に格納されたプローブ情報を必要時に読み出して共焦点プローブ200の制御に必要な制御信号を生成し、生成された制御信号をサブCPU206に送信する。サブCPU206は、CPU108より受信した制御信号に従って走査ドライバ210に必要な設定値を指定する。
【0028】
先端202a付近の光ファイバ202の外周面には、二軸アクチュエータ204Cが接着固定されている。
図2(b)は、二軸アクチュエータ204Cの構成を概略的に示す図である。
図2(b)に示されるように、二軸アクチュエータ204Cは、走査ドライバ210と接続された一対のX軸用電極(図中「X」、「X’」)及びY軸用電極(図中「Y」、「Y’」)を圧電体上に形成した圧電アクチュエータである。
【0029】
走査ドライバ210は、サブCPU206により指定される設定値に応じたドライブ信号を生成し、生成されたドライブ信号によって二軸アクチュエータ204Cを駆動制御する。より詳細には、走査ドライバ210は、交流電圧Xを二軸アクチュエータ204CのX軸用電極間に印加して圧電体をX方向に振動させると共に、交流電圧Xと同一周波数であって位相が直交する交流電圧YをY軸用電極間に印加して圧電体をY方向に振動させる。交流電圧X、Yはそれぞれ、振幅が時間に比例して線形に増加して、時間(X)、(Y)かけて実効値(X)、(Y)に達する電圧として定義される。光ファイバ202の先端202aは、二軸アクチュエータ204CによるX方向、Y方向への運動エネルギーが合成されることにより、X−Y平面に近似する面(以下、「XY近似面」と記す。)上において中心軸AXを中心に渦巻状のパターンを描くように移動する。先端202aの移動軌跡は、印加電圧に比例して大きくなり、実効値(X)、(Y)の交流電圧が印加された時点で最も大きい径を有する円の軌跡を描く。
図3に、XY近似面上の先端202aの回転軌跡を示す。
【0030】
励起光は、二軸アクチュエータ204Cへの交流電圧の印加開始直後から印加停止までの期間中、光ファイバ202の先端202aより射出される。以下、説明の便宜上、この期間を「サンプリング期間」と記す。先端202aより射出される励起光は、先端202aがサンプリング期間中にXY近似面上で渦巻状に移動することにより、中心軸AXを中心とした所定の略円形の走査領域を渦巻状に走査する。
【0031】
サンプリング期間が経過して二軸アクチュエータ204Cへの交流電圧の印加が停止すると、光ファイバ202の振動が減衰する。XY近似面上における光ファイバ202の先端202aの運動は、光ファイバ202の振動の減衰に伴って収束し、所定時間後にほぼゼロとなる(すなわち、先端202aは、中心軸AX上でほぼ停止する)。以下、説明の便宜上、サンプリング期間が終了してから先端202aが中心軸AX上にほぼ停止するまでの期間を「ブレーキング期間」と記す。ブレーキング期間の経過後、更に所定時間待機してから、次のサンプリング期間が開始される。以下、説明の便宜上、ブレーキング期間が終了してから次のサンプリング期間の開始までの期間を「セトリング期間」と記す。セトリング期間は、先端202aを中心軸AX上に完全に停止させるための待機時間である。セトリング時間を設定することにより、先端202aの移動軌跡を安定させることができる。先端202aの移動軌跡を安定させることにより、被写体に対する走査の精度を保証できるようになる。また、一フレームに対応する期間は、サンプリング期間、ブレーキング期間及びセトリング期間で構成されている。フレームレートは、セトリング期間を調整することにより、柔軟に設定変更することができる。このように、セトリング期間は、先端202aが完全に停止するまでの時間とフレームレートとの関係から適宜設定することが可能となっている。なお、ブレーキング期間を短縮するため、ブレーキング期間の初期段階に二軸アクチュエータ204Cに逆相電圧を印加して制動トルクを積極的に加えてもよい。
【0032】
光ファイバ202の先端202aの前方には、対物光学系204Dが設置されている。対物光学系204Dは、複数枚の光学レンズで構成されており、図示省略されたレンズ枠を介して外筒204Aに保持されている。対物光学系204Aの光軸は、中心軸AXと一致する。レンズ枠は、外筒204Aの内部において、内筒204Bと相対的に固定され支持されている。そのため、レンズ枠に保持された光学レンズ群は、外筒204Aの内部を内筒204Bと一体となってZ方向にスライドする。
【0033】
内筒204Bの基端面と外筒204Aの内壁面との間には、圧縮コイルばね204E及び形状記憶合金204Fが取り付けられている。圧縮コイルばね204Eは、自然長からZ方向に初期的に圧縮挟持されている。形状記憶合金204Fは、Z方向に長尺な棒形状を持ち、常温下で外力が加わると変形して、一定温度以上に加熱されると形状記憶効果で所定の形状に復元する性質を有している。形状記憶合金204Fは、形状記憶効果による復元力が圧縮コイルばね204Eの復元力より大きくなるように設計されている。走査ドライバ210は、サブCPU206により指定される設定値に応じたドライブ信号を生成し、生成されたドライブ信号によって形状記憶合金204Fを通電し加熱することにより、形状記憶合金204Fの伸縮量を制御する。形状記憶合金204Fは、伸縮量に応じて内筒204Bを光ファイバ202ごとZ方向に進退させる。具体的には、形状記憶合金204Fは、加熱されてZ方向に延びる(復元する)ことにより、内筒204Bを光ファイバ202ごと前方(Z方向)に押し出す。形状記憶合金204Fはまた、徐冷が進むにつれて形状記憶効果による復元力が低下することに伴い、圧縮コイルばね204EによりZ方向に圧縮されて、内筒204Bを光ファイバ202ごと後方(Z方向)に引っ込める。
【0034】
光ファイバ202の先端202aから射出された励起光は、対物光学系204Dを透過して被写体の表面又は表層でスポットを形成する。スポット形成位置は、点光源である先端202aの進退に応じてZ方向に変位する。すなわち、共焦点光学ユニット204は、二軸アクチュエータ204Cによる先端202aのXY近似面上の周期的な円運動とZ方向の進退を併せることで、被写体を三次元走査する。
【0035】
光ファイバ202の先端202aは、対物光学系204Dの前側焦点位置に配置されているため、共焦点ピンホールとして機能する。先端202aには、励起光により励起された被写体より発せられる蛍光のうち先端202aと光学的に共役な集光点からの蛍光のみが入射される。先端202aより光ファイバ202内に入射された蛍光は、光ファイバ202を伝送された後、光コネクタ152を介して光分波合波器104に入射される。光分波合波器104は、入射された蛍光を光源102から射出される励起光と分離して光ファイバ112に導く。蛍光は、光ファイバ112内を伝送して受光器114により検出される。受光器114は、微弱な光を低ノイズで検出するため、例えば光電子増倍管等の高感度光検出器である。受光器114による検出信号は、図示省略された回路にて一定のレートでサンプルホールド及びAD変換される。AD変換後のデジタル検出信号は、被写体の共焦点画像をなす画像情報であり、以下、「共焦点画像検出信号」と記す。共焦点画像検出信号は、映像信号処理回路116に入力される。
【0036】
ここで、サンプリング期間中の光ファイバ202の先端202aの位置(軌跡)が決まると、先端202aがある位置に来た時に射出される励起光による走査領域内の位置(スポット形成位置)と、このスポット形成位置からの戻り光(蛍光)を受光器114で受光して共焦点画像検出信号を得る信号取得タイミング(以下、「サンプリング点」と記す。)とがほぼ一義的に決まる。そこで、本実施形態では、設計データに基づいてスポット形成位置とサンプリング点との対応関係が定義され、その上で、各サンプリング点に対応する画素の位置(共焦点画像をなす各画素の画素アドレス)が定義される。リマップテーブル用メモリ124には、サンプリング点と画素アドレスとの対応関係(リマップテーブル)が格納されている。リマップテーブルでは、共焦点画像をなす全ての画素アドレスのそれぞれについて、対応するサンプリング点が1対1で対応付けられている。なお、リマップテーブルは、時間的要素(サンプリング点)を空間的要素(画素アドレス)に変換するものであるが、別の表現によれば、第一の空間的要素(スポット形成位置)を第二の空間的要素(画素アドレス)に変換するものである。
【0037】
映像信号処理回路116は、リマップテーブルを参照して、各サンプリング点で得られる共焦点画像検出信号に対して画素アドレスを割り当てる。以下、この割り当て作業を「リマッピング」と記す。リマッピングを行うことにより、各共焦点画像検出信号によって表現される点像を画素アドレスに従って二次元に配列したもの(共焦点画像)の生成が可能となる。
【0038】
リマッピング後の共焦点画像検出信号は、画像メモリ118にフレーム単位でバッファリングされる。バッファリングされた共焦点画像検出信号は、所定のタイミングで画像メモリ118から映像信号出力回路120に掃き出されて、NTSC(National Television System Committee)やPAL(Phase Alternating Line)等の所定の規格に準拠した映像信号に変換されてモニタ300に出力される。これにより、高倍率かつ高解像度の被写体の共焦点画像がモニタ300の表示画面に表示される。
【0039】
[共焦点画像の歪み検出]
このように、本実施形態の走査型共焦点内視鏡システム1は、点光源(光ファイバ202の先端202a)をXY近似面上で円周方向に周期的に移動させることにより被写体を渦巻状に走査するという複雑な構成となっている。そのため、走査誤差による画像の歪みは単純な歪みではなく、複数の因子が組み合わさることによって生じる複雑な歪みとなっている。このような渦巻走査により発生する複雑な歪みを検出・定量化する技術はこれまでのところ無かった。そこで、本実施形態の走査型共焦点内視鏡システム1は、このような複雑な歪みを高精度に検出するように構成されている。これにより、複雑な歪みを効率的に除去することを可能としている。
【0040】
[チャートの撮影]
走査型共焦点内視鏡システム1は、共焦点画像の歪みを検出するため、治具400にセットされる。
図4(a)は、治具400の内部構成を示す側断面図であり、治具400に共焦点プローブ200をセットした状態を示している。
図4(a)に示されるように、治具400は、箱状(例えば直方体状)の筐体402を有している。筐体402は、対向する壁部402aと402bを含む複数の壁部を有しており、これら複数の壁部によって、外部より実質遮光された内部空間を規定している。
【0041】
壁部402aの内部空間側の面には、チャートCHTがプリントされている。
図4(b)に、チャートCHTを示す。チャートCHTは、
図4(b)に示されるように、白色の下地に黒色のグリッド線(互いに直交する縦線及び横線)が等間隔に配置されることにより、白色の正方形の升目がマトリックス状に並んだものとなっている。なお、チャートCHTには、光源102より射出される励起光に対応する蛍光剤が塗布されていてもよい。
【0042】
筐体402は、壁部402bのほぼ中央であってチャートCHTと正対する位置に保持部404が形成されている。保持部404は、壁部402bの外壁面上に形成された凹部であり、チャートCHTと正対する面(凹部をなす底面)に開口Aが形成されている。また、保持部404の凹形状は、共焦点プローブ200の先端部の外形状に対応する。そのため、保持部404には、
図4(a)に示されるように、共焦点プローブ200の先端部を差し込むことができる。保持部404は、差し込まれた共焦点プローブ200の先端部を保持する。保持部404に保持された共焦点プローブ200の先端部は、チャートCHTに対して中心軸AX(及び対物光学系132Dの光軸)が垂直となる姿勢となり、かつチャートCHT上に走査光を走査することが可能な位置に決まる。
【0043】
なお、本撮影ステップでは、走査型共焦点内視鏡システム1とチャートCHTとの相対位置の固定及び暗室での撮影が必ずしも必要というわけではない。本撮影ステップでは、最低限、走査型共焦点内視鏡システム1によってチャートCHTを撮影することができればよい。作業者は、例えば、作業室内の壁面にチャートCHTがプリントされたシートを貼り、それを走査型共焦点内視鏡システム1によって撮影するだけでもよい。このように、本撮影ステップでは、大掛かりな治具は必須ではない。
【0044】
図4(c)は、走査型共焦点内視鏡システム1により撮影されたチャートCHTの一例を示す。
図4(c)に示されるように、撮影されたチャートCHTの画像(以下、「撮影チャート画像」と記す。)は複雑に歪んだものとなる。
【0045】
[升目中心座標の採取フロー]
システム本体100は、撮影チャート画像の歪みを検出するために必要な情報として、撮影チャート画像内に写る各升目の中心の座標(画素位置)を採取する。採取される中心座標は、升目の位置を示す情報として扱われる。
図5に、システム本体100のCPU108によって実行される升目中心座標採取処理のフローチャートを示す。また、
図6(a)〜
図6(d)に、升目中心座標採取処理の説明を補助する説明補助図を示す。
【0046】
[
図5のS11(撮影チャート画像の二値化)]
本処理ステップS11では、撮影チャート画像を二値化することにより撮影チャート画像内のノイズが除去される。二値化処理の閾値には、升目を白と判定しかつグリッド線を黒と判定するための適切な値が設定される。設定される値は、例えば経験的に決められた固定値である。また、升目の輝度値及びグリッド線の輝度値から2つを分離する適切な閾値を自動的に決定してもよい。
【0047】
[
図5のS12(升目画像の収縮)]
本処理ステップS12では、撮影チャート画像内の全ての升目に対して収縮(Erosion)をかけることにより、隣接する升目の間隔が広げられる(
図6(a)参照)。具体的には、注目画素の周辺に1画素でも黒い画素がある場合に黒に置き換える処理(Erosion)を所定回数繰り返す。隣接する升目の間隔を広げることにより、隣接する升目の影響を受けることなく、升目の中心座標を検出できるようになる。
【0048】
[
図5のS13(升目の探索)]
本処理ステップS13では、所定サイズの正方形のウィンドウWが撮影チャート画像内の所定位置に配置される。ウィンドウWは、撮影チャート画像の重心Gの計算領域を規定するものであり、収縮(Erosion)後の升目よりも大きい。ウィンドウWが所定位置に配置されると、ウィンドウW内に升目(すなわち白色の画素)が含まれるか否かが判定される。本フローチャートは、ウィンドウW内に升目(白色の画素)が含まれる場合(
図5のS13:YES)、同図の処理ステップS16(升目中心の検出)に進む。ウィンドウW内に升目(白色の画素)が含まれない場合には(
図5のS13:NO)、同図の処理ステップS14(走査完了判定)に進む。
【0049】
[
図5のS14(走査完了判定)]
本処理ステップS14では、ウィンドウWにより撮影チャート画像内の全ての領域を走査したか否かが判定される。本フローチャートは、ウィンドウWにより撮影チャート画像内の全ての領域が走査された場合(
図5のS14:YES)、終了する。ウィンドウWにより走査されていない領域が残っている場合には(
図5のS14:NO)、同図の処理ステップS15(ウィンドウWによる撮影チャート画像の走査)に進む。
【0050】
[
図5のS15(ウィンドウWによる撮影チャート画像の走査)]
本処理ステップS15では、ウィンドウWが一画素走査される(すなわち、ウィンドウWの位置が一画素シフトする。)。本フローチャートは、ウィンドウWの走査後、同図の処理ステップS13(升目の探索)に戻る。処理ステップS13(升目の探索)では、一画素走査後のウィンドウW内に升目(白色の画素)が含まれるか否かが判定される。
【0051】
[
図5のS16(升目の中心座標の検出)]
本処理ステップS16では、平均値シフト法(Mean-Shift)を用いて升目の中心座標が検出される。まず、ウィンドウWによって囲われた撮影チャート画像内の領域の重心Gが計算される。重心Gの計算は、
図6(b)〜
図6(d)に示されるように、ウィンドウWの中心Cと重心Gとが一致するまで繰り返される。ここで、升目は、黒いグリッド線で囲われた白色の正方形である。そのため、重心Gは、重心計算を繰り返して中心Cと一致する位置に収束したとき、升目の中心とも一致する(
図6(d)参照)。そのため、重心Gが中心Cと一致する位置に収束した時点の中心Cの座標は、升目の中心座標としてCPUメモリ110に保存される。
【0052】
[
図5のS17(升目の擬似的消去)]
本処理ステップS17では、処理の便宜上、中心座標が保存された升目を擬似的に消去する。
【0053】
本フローチャートは次いで、同図の処理ステップS14(走査完了判定)に進み、ウィンドウWにより走査されていない領域が残っている場合には(
図5のS14:NO)、同図の処理ステップS15(ウィンドウWによる撮影チャート画像の走査)の実行後、同図の処理ステップS13(升目の探索)に戻る。処理ステップS13(升目の探索)では、一画素走査後のウィンドウW内に升目(白色の画素)が含まれるか否かが判定される。ウィンドウWに囲われていた升目は消去されているため、一画素走査後のウィンドウW内にも升目(白色の画素)は含まれない。そのため、次の升目が検出されるまで、処理ステップS14(走査完了判定)、処理ステップS15(ウィンドウWによる撮影チャート画像の走査)及び処理ステップS13(升目の探索)が繰り返される。
【0054】
図5のフローチャートの処理を実行することにより、撮影チャート画像内に含まれる全ての升目の中心座標が採取される。
【0055】
[升目のラベリングフロー]
システム本体100は、撮影チャート画像の歪みを検出するために必要な処理として、升目に対するラベリングを行う。
図7に、システム本体100のCPU108によって実行される升目ラベリング処理のフローチャートを示す。また、
図8(a)〜
図8(d)に、升目ラベリング処理の説明を補助する説明補助図を示す。
【0056】
[
図7のS21(注目中心座標の決定)]
本処理ステップS21では、CPUメモリ110に保存されている全ての升目の中心座標(画素位置)を配列したもの(以下、「中心座標配列」と記す。)が走査され、走査により検出された升目の中心座標が注目中心座標に決定される。
【0057】
[
図7のS22(中心座標の位置関係の計算)]
本処理ステップS22では、中心座標配列において注目中心座標に近い近傍中心座標と注目中心座標とを結ぶ直線が定義され、定義された直線の長さと傾きが計算される。近傍中心座標は、典型的には、注目中心座標の升目に隣接する升目の中心座標である。そのため、計算される直線の長さと傾きは、隣接する升目同士の位置関係(配置間隔、並び方向)を表す。ここで、直線は注目中心座標を始点とし、近傍中心座標を終点とする。直線の傾きは始点から終点への変化率であるため、始点である注目中心座標を基準に計算される。
【0058】
直線は、注目中心座標に対して規定の方向に位置する一つの近傍中心座標との間に引けばよい。規定の方向の位置の一例として、注目中心座標に対して−Y方向の位置であって、X座標は変わらずY座標だけ変わる位置が挙げられる。以下、この方向の位置を「−Y方向位置」と記す。他の方向の位置についても同様に記す。本実施形態では、直線は、歪み検出の精度を向上させるため、注目中心座標に対して+Y方向位置、−Y方向位置、+X方向位置、−X方向位置にある4つの近傍中心座標との間に引かれる。歪み検出の精度を更に向上させるため、斜め方向位置(X方向又はY方向に対して45°又は−45°をなす方向の位置)も含めた8つの近傍中心座標との間に直線を引いてもよい。
【0059】
−Y方向位置の近傍中心座標を特定する場合を例に取り、本処理ステップS22の説明を補足する。撮影チャート画像は歪みを持つため、
図8(a)に示されるように、−Y方向位置に近傍中心座標があるケースは殆ど無い。そのため、Y方向位置側(注目中心座標に対して−Y方向側の位置であり、Y座標だけでなくX座標も変わる位置)にある複数の近傍中心座標のうち−Y方向位置に最も近い近傍中心座標が−Y方向位置の近傍中心座標として特定される。
【0060】
[
図7のS23(走査完了判定)]
本処理ステップS23では、中心座標配列内の全ての中心座標が注目中心座標として検出されたか否かが判定される。本フローチャートは、中心座標配列内の全ての中心座標が注目中心座標として検出されるまで、同図の処理ステップS21(注目中心座標の決定)から本処理ステップS23までのループを繰り返す(
図7のS21、S22、S23:NO)。本フローチャートは、中心座標配列内の全ての中心座標が注目中心座標として検出された場合(
図7のS23:YES)、上記ループから抜けて、同図の処理ステップS24(基準長Lの決定)に進む。
【0061】
[
図7のS24(基準長Lの決定)]
本処理ステップS24では、同図の処理ステップS22(中心座標の位置関係の計算)にて計算された全ての直線の長さがヒストグラム化される。すなわち、直線の長さを横軸に取り、直線の長さの出現回数を縦軸に取る統計グラフが作成される。本処理ステップS24では次いで、作成されたヒストグラムからピークを検出することにより、ピークに対応する(すなわち、出現回数が最も多い)直線の長さが特定され、特定された長さが基準長Lと定義される。
【0062】
走査誤差による撮影チャート画像の歪みは不可避ではあるが、あくまで画像全体に対する割合は高くない。そのため、本実施形態では、出現回数の最も多い基準長Lが升目の理想的な配置間隔(走査誤差による撮影チャート画像の歪みがない状態での配置間隔)に近似するものとして扱われる。
【0063】
[
図7のS25(基準角度θ
h及びθ
vの決定)]
傾きは最大で∞の値を取るため、処理上不都合なことが多い。本処理ステップS25では、処理の便宜上、同図の処理ステップS22(中心座標の位置関係の計算)にて計算された全ての直線の傾きが角度(−π〜π)に変換される。本実施形態において、角度は、+X方向の軸を基準(=0)としたものであり、第1象限及び第2象限の範囲で0〜πの値を取り、第3象限及び第4象限の範囲で0〜−πの値を取る。角度πと角度−πは処理の便宜上等しい角度とする。変換後の直線の角度はヒストグラム化される。すなわち、直線の角度を横軸に取り、直線の角度の出現回数を縦軸に取る統計グラフが作成される。
【0064】
直線の角度として、
図8(a)に示されるように、注目中心座標と±X方向位置の近傍中心座標の各々とを接続する水平方向に近いものと、注目中心座標と±Y方向位置の近傍中心座標の各々とを接続する垂直方向に近いものが多く現れる。そのため、ヒストグラムには、
図8(b)に示されるように、前者に対応するピークと後者に対応するピークの2つのピークが現れる。前者のピークに対応する角度は基準角度θ
hと定義され、後者のピークに対応する角度は基準角度θ
vと定義される。
【0065】
基準角度θ
h、基準角度θ
vはそれぞれ理想的には角度ゼロ、π/2であるが、撮影チャート画像が大なり小なり歪みを持つため、理想値と一致することは無い。そのため、小さい方の角度を基準角度θ
hとしかつ大きい方の角度を基準角度θ
vとするような単純な条件では、判断誤差が生じることが懸念される。そこで、本実施形態では、次の条件(1)及び(2)を導入することにより、判断精度を向上させている。
(1)2つのピークに対応する角度が|π/4|以上離れている。
(2)角度|π/4|より小さい方を基準角度θ
hとし、それ以外を基準角度θ
vとする。
【0066】
本実施形態では、基準長Lと同様の理由により、基準角度θ
hに対応する傾き方向が水平方向(X方向)に隣接する升目の理想的な並び方向(走査誤差による撮影チャート画像の歪みがない状態での並び方向)に近似するものとして扱われる。また、基準角度θ
vに対応する傾き方向が垂直方向(Y方向)に隣接する升目の理想的な並び方向に近似するものとして扱われる。
【0067】
[
図7のS26(注目中心座標の再設定)]
本処理ステップS26では、以降の処理ステップを実行するため、注目中心座標が改めて設定される。
【0068】
本フローチャートにおいて、本処理ステップS26から同図の処理ステップS30(基準直線の更新)までの処理ステップ群はループする。そのため、本処理ステップS26は、ループを抜けるまで複数回実行される。初回の実行時には、撮影チャート画像の中心に最も近い中心座標に対してラベル(i(=0),j(=0))が割り当てられる。ラベル(i(=0),j(=0))が割り当てられた中心座標が注目中心座標として設定される。本処理ステップS26が再び実行されるときには、中心座標(i(=0),j(=0))から+X方向に隣接する中心座標が注目中心座標として順に設定され、続いて、中心座標(i(=0),j(=0))から−X方向に隣接する中心座標が注目中心座標として順に設定される。それが完了すると、中心座標(i(=0),j(=1))から+X方向に隣接する中心座標が注目中心座標として順に設定され、続いて、中心座標(i(=0),j(=1))から−X方向に隣接する中心座標が注目中心座標として順に設定される。それが完了すると、中心座標(i(=0),j(=2))から+X方向に隣接する中心座標が注目中心座標として順に設定され、続いて、中心座標(i(=0),j(=2))から−X方向に隣接する中心座標が注目中心座標として順に設定される。上記の処理は、全ての中心座標が注目中心座標として再設定されるまで繰り返し実行される。
【0069】
[
図7のS27(探索範囲の設定)]
本処理ステップS27では、
図8(c)に示されるように、直前の処理ステップS26(注目中心座標の再設定)にて設定された注目中心座標を始点とする直線が4方向に引かれる。以下、「直前の処理ステップS26(注目中心座標の再設定)にて設定された注目中心座標」を「最新注目中心座標」と記す。具体的には、最新注目中心座標を始点として、基準長Lを持ちかつ基準角度θ
hに対応する傾きを持つ直線が+X方向位置側と−X方向位置側に引かれると共に、基準長Lを持ちかつ基準角度θ
vに対応する傾きを持つ直線が+Y方向位置側と−Y方向位置側に引かれる。本処理ステップS27では次いで、この4本の直線(以下、「基準直線」と記す。)の各々の終点を中心とした所定範囲が探索範囲(
図8(c)中、点線)として設定される。
【0070】
[
図7のS28(隣接中心座標へのラベリング)]
本処理ステップS28では、同図の処理ステップS27(探索範囲の設定)にて設定された4つの探索範囲に属するそれぞれの中心座標が最新注目中心座標に隣接する隣接中心座標としてラベリングされる。+X方向位置側の隣接中心座標にはラベル(i+1,j)が割り当てられ、−X方向位置側の隣接中心座標にはラベル(i−1,j)が割り当てられる。また、+Y方向位置側の隣接中心座標にはラベル(i,j+1)が割り当てられ、−Y方向位置側の隣接中心座標にはラベル(i,j−1)が割り当てられる。なお、探索範囲に中心座標が存在しない場合は、ラベリングしない。又は、基準直線の終点を隣接中心座標とみなしてラベリングしてもよい。また、探索範囲に属する中心座標が既にラベリングされている場合は、再度のラベリングを行わない。
【0071】
[
図7のS29(走査完了判定)]
本処理ステップS29では、中心座標配列内の全ての中心座標に対してラベリングが行われたか否かが判定される。本フローチャートは、中心座標配列内の全ての中心座標に対してラベリングが行われた場合(
図7のS29:YES)、終了する。ラベリングが行われていない中心座標が残っている場合には(
図7のS29:NO)、同図の処理ステップS30(基準直線の更新)に進む。
【0072】
[
図7のS30(基準直線の更新)]
探索範囲に属する隣接中心座標と基準直線の終点との画素位置の差は、最新注目中心座標に対応する升目とその隣接中心座標に対応する升目との撮影チャート画像上の歪みの差に相当する。また、光ファイバ202は、一定の共振周波数で動作制御される。そのため、走査領域の周辺ほど走査速度が高速である。本発明者は、これらの点を踏まえて実験及び検討を重ねた結果、走査速度が高速な走査領域の周辺に近付くにつれて歪みが徐々に大きくなるという知見を得た。
【0073】
上記知見に基づき、本処理ステップS30では、
図8(d)に示されるように、各基準直線の終点が同図の処理ステップS28(隣接中心座標へのラベリング)にてラベリングされた隣接中心座標に修正される。各基準直線は、終点位置の修正により更新されることにより、最新注目中心座標に対応する升目とその隣接中心座標に対応する升目との撮影チャート画像上の歪みの差に相当する分だけ長さ及び傾きが変わる。基準直線は、本処理ステップS30が実行される毎に上記歪みの差に応じて徐々に修正・更新される。
【0074】
図7の処理ステップS26(注目中心座標の再設定)から本処理ステップS30までのループが繰り返されることにより、中心座標配列内の全ての中心座標に対してラベル(i,j)が割り当てられる。
【0075】
[撮影チャート画像の歪み検出フロー]
システム本体100は、各画素における撮影チャート画像の歪みを検出する。
図9に、システム本体100のCPU108によって実行される画像歪み検出処理のフローチャートを示す。また、
図10(a)〜
図10(c)に、画像歪み検出処理の説明を補助する説明補助図を示す。以下の説明の便宜上、基準長Lを持つかつ基準角度θ
hに対応する傾き(+X方向位置側)を持つ直線を参照直線(+X)と定義し、基準長Lを持つかつ基準角度θ
hに対応する傾き(−X方向位置側)を持つ直線を参照直線(−X)と定義し、基準長Lを持つかつ基準角度θ
vに対応する傾き(+Y方向位置側)を持つ直線を参照直線(+Y)と定義し、基準長Lを持つかつ基準角度θ
vに対応する傾き(−Y方向位置側)を持つ直線を参照直線(−Y)と定義する。なお、
図10中、参照直線は一点鎖線で示される。
【0076】
[
図9のS41(参照直線の算出)]
本処理ステップS41では、
図10(a)に示されるように、2つの参照直線の中間の角度を持つ参照直線が算出される。具体的には、参照直線(+X)と参照直線(+Y)との中間の角度に対応する傾き及び基準長Lを持つ参照直線(+X+Y)が算出される。また、参照直線(−X)と参照直線(+Y)との中間の角度に対応する傾き及び基準長Lを持つ参照直線(−X+Y)が算出される。また、参照直線(−X)と参照直線(−Y)との中間の角度に対応する傾き及び基準長Lを持つ参照直線(−X−Y)が算出される。また、参照直線(+X)と参照直線(−Y)との中間の角度に対応する傾き及び基準長Lを持つ参照直線(+X−Y)が算出される。
【0077】
[
図9のS42(注目中心座標の決定)]
本処理ステップS42では、中心座標配列が走査され、走査により検出された升目の中心座標が注目中心座標に決定される。
図10(b)においては、中央の升目の中心座標を注目中心座標とする。
【0078】
[
図9のS43(隣接中心座標との位置関係の計算)]
注目中心座標の升目の周囲には、典型的には、
図10(b)に示されるように、8つの升目が隣接する。ここで、説明の便宜上、注目中心座標のラベルを(m,n)とする。また、注目中心座標に対して+X方向位置側に位置する隣接中心座標を始点として時計回りに位置する隣接中心座標のラベルをそれぞれ(m+1,n)、(m+1,n−1)、(m,n−1)、(m−1,n−1)、(m−1,n)、(m−1,n+1)、(m,n+1)、(m+1,n+1)とする。
【0079】
本処理ステップS43では、
図10(c)に示されるように、注目中心座標と各隣接中心座標とが直線で結ばれ、結ばれた直線(便宜上、「実測直線」と記す。)の長さと傾き(角度)が計算される。
図10中、実測直線は実線で示される。具体的には、ラベル(m,n)の注目中心座標とラベル(m+1,n)の隣接中心座標とが直線(実測直線(+X))で結ばれ、結ばれた実測直線(+X)の長さ及び傾き(角度)が計算される。また、ラベル(m,n)の注目中心座標とラベル(m+1,n−1)の隣接中心座標とが直線(実測直線(+X−Y))で結ばれ、結ばれた実測直線(+X−Y)の長さ及び傾き(角度)が計算される。また、ラベル(m,n)の注目中心座標とラベル(m,n−1)の隣接中心座標とが直線(実測直線(−Y))で結ばれ、結ばれた実測直線(−Y)の長さ及び傾き(角度)が計算される。また、ラベル(m,n)の注目中心座標とラベル(m−1,n−1)の隣接中心座標とが直線(実測直線(−X−Y))で結ばれ、結ばれた実測直線(−X−Y)の長さ及び傾き(角度)が計算される。また、ラベル(m,n)の注目中心座標とラベル(m−1,n)の隣接中心座標とが直線(実測直線(−X))で結ばれ、結ばれた実測直線(−X)の長さ及び傾き(角度)が計算される。また、ラベル(m,n)の注目中心座標とラベル(m−1,n+1)の隣接中心座標とが直線(実測直線(−X+Y))で結ばれ、結ばれた実測直線(−X+Y)の長さ及び傾き(角度)が計算される。また、ラベル(m,n)の注目中心座標とラベル(m,n+1)の隣接中心座標とが直線(実測直線(+Y))で結ばれ、結ばれた実測直線(+Y)の長さ及び傾き(角度)が計算される。また、ラベル(m,n)の注目中心座標とラベル(m+1,n+1)の隣接中心座標とが直線(実測直線(+X+Y))で結ばれ、結ばれた実測直線(+X+Y)の長さ及び傾き(角度)が計算される。
【0080】
[
図9のS44(回転方向の歪みの検出)]
本処理ステップS44では、
図9の処理ステップS43(隣接中心座標との位置関係の計算)にて計算された注目中心座標と各隣接中心座標とを結ぶ複数本(
図10(b)の例では8本)の実測直線の各々の角度と、実測直線に対応する参照直線の角度との差が算出される。具体的には、実測直線(+X)と参照直線(+X)との角度差が算出される。また、実測直線(+X−Y)と参照直線(+X−Y)との角度差が算出される。また、実測直線(−Y)と参照直線(−Y)との角度差が算出される。また、実測直線(−X−Y)と参照直線(−X−Y)との角度差が算出される。また、実測直線(−X)と参照直線(−X)との角度差が算出される。また、実測直線(−X+Y)と参照直線(−X+Y)との角度差が算出される。また、実測直線(+Y)と参照直線(+Y)との角度差が算出される。また、実測直線(+X+Y)と参照直線(+X+Y)との角度差が算出される。
【0081】
本処理ステップS44では、算出された角度差の中で最も大きい角度差がラベル(m,n)の注目中心座標での回転方向の歪みを示すものとしてCPUメモリ110に保存される。
【0082】
[
図9のS45(拡大・縮小方向の歪みの検出)]
本処理ステップS45では、参照直線の長さ(すなわち基準長L)に対する各実測直線の長さの比率が算出される。具体的には、基準長Lに対する実測直線(+X)の長さの比率が算出される。また、基準長Lに対する実測直線(+X−Y)の長さの比率が算出される。また、基準長Lに対する実測直線(−Y)の長さの比率が算出される。また、基準長Lに対する実測直線(−X−Y)の長さの比率が算出される。また、基準長Lに対する実測直線(−X)の長さの比率が算出される。また、基準長Lに対する実測直線(−X+Y)の長さの比率が算出される。また、基準長Lに対する実測直線(+Y)の長さの比率が算出される。また、基準長Lに対する実測直線(+X+Y)の長さの比率が算出される。
【0083】
値が1未満の比率は逆数に変換される。説明の便宜上、値が1以上の比率を拡大倍率と定義し、値が1未満の比率の逆数を縮小倍率と定義する。本処理ステップS45では、算出された拡大倍率及び縮小倍率の中で最も高い値が特定され、特定された値に対応する比率がラベル(m,n)の注目中心座標での拡大・縮小方向の歪みを示すものとしてCPUメモリ110に保存される。
【0084】
[
図9のS46(歪み検出完了判定)]
本処理ステップS46では、中心座標配列内の全ての中心座標について歪みの検出が行われたか否かが判定される。本フローチャートは、中心座標配列内の全ての中心座標について歪みの検出が行われるまで、同図の処理ステップS42(注目中心座標の決定)から本処理ステップS46までのループを繰り返す。本フローチャートは、中心座標配列内の全ての中心座標について歪みの検出が行われた場合(
図9のS46:YES)、上記ループから抜けて、同図の処理ステップS47(補間による歪みの算出)に進む。
【0085】
[
図9のS47(補間による歪みの算出)]
上記ループを抜けた時点では、撮影チャート画像内に含まれる全ての升目の中心座標の画素について歪みが検出されているものの、各中心座標の画素の間の画素については歪みが検出されていない。そこで、本処理ステップS47では、各中心座標の画素の間に配置されている画素での歪みがスプライン補間など周知の補間法により求められる。
【0086】
図9のフローチャートの処理を実行することにより、撮影チャート画像内の歪み(回転方向並びに拡大・縮小方向の歪み)が検出され、コンピュータ処理可能なデータとして得られる。歪みデータは、画素単位など、細かい領域単位で得られるものであるため精度が高い。作業者又はコンピュータは、歪みデータを参照することにより、走査型共焦点内視鏡システム1による撮影画像の歪みを評価することができる。
【0087】
例えばコンピュータ処理により、撮影チャート画像内の歪みの分布を画像化することができる。
図11は、画像化された歪みの分布を示す。
図11の例では、撮影チャート画像の各画素に対して歪み(スコア)に応じた色が付加されている。各画素のスコアは、回転方向の歪み量に応じたスコアと、拡大・縮小方向の歪み量に応じたスコアとを加算した値である。各画素に付加される色は例えば赤色である。各画素には、スコアが高いほど濃い色が付加される。作業者又はコンピュータは、このような客観的な歪みデータに基づく評価の結果を基に、キャリブレーション(機械的又は電気的なもの)など、適切な処置を効率的に施すことができる。
【0088】
以上が本発明の例示的な実施形態の説明である。本発明の実施形態は、上記に説明したものに限定されず、本発明の技術的思想の範囲において様々な変形が可能である。例えば明細書中に例示的に明示される実施例等又は自明な実施例等を適宜組み合わせた内容も本願の実施形態に含まれる。