レーザ走査型顕微鏡およびスキャナ駆動装置
【課題】複数のスキャン領域を正確に連続してスキャンするとともに、スキャン領域の切替えによる処理時間の遅延を短縮する。
【解決手段】駆動テーブル作成部は、スキャン領域A1とスキャン領域A2との間のスキャン軌道P1、および、スキャン領域A2とスキャン領域A3との間のスキャン軌道P2を規定する補間駆動テーブルを作成し、メモリに格納する。駆動制御部は、補間駆動テーブルに基づいて、スキャン領域間においてスキャン軌道P1および軌道P2に従って移動するようにスキャナ駆動系の動作を制御する。本発明は、例えば、共焦点レーザ走査型顕微鏡に適用できる。
【解決手段】駆動テーブル作成部は、スキャン領域A1とスキャン領域A2との間のスキャン軌道P1、および、スキャン領域A2とスキャン領域A3との間のスキャン軌道P2を規定する補間駆動テーブルを作成し、メモリに格納する。駆動制御部は、補間駆動テーブルに基づいて、スキャン領域間においてスキャン軌道P1および軌道P2に従って移動するようにスキャナ駆動系の動作を制御する。本発明は、例えば、共焦点レーザ走査型顕微鏡に適用できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レーザ走査型顕微鏡およびスキャナ駆動装置に関し、特に、複数のスキャン領域を連続してスキャンすることが可能なレーザ走査型顕微鏡およびスキャナ駆動装置に関する。
【背景技術】
【0002】
従来、レーザ光をスキャン(走査)させながら試料に照射し、試料から発せられた蛍光のうちレーザ光の焦点面から発せられた蛍光のみをピンホールにより抽出し、試料を観察する共焦点レーザ走査型顕微鏡が普及している(例えば、特許文献1参照)。共焦点レーザ走査型顕微鏡の中には、複数のスキャン領域を連続してスキャンすることにより、複数のスキャン領域を続けて観察することが可能なものがある。
【0003】
ここで、従来の共焦点レーザ走査型顕微鏡により、図10のスキャン領域A1、スキャン領域A2、スキャン領域A3の順にスキャンを行う場合について考える。まず、スキャン領域A1のスキャンを制御するためのデータ列である駆動テーブルがメモリに格納され、メモリに格納された駆動テーブルに基づいてスキャン領域A1のスキャンが行われる。次に、スキャン領域A2用の駆動テーブルにメモリが書き換えられ、書き換えられた駆動テーブルに基づいてスキャン領域A2のスキャンが行われ、最後に、スキャン領域A3用の駆動テーブルにメモリが書き換えられ、書き換えられた駆動テーブルに基づいて、スキャン領域A3のスキャンが行われる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−98468号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、レーザ光のスキャンに用いるミラーの角度を制御するスキャナ、および、スキャナを駆動するスキャナ駆動系は、動作が安定するまでに多少の時間を要する。従って、図10に示されるように、スキャン領域A1のスキャンが終了した後、スキャン領域A1の終点からスキャン領域A2の始点にスキャン軌道を一直線に移動させ、そのままスキャン領域A2の先頭からスキャンを行おうとすると、スキャン領域A2の先頭の数ラインが正確にスキャンされない恐れがあり、取得した画像が歪むなどの問題となる。
【0006】
一方、スキャン領域A2の先頭から安定したスキャンを行うようにするためには、スキャン領域A2の前に電気、機械系を含むスキャナ駆動系の動作を安定させるための予備のスキャン領域を設ける必要があり、処理時間の遅延が発生する。
【0007】
本発明は、このような状況を鑑みてなされたものであり、複数のスキャン領域を正確に連続してスキャンできるようにするとともに、スキャン領域の切替えによる処理時間の遅延を短縮できるようにするものである。
【課題を解決するための手段】
【0008】
本発明の一側面のレーザ走査型顕微鏡は、レーザ光のスキャンに用いる部材の角度を制御するスキャナを駆動するための時系列のデータを示す駆動テーブルに基づいて、複数のスキャン領域をスキャンするレーザ走査型顕微鏡において、第1のスキャン領域の終点と、前記第1のスキャン領域の次にスキャンされる第2のスキャン領域の始点との間におけるスキャン軌道を規定する補間駆動テーブルを作成する作成手段と、前記第1のスキャン領域と前記第2のスキャン領域との間において、前記補間駆動テーブルに基づいて前記スキャナの駆動を制御するとともに、前記第1のスキャン領域と前記第2のスキャン領域との間を複数の領域に分割し、分割した領域ごとに前記部材の角加速度を変化させるように前記スキャナの駆動を制御する駆動制御手段とを備える。
【0009】
本発明の一側面のスキャナ駆動装置は、レーザ走査型顕微鏡のレーザ光のスキャンに用いる部材の角度を制御するスキャナを駆動するための時系列のデータを示す駆動テーブルに基づいて、複数のスキャン領域をスキャンするように前記スキャナを駆動するスキャナ駆動装置において、第1のスキャン領域の終点と、前記第1のスキャン領域の次にスキャンされる第2のスキャン領域の始点との間におけるスキャン軌道を規定する補間駆動テーブルを作成する作成手段と、前記第1のスキャン領域と前記第2のスキャン領域との間において、前記補間駆動テーブルに基づいて前記スキャナの駆動を制御するとともに、前記第1のスキャン領域と前記第2のスキャン領域との間を複数の領域に分割し、分割した領域ごとに前記部材の角加速度を変化させるように前記スキャナの駆動を制御する駆動制御手段とを備える。
【0010】
本発明の一側面においては、第1のスキャン領域の終点と、前記第1のスキャン領域の次にスキャンされる第2のスキャン領域の始点との間におけるスキャン軌道を規定する補間駆動テーブルが作成され、前記第1のスキャン領域と前記第2のスキャン領域との間において、前記補間駆動テーブルに基づいてレーザ光のスキャンに用いる部材の角度を制御するスキャナの駆動が制御されるとともに、前記第1のスキャン領域と前記第2のスキャン領域との間を複数の領域に分割し、分割した領域ごとに部材の角加速度を変化させるように前記スキャナの駆動が制御される。
【発明の効果】
【0011】
本発明の一側面によれば、複数のスキャン領域間の補間的移動領域のスキャン軌道を制御することができる。特に、本発明の一側面によれば、複数のスキャン領域を正確に連続してスキャンすることができるとともに、スキャン領域の切替えによる処理時間の遅延を短縮することができる。
【図面の簡単な説明】
【0012】
【図1】本発明を適用した共焦点レーザ走査型顕微鏡の光学系の一実施の形態を示す図である。
【図2】共焦点レーザ走査型顕微鏡のスキャナ駆動系の構成の例を示すブロック図である。
【図3】スキャナ駆動処理を説明するためのフローチャートである。
【図4】スキャン領域および補間領域の例を示す図である。
【図5】駆動回路から出力される駆動信号の波形の一例を示す図である。
【図6】駆動テーブルの格納領域の例を示す図である。
【図7】スキャン領域間のスキャン軌道の例を示す図である。
【図8】スキャン領域間のスキャン軌道の他の例を示す図である。
【図9】駆動テーブルの格納領域の他の例を示す図である。
【図10】従来のスキャン方法を説明するための図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明を適用した実施の形態について説明する。
【0014】
図1は、本発明を適用した共焦点レーザ走査型顕微鏡1の光学系の一実施の形態を示す図である。ここで、共焦点レーザ走査型顕微鏡1の光学系の動作について説明する。
【0015】
レーザ光源11から発せられたレーザ光(励起光)は、出力端がファイバコネクタ(不図示)に接続された光ファイバ(不図示)によりスキャナ光学系に導入される。スキャナ光学系に導入されたレーザ光は、ダイクロイックミラー12によりミラー13Xの方向に反射される。ミラー13Xおよび13Yは、例えば、全反射ミラーにより構成され、ミラー13Xの方向に反射されたレーザ光は、ミラー13Xおよびミラー13Yにより走査レンズ系15の方向に反射される。そして、レーザ光は、走査レンズ系15および対物レンズ16を透過することにより集光され、ステージ22上の試料2に照射される。
【0016】
制御装置20は、スキャナ14Xを駆動し、ミラー13Xの角度を制御することにより、試料2に照射されるレーザ光を共焦点レーザ走査型顕微鏡1の左右方向(x軸方向)に走査し、スキャナ14Yを駆動し、ミラー13Yの角度を制御することにより、試料2に照射されるレーザ光を共焦点レーザ走査型顕微鏡1の奥行き方向(y軸方向)に走査する。
【0017】
レーザ光を照射することにより励起され試料2から発せられた蛍光は、対物レンズ16および走査レンズ系15を透過し、ミラー13Yおよびミラー13Xによりデスキャンされた後、ダイクロイックミラー12を透過する。そして、デスキャンされた蛍光のうち対物レンズ16の焦点面から発せられた蛍光のみが、ピンホール17を通過し、蛍光フィルタ18により所定の波長成分が透過され、例えば、PMT(光電子増倍管、Photomultiplier)により構成される検出器19により電気信号に変換される。その電気信号は、制御装置20に供給され、制御装置20により画像データに変換され、表示装置21に供給される。表示装置21は、画像データに基づく画像、すなわち、試料2の画像を表示する。
【0018】
なお、制御装置20は、上述した以外にも、ピンホール17のピンホール径の制御、蛍光フィルタ18の切替えの制御などを行う。
【0019】
図2は、共焦点レーザ走査型顕微鏡1の制御装置20を構成する要素のうち、スキャナ14Xおよびスキャナ14Yを介して、ミラー13Xおよびミラー13Yを駆動し、レーザ光のスキャンを制御するスキャナ駆動系51の構成の例を示すブロック図である。
【0020】
コントローラ61は、例えば、CPU(Central Processing Unit)などのプロセッサにより構成され、スキャナ駆動系51全体の動作を制御する。コントローラ61は、所定の制御プログラムを実行することにより、駆動テーブル作成部81および駆動制御部82を含む機能を実現する。
【0021】
駆動テーブル作成部81は、図3などを参照して後述するように、指示されたスキャン領域を指示された速度でスキャンするようにスキャナ14Xおよびスキャナ14Yを駆動する駆動信号の生成に用いる駆動テーブルを作成し、メモリ66Xおよびメモリ66Yに格納する。駆動テーブルは、スキャナ14Xを駆動する駆動回路68Xに用いるテーブル(以下、x軸用とも称する)、および、スキャナ14Yを駆動する駆動回路68Yに用いるテーブル(以下、y軸用とも称する)の2種類からなり、例えば、駆動回路68Xまたは駆動回路68Yから出力する駆動信号の電圧値に対応するデータが時系列に並べられている。換言すれば、駆動テーブルは、ミラー13Xまたはミラー13Yを回転するための時系列のデータを示している。
【0022】
また、駆動テーブル作成部81は、図3などを参照して後述するように、あるスキャン領域の始点と、次にスキャンされるスキャン領域の始点の間におけるスキャン軌道を規定する駆動テーブルである補間駆動テーブルを作成し、メモリ66Xおよびメモリ66Yに格納する。
【0023】
駆動制御部82は、メモリ66Xに格納されているx軸用駆動テーブル、および、メモリ66Yに格納されているy軸用の駆動テーブルに基づいて、指示されたスキャン領域が指示された速度でスキャンされるように、分周器63、分周器64X、分周器64Y、アドレス発生器65X、および、アドレス発生器65Yを制御する。
【0024】
具体的には、基準クロック発生器62が発生するクロック信号は、駆動制御部82の制御の基に、分周器63および分周器64Xにより、その周波数が変換され、アドレス発生器65Xに供給され、分周器63および分周器64Yにより、その周波数が変換され、アドレス発生器65Yに供給される。
【0025】
アドレス発生器65Xは、駆動制御部82の制御の基に、分周器64Xからのクロック信号に同期して、データを読み出すアドレスを指示するアドレス信号をメモリ66Xに供給する。メモリ66Xは、アドレス信号に基づいて、駆動テーブルに設定されているデータを順次D/Aコンバータ67Xに出力し、D/Aコンバータ67Xは、そのデータをアナログ信号に変換し、駆動回路68Xに供給する。駆動回路68Xは、供給されたアナログ信号に基づいて、駆動テーブルから読み出されたデータに対応する電圧の駆動信号をスキャナ14Xに供給し、ミラー13Xの角度を制御する。
【0026】
同様に、アドレス発生器65Yは、駆動制御部82の制御の基に、分周器64Yからのクロック信号に同期して、データを読み出すアドレスを指示するアドレス信号をメモリ66Yに供給する。メモリ66Yは、アドレス信号に基づいて、駆動テーブルに設定されているデータを順次D/Aコンバータ67Yに出力し、D/Aコンバータ67Yは、そのデータをアナログ信号に変換し、駆動回路68Yに供給する。駆動回路68Yは、供給されたアナログ信号に基づいて、駆動テーブルから読み出されたデータに対応する電圧の駆動信号をスキャナ14Yに供給し、ミラー13Yの角度を制御する。
【0027】
次に、図3のフローチャートを参照して、スキャナ駆動系51により実行されるスキャナ駆動処理について説明する。なお、この処理は、例えば、共焦点レーザ走査型顕微鏡1の図示せぬ入力部を介して、スキャン領域の位置と大きさ、および、各スキャン領域をスキャンする速度(例えば、ライン速度など)を指示する情報がコントローラ61に入力されたとき、開始される。
【0028】
なお、以下、図4に示されるように、上述した図10と同様のスキャン領域A1乃至A3を、スキャン領域A1、スキャン領域A2、スキャン領域A3の順にスキャンするように指示された場合について考える。なお、以下、スキャン領域A1とスキャン領域A2の間の領域を補間領域B1と称し、スキャン領域A2とスキャン領域A3の間の領域を補間領域B2と称する。また、以下、スキャン領域A1乃至A3において、ラスタスキャンが行われるものとする。
【0029】
ステップS1において、駆動テーブル作成部81は、駆動テーブルを作成する。
【0030】
図5は、スキャン領域をラスタスキャンする場合に、駆動回路68Xおよび駆動回路68Yから出力される駆動信号の波形の一例を示している。図5の上側の波形は、駆動回路68Xから出力されるx軸用の駆動信号の波形を示しており、下側の波形は、駆動回路68Yから出力されるy軸用の駆動信号の波形を示している。
【0031】
x軸用の駆動信号は、1ラインを走査して、次のラインの走査の開始点に戻るまでの1ライン時間分の山形の波形が繰り返される形状を有している(ただし、最終ラインについては、次のラインの走査の開始点に戻ることなく次のスキャン領域に移動するため、最終ラインの走査の終了点までの波形となっている。)。なお、スキャン領域のx軸方向の幅の違いにより波形の高さが変化し、スキャン領域のx軸方向の位置の違いにより、駆動信号の電圧のオフセット値が変化し、波形は上下方向に移動する。
【0032】
y軸用の駆動信号は、1ラインの走査が終了するごとに次のラインの高さに移動するように、階段状の波形となっている。なお、スキャン領域のy軸方向の位置の違いにより、駆動信号の電圧のオフセット値が変化し、波形は上下方向に移動する。
【0033】
駆動テーブル作成部81は、スキャン領域A1の1ライン分のx軸用の駆動信号を生成するための時系列のデータを示す駆動テーブル、および、スキャン領域A1の1フレーム分のy軸用の駆動信号を生成するための時系列のデータを示す駆動テーブルを作成する。
なお、上述したように、最終ラインの波形は他のラインの波形と異なるため、最終ライン用に別の駆動テーブルを作成して、切り替えるようにしてもよい。
【0034】
ステップS2において、駆動テーブル作成部81は、駆動テーブルをメモリに格納する。すなわち、駆動テーブル作成部81は、スキャン領域A1のx軸用の駆動テーブルをメモリ66Xに格納し、スキャン領域A1のy軸用の駆動テーブルをメモリ66Yに格納する。
【0035】
ステップS3において、駆動テーブル作成部81は、駆動テーブルを作成していないスキャン領域が残っているかを判定する。いまの場合、スキャン領域A2およびスキャン領域A3の駆動テーブルが作成されていないので、駆動テーブルを作成していないスキャン領域が残っていると判定され、処理はステップS1に戻る。
【0036】
その後、ステップS3において、駆動テーブルを作成していないスキャン領域が残っていないと判定されるまで、ステップS1乃至S3の処理が繰り返し実行される。
【0037】
一方、ステップS3において、駆動テーブルを作成していないスキャン領域が残っていないと判定された場合、処理はステップS4に進み、ステップS4において、駆動テーブル作成部81は、補間駆動テーブルを作成する。すなわち、駆動テーブル作成部81は、スキャン領域A1とスキャン領域A2の間の補間領域B1のx軸用およびy軸用の補間駆動テーブル、並びに、スキャン領域A2とスキャン領域A3の間の補間領域B2のx軸用およびy軸用の補間駆動テーブルを作成する。なお、ステップS4の処理の詳細については後述する。
【0038】
ステップS5において、駆動テーブル作成部81は、補間駆動テーブルをメモリに格納する。すなわち、駆動テーブル作成部81は、補間領域B1のx軸用の補間駆動テーブルを、メモリ66Xのスキャン領域A1のx軸用の駆動テーブルが格納されている領域の直後に格納し、補間領域B1のy軸用の補間駆動テーブルを、メモリ66Yのスキャン領域A1のy軸用の駆動テーブルが格納されている領域の直後に格納し、補間領域B2のx軸用の補間駆動テーブルを、メモリ66Xのスキャン領域A2のx軸用の駆動テーブルが格納されている領域の直後に格納し、補間領域B2のy軸用の補間駆動テーブルを、メモリ66Yのスキャン領域A2のy軸用の駆動テーブルが格納されている領域の直後に格納する。
【0039】
これにより、スキャン領域A1用の駆動テーブル(以下、駆動テーブルA1と称する)、補間領域B1用の補間駆動テーブル(以下、補間駆動テーブルB1と称する)、スキャン領域A2用の駆動テーブル(以下、駆動テーブルA2と称する)、補間領域B2用の補間駆動テーブル(以下、補間駆動テーブルB2と称する)、スキャン領域A3用の駆動テーブル(以下、駆動テーブルA3と称する)の順に駆動テーブルが作成され、図6に示されるように、処理に用いられる順に並べてメモリ66Xおよびメモリ66Yに格納される。
【0040】
ここで、図7および図8を参照して、ステップS4の処理の詳細について説明する。
【0041】
スキャン領域A1のスキャンが終了した後、スキャン領域A2の前に予備スキャン領域を設けずに、スキャン領域A2の先頭から正確にスキャンを開始するためには、スキャン領域A2の先頭にレーザ光が移動するまでの間に、スキャナ14X、スキャナ14Y、および、スキャナ駆動系51の動作を安定させる必要がある。そのためには、補間領域B1におけるスキャン軌道が、スキャン領域A2の始点に近づくにつれてスキャン領域A2の先頭のラインの走査方向に近づき、スキャン領域A2の始点の直前においてスキャン領域A2の先頭のラインの走査方向とほぼ等しくなるようにすることが望ましい。
【0042】
また、スキャン領域A1からスキャン領域A2への移動に伴う処理時間の遅延を最小にするためには、補間領域B1におけるスキャン軌道の総和をできる限り短くするとともに、レーザ光のx軸およびy軸方向の単位時間当たりの移動距離が、できる限りレーザ光のx軸およびy軸方向の単位時間当たりの最大移動可能距離に近づくようにスキャン軌道を設定することが望ましい。なお、スキャン位置の単位時間当たりのx軸およびy軸方向の最大移動可能距離は、スキャナ14Xおよびスキャナ14Yの最大加速度により規定されるミラー13Xおよびミラー13Yの単位時間あたりの最大回転角により規定される。
【0043】
具体的に例を挙げれば、ミラー13X、13Yの角加速度をそれぞれαx、αyとし、領域A1の終端における回転角度をθx1、θy1、角速度をωx1、ωy1とし、領域A2の始点における回転角度をθx2、θy2、角速度をωx2、ωy2とすると、角速度ωx1を角加速度αx1で変化させてt時間後に角速度ωx2になっていればよいので、
例えば、スキャナ14X(x軸)について検討すると、
領域A2の始点におけるミラー13Xの角速度ωx2は
ωx2=ωx1+αx・t ・・・(1)
であり、
また、回転角度θx1からt時間後のミラー13Xの回転角度θx2は
θx2= θx1 +∫ωx2 dt×t ・・・(2)
(1)式を(2)式に代入すると
θx2=θx1+ ωx1・t + 1/2・αx・t2
という関係式が成立する。
これは、tの関数であり、角加速度αxは予め設定されている最大角加速度を超えない値である。なお、角速度ωx1、ωx2 の値は正負のいずれかであり、この正負はミラーの回転の向きを表している。また、角加速度αx、の値も正負いずれかであり、この符号は回転方向に対する加速又は減速を表している。
その結果、領域A1の終端から領域A2の始点へ至るx軸の経路が決定される。ミラー13Y(y軸)についても同様にθy2が求められ、両軸の駆動経路が決定される。
ミラー13X、13Yを領域A1の終端から領域A2の始点まで滑らかに移動させるためには、補間領域B1を複数領域に分割し、各領域毎に角加速度αxを変化させて速度は変化(加速や減速)させる。
ミラー13X、ミラー13Yは独立して駆動されているため、駆動の最適な制御は、ミラーごとに上述の制御を行うことで、結果的にミラー13X、ミラー13Yの合成軌跡が最適化される。
【0044】
以上のことを考慮して、補間領域B1におけるスキャン軌道として、例えば、図7に示されるように、スキャン領域A1の始点に近づくにつれてスキャン領域A2の先頭のラインの走査方向に近づき、スキャン領域A2の始点の直前においてスキャン領域A2の先頭のラインの走査方向とほぼ等しくなり、x軸方向(水平方向)とy軸方向(垂直方向)を合成した距離が最短となる軌道P1が求められる。
【0045】
駆動テーブル作成部81は、例えば、スキャン領域A1の終点とスキャン領域A2の始点との間のサイン補間、あるいは、半周期分のサイン補間を行うことにより、軌道P1を求め、軌道P1を規定する補間駆動テーブルB1、換言すれば、スキャン軌道が軌道P1となるように制御するための補間駆動テーブルB1を作成し、メモリ66Xおよびメモリ66Yに格納する。同様にして、駆動テーブル作成部81は、補間領域B2における軌道P2を求め、軌道P2を規定する補間駆動テーブルB2を作成し、メモリ66Xおよびメモリ66Yに格納する。
【0046】
これにより、スキャン領域A2およびスキャン領域A3の前に予備スキャン領域を設けずに、スキャン領域A2およびスキャン領域A3の先頭から正確にスキャンを開始できるとともに、スキャン領域A1からスキャン領域A2への切替え、および、スキャン領域A2からスキャン領域A3への切替えによる処理時間の遅延を短縮することができる。
【0047】
また、スキャナ14X、スキャナ14Y、および、スキャナ駆動系51の動作を安定させ、スキャン領域A2の先頭から正確にスキャンを開始させるために、補間領域B1において、スキャン領域A1の終点からスキャン領域A2の始点に移動しながら、スキャン領域A2より広いライン間隔で予備スキャンを行うように、スキャン軌道を設定することが考えられる。
【0048】
この場合、駆動テーブル作成部81は、例えば、図8に示されるように、スキャン領域A2の上方のスキャン領域A2とx軸方向(水平方向)の位置が同じ領域において、スキャン領域A2より広いライン間隔でスキャンを始め、スキャン領域A2に近づくにつれてスキャン領域A2のライン間隔に近づく軌道P11を求め、軌道P11を規定する補間駆動テーブルB1を作成し、メモリ66Xおよびメモリ66Yに格納する。同様にして、駆動テーブル作成部81は、補間領域B2における軌道P12を求め、軌道P12を規定する補間駆動テーブルB2を作成し、メモリ66Xおよびメモリ66Yに格納する。
【0049】
これにより、スキャン領域A2およびスキャン領域A3の先頭から正確にスキャンを開始できるとともに、スキャン領域A2およびスキャン領域A3の前に専用の予備スキャン領域を設ける場合と比較して、スキャン領域A1からスキャン領域A2への切替え、および、スキャン領域A2からスキャン領域A3への切替えによる処理時間の遅延を短縮することができる。
【0050】
図3に戻り、スキャン領域A3の駆動テーブルが作成され、メモリ66Xおよびメモリ66Yに格納された後、ステップS3において、駆動テーブルを作成していないスキャン領域が残っていないと判定され、処理はステップS6に進む。
【0051】
ステップS6において、スキャナ駆動系51は、駆動テーブルおよび補間駆動テーブルに基づいて、ミラー13X,13Yを駆動する。具体的には、駆動テーブル作成部81は、駆動テーブルの格納が完了したことを駆動制御部82に通知する。駆動制御部82は、スキャン速度が指示されたスキャン領域A1におけるスキャン速度になるように、分周器63、分周器64X、および、分周器64Yの分周比を設定する。
【0052】
さらに、駆動制御部82は、分周器64Xからのクロック信号に同期して、x軸用の駆動テーブルA1のデータが、先頭から順にスキャン領域A1のライン数分だけ繰り返しメモリ66Xから読み出され、D/Aコンバータ67Xに供給されるようにアドレス発生器65Xを制御し、分周器64Yからのクロック信号に同期して、y軸用の駆動テーブルA1のデータが、先頭から順にメモリ66Yから読み出され、D/Aコンバータ67Yに供給されるようにアドレス発生器65Yを制御する。ただし、上述したように、x軸用の駆動信号の波形は最終ラインの走査の終了点までの波形となるため、スキャン領域A1の最終ラインにおいては、駆動信号の最終ラインの走査の終了点までのデータがx軸用の駆動テーブルA1から読み出される。
【0053】
これにより、x軸用の駆動テーブルA1に基づく駆動信号が駆動回路68Xからスキャナ14Xに出力され、スキャナ14Xが駆動され、y軸用の駆動テーブルA1に基づく駆動信号が駆動回路68Yからスキャナ14Yに出力され、スキャナ14Yが駆動され、スキャン領域A1のスキャンが行われる。
【0054】
スキャン領域A1のスキャンの終了後、駆動制御部82は、スキャン速度が指示されたスキャン領域A2におけるスキャン速度になるように、分周器63、分周器64X、および、分周器64Yの分周比を設定する。さらに、駆動制御部82は、分周器64Xからのクロック信号に同期して、x軸用の補間駆動テーブルB1のデータが、先頭から順にメモリ66Xから読み出され、D/Aコンバータ67Xに供給されるようにアドレス発生器65Xを制御し、分周器64Yからのクロック信号に同期して、y軸用の補間駆動テーブルB1のデータが、先頭から順にメモリ66Yから読み出され、D/Aコンバータ67Yに供給されるようにアドレス発生器65Yを制御する。
【0055】
これにより、x軸用の補間駆動テーブルB1に基づく駆動信号が駆動回路68Xからスキャナ14Xに出力され、スキャナ14Xが駆動され、y軸用の補間駆動テーブルB1に基づく駆動信号が駆動回路68Yからスキャナ14Yに出力され、スキャナ14Yが駆動され、レーザ光のスキャン位置が、設定された軌道(例えば、図7の軌道P1または図8の軌道P11)に従ってスキャン領域A1の終点からスキャン領域A2の始点まで移動する。
【0056】
その後、同様に、スキャン領域A2のスキャンが行われ、レーザ光のスキャン位置が、設定された軌道(例えば、図7の軌道P2または図8の軌道P12)に従ってスキャン領域A2の終点からスキャン領域A3の始点まで移動し、スキャン領域A3のスキャンが行われた後、スキャナ駆動処理は終了する。
【0057】
このとき、駆動テーブルおよび補間駆動テーブルが、予め作成され、処理される順にメモリ66Xおよびメモリ66Yに格納されているので、スキャン領域を切り替えるごとに、駆動テーブルを作成したり、書き換えたりする処理が発生しないため、処理時間を短縮することが可能になる。
【0058】
なお、スキャン領域A1乃至A3のスキャンを繰り返し行う場合には、スキャン領域A3とスキャン領域A1との間の補間領域B3用の補間駆動テーブルB3を作成し、駆動テーブルA1に基づくスキャン領域A1のスキャン、補間駆動テーブルB2に基づくスキャン領域A1からスキャン領域A2へのレーザ光の移動、駆動テーブルA2に基づくスキャン領域A2のスキャン、補間駆動テーブルB2に基づくスキャン領域A2からスキャン領域A3へのレーザ光の移動、駆動テーブルA3に基づくスキャン領域A3のスキャン、補間駆動テーブルB3に基づくスキャン領域A3からスキャン領域A1へのレーザ光の移動を繰り返すように制御すればよい。この場合、スキャン領域間のレーザ光の移動は、予め設定されている補間駆動テーブルに基づいて行われるため、その都度、演算などによりスキャン領域間のスキャン軌道を求めて制御する場合と比較して、スキャン領域の切替えによる処理時間の遅延を短縮することができる。
【0059】
また、ここまでの例では、複数の領域を順次スキャンする例について述べたが、スキャンの順序は、スキャン対象と目的により、設定または変更できる構造としてもよい。例えば、特定の位置から近い順あるいは遠い順に順序を設定または変更したり、予め定めたルール(例えば、領域の狭い順あるいは広い順)に従って順序を設定または変更したり、ランダムに順序を設定または変更したりすることが考えられる。
【0060】
なお、以上に説明した処理では、スキャン領域の数が増えるほど、駆動テーブルおよび補間駆動テーブルを格納するために必要なメモリ容量は大きくなる。そこで、例えば、図9のAに示されるように、駆動テーブル用の領域RA1、補間駆動テーブル用の領域RB1、駆動テーブル用の領域RA2、補間駆動テーブル用の領域RB2の順番に、メモリ66Xおよびメモリ66Yに予め領域を設けておく。そして、領域RA1に格納されている駆動テーブルに基づいてスキャン領域のスキャンを行っているときに、現在スキャン中のスキャン領域と次にスキャンするスキャン領域との間の補間領域用の補間駆動テーブル、および、次にスキャンするスキャン領域用の駆動テーブルを作成し、作成した補間駆動テーブルを領域RB1に格納し、駆動テーブルを領域RA2に格納する。また、領域RA2に格納されている駆動テーブルに基づいてスキャン領域のスキャンを行っているときに、現在スキャン中のスキャン領域と次にスキャンするスキャン領域との間の補間領域用の補間駆動テーブル、および、次にスキャンするスキャン領域用の駆動テーブルを作成し、作成した補間駆動テーブルを領域RB2に格納し、駆動テーブルを領域RA1に格納する。
【0061】
これにより、メモリ容量を削減することが可能になる。また、スキャン領域のスキャン中に、次に必要な補間駆動テーブルおよび駆動テーブルを作成し、格納するため、処理時間の遅延を抑制することができる。
【0062】
あるいは、図9のBのごとく、駆動テーブルを同一メモリ空間にバンク状に配置することにより、駆動テーブルの切替えを、メモリのバンク切替えにより実現して、最大テーブル数の変更に柔軟に対応できる構造としてもよい。なお、図9のBは、駆動テーブルをバンクとして同一アドレスに配置した場合を示す図である。この場合、例えば、駆動テーブルA1乃至A3および補間駆動テーブルB1、B2のバンクの格納場所は、各バンクからの読み出し順が特定できるならば、どこに格納してもよい。
【0063】
なお、以上の説明では、本発明を、共焦点レーザ走査型顕微鏡に適用する例を示したが、本発明は、共焦点型以外のレーザ走査型顕微鏡にも適用することが可能である。
【0064】
また、以上の説明では、3つのスキャン領域を設定した場合の処理について説明したが、本発明は、2つまたは4つ以上のスキャン領域を設定した場合の処理にも適用することが可能である。また、以上では、複数のスキャン領域の大きさが同一の場合について説明したが、本発明は、スキャン領域の大きさが異なる場合にも適用することが可能である。
【0065】
なお、上述したスキャナ駆動系51の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0066】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0067】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0068】
1 共焦点レーザ走査型顕微鏡, 13X,13Y ミラー, 14X,14Y スキャナ, 51 スキャナ駆動系, 61 コントローラ, 62 基準クロック発生器, 63 分周器, 64X,64Y 分周器, 65X,65Y アドレス発生器, 66X,66Y メモリ, 68X,68Y 駆動回路, 81 駆動テーブル作成部, 82 駆動制御部
【技術分野】
【0001】
本発明は、レーザ走査型顕微鏡およびスキャナ駆動装置に関し、特に、複数のスキャン領域を連続してスキャンすることが可能なレーザ走査型顕微鏡およびスキャナ駆動装置に関する。
【背景技術】
【0002】
従来、レーザ光をスキャン(走査)させながら試料に照射し、試料から発せられた蛍光のうちレーザ光の焦点面から発せられた蛍光のみをピンホールにより抽出し、試料を観察する共焦点レーザ走査型顕微鏡が普及している(例えば、特許文献1参照)。共焦点レーザ走査型顕微鏡の中には、複数のスキャン領域を連続してスキャンすることにより、複数のスキャン領域を続けて観察することが可能なものがある。
【0003】
ここで、従来の共焦点レーザ走査型顕微鏡により、図10のスキャン領域A1、スキャン領域A2、スキャン領域A3の順にスキャンを行う場合について考える。まず、スキャン領域A1のスキャンを制御するためのデータ列である駆動テーブルがメモリに格納され、メモリに格納された駆動テーブルに基づいてスキャン領域A1のスキャンが行われる。次に、スキャン領域A2用の駆動テーブルにメモリが書き換えられ、書き換えられた駆動テーブルに基づいてスキャン領域A2のスキャンが行われ、最後に、スキャン領域A3用の駆動テーブルにメモリが書き換えられ、書き換えられた駆動テーブルに基づいて、スキャン領域A3のスキャンが行われる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−98468号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、レーザ光のスキャンに用いるミラーの角度を制御するスキャナ、および、スキャナを駆動するスキャナ駆動系は、動作が安定するまでに多少の時間を要する。従って、図10に示されるように、スキャン領域A1のスキャンが終了した後、スキャン領域A1の終点からスキャン領域A2の始点にスキャン軌道を一直線に移動させ、そのままスキャン領域A2の先頭からスキャンを行おうとすると、スキャン領域A2の先頭の数ラインが正確にスキャンされない恐れがあり、取得した画像が歪むなどの問題となる。
【0006】
一方、スキャン領域A2の先頭から安定したスキャンを行うようにするためには、スキャン領域A2の前に電気、機械系を含むスキャナ駆動系の動作を安定させるための予備のスキャン領域を設ける必要があり、処理時間の遅延が発生する。
【0007】
本発明は、このような状況を鑑みてなされたものであり、複数のスキャン領域を正確に連続してスキャンできるようにするとともに、スキャン領域の切替えによる処理時間の遅延を短縮できるようにするものである。
【課題を解決するための手段】
【0008】
本発明の一側面のレーザ走査型顕微鏡は、レーザ光のスキャンに用いる部材の角度を制御するスキャナを駆動するための時系列のデータを示す駆動テーブルに基づいて、複数のスキャン領域をスキャンするレーザ走査型顕微鏡において、第1のスキャン領域の終点と、前記第1のスキャン領域の次にスキャンされる第2のスキャン領域の始点との間におけるスキャン軌道を規定する補間駆動テーブルを作成する作成手段と、前記第1のスキャン領域と前記第2のスキャン領域との間において、前記補間駆動テーブルに基づいて前記スキャナの駆動を制御するとともに、前記第1のスキャン領域と前記第2のスキャン領域との間を複数の領域に分割し、分割した領域ごとに前記部材の角加速度を変化させるように前記スキャナの駆動を制御する駆動制御手段とを備える。
【0009】
本発明の一側面のスキャナ駆動装置は、レーザ走査型顕微鏡のレーザ光のスキャンに用いる部材の角度を制御するスキャナを駆動するための時系列のデータを示す駆動テーブルに基づいて、複数のスキャン領域をスキャンするように前記スキャナを駆動するスキャナ駆動装置において、第1のスキャン領域の終点と、前記第1のスキャン領域の次にスキャンされる第2のスキャン領域の始点との間におけるスキャン軌道を規定する補間駆動テーブルを作成する作成手段と、前記第1のスキャン領域と前記第2のスキャン領域との間において、前記補間駆動テーブルに基づいて前記スキャナの駆動を制御するとともに、前記第1のスキャン領域と前記第2のスキャン領域との間を複数の領域に分割し、分割した領域ごとに前記部材の角加速度を変化させるように前記スキャナの駆動を制御する駆動制御手段とを備える。
【0010】
本発明の一側面においては、第1のスキャン領域の終点と、前記第1のスキャン領域の次にスキャンされる第2のスキャン領域の始点との間におけるスキャン軌道を規定する補間駆動テーブルが作成され、前記第1のスキャン領域と前記第2のスキャン領域との間において、前記補間駆動テーブルに基づいてレーザ光のスキャンに用いる部材の角度を制御するスキャナの駆動が制御されるとともに、前記第1のスキャン領域と前記第2のスキャン領域との間を複数の領域に分割し、分割した領域ごとに部材の角加速度を変化させるように前記スキャナの駆動が制御される。
【発明の効果】
【0011】
本発明の一側面によれば、複数のスキャン領域間の補間的移動領域のスキャン軌道を制御することができる。特に、本発明の一側面によれば、複数のスキャン領域を正確に連続してスキャンすることができるとともに、スキャン領域の切替えによる処理時間の遅延を短縮することができる。
【図面の簡単な説明】
【0012】
【図1】本発明を適用した共焦点レーザ走査型顕微鏡の光学系の一実施の形態を示す図である。
【図2】共焦点レーザ走査型顕微鏡のスキャナ駆動系の構成の例を示すブロック図である。
【図3】スキャナ駆動処理を説明するためのフローチャートである。
【図4】スキャン領域および補間領域の例を示す図である。
【図5】駆動回路から出力される駆動信号の波形の一例を示す図である。
【図6】駆動テーブルの格納領域の例を示す図である。
【図7】スキャン領域間のスキャン軌道の例を示す図である。
【図8】スキャン領域間のスキャン軌道の他の例を示す図である。
【図9】駆動テーブルの格納領域の他の例を示す図である。
【図10】従来のスキャン方法を説明するための図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明を適用した実施の形態について説明する。
【0014】
図1は、本発明を適用した共焦点レーザ走査型顕微鏡1の光学系の一実施の形態を示す図である。ここで、共焦点レーザ走査型顕微鏡1の光学系の動作について説明する。
【0015】
レーザ光源11から発せられたレーザ光(励起光)は、出力端がファイバコネクタ(不図示)に接続された光ファイバ(不図示)によりスキャナ光学系に導入される。スキャナ光学系に導入されたレーザ光は、ダイクロイックミラー12によりミラー13Xの方向に反射される。ミラー13Xおよび13Yは、例えば、全反射ミラーにより構成され、ミラー13Xの方向に反射されたレーザ光は、ミラー13Xおよびミラー13Yにより走査レンズ系15の方向に反射される。そして、レーザ光は、走査レンズ系15および対物レンズ16を透過することにより集光され、ステージ22上の試料2に照射される。
【0016】
制御装置20は、スキャナ14Xを駆動し、ミラー13Xの角度を制御することにより、試料2に照射されるレーザ光を共焦点レーザ走査型顕微鏡1の左右方向(x軸方向)に走査し、スキャナ14Yを駆動し、ミラー13Yの角度を制御することにより、試料2に照射されるレーザ光を共焦点レーザ走査型顕微鏡1の奥行き方向(y軸方向)に走査する。
【0017】
レーザ光を照射することにより励起され試料2から発せられた蛍光は、対物レンズ16および走査レンズ系15を透過し、ミラー13Yおよびミラー13Xによりデスキャンされた後、ダイクロイックミラー12を透過する。そして、デスキャンされた蛍光のうち対物レンズ16の焦点面から発せられた蛍光のみが、ピンホール17を通過し、蛍光フィルタ18により所定の波長成分が透過され、例えば、PMT(光電子増倍管、Photomultiplier)により構成される検出器19により電気信号に変換される。その電気信号は、制御装置20に供給され、制御装置20により画像データに変換され、表示装置21に供給される。表示装置21は、画像データに基づく画像、すなわち、試料2の画像を表示する。
【0018】
なお、制御装置20は、上述した以外にも、ピンホール17のピンホール径の制御、蛍光フィルタ18の切替えの制御などを行う。
【0019】
図2は、共焦点レーザ走査型顕微鏡1の制御装置20を構成する要素のうち、スキャナ14Xおよびスキャナ14Yを介して、ミラー13Xおよびミラー13Yを駆動し、レーザ光のスキャンを制御するスキャナ駆動系51の構成の例を示すブロック図である。
【0020】
コントローラ61は、例えば、CPU(Central Processing Unit)などのプロセッサにより構成され、スキャナ駆動系51全体の動作を制御する。コントローラ61は、所定の制御プログラムを実行することにより、駆動テーブル作成部81および駆動制御部82を含む機能を実現する。
【0021】
駆動テーブル作成部81は、図3などを参照して後述するように、指示されたスキャン領域を指示された速度でスキャンするようにスキャナ14Xおよびスキャナ14Yを駆動する駆動信号の生成に用いる駆動テーブルを作成し、メモリ66Xおよびメモリ66Yに格納する。駆動テーブルは、スキャナ14Xを駆動する駆動回路68Xに用いるテーブル(以下、x軸用とも称する)、および、スキャナ14Yを駆動する駆動回路68Yに用いるテーブル(以下、y軸用とも称する)の2種類からなり、例えば、駆動回路68Xまたは駆動回路68Yから出力する駆動信号の電圧値に対応するデータが時系列に並べられている。換言すれば、駆動テーブルは、ミラー13Xまたはミラー13Yを回転するための時系列のデータを示している。
【0022】
また、駆動テーブル作成部81は、図3などを参照して後述するように、あるスキャン領域の始点と、次にスキャンされるスキャン領域の始点の間におけるスキャン軌道を規定する駆動テーブルである補間駆動テーブルを作成し、メモリ66Xおよびメモリ66Yに格納する。
【0023】
駆動制御部82は、メモリ66Xに格納されているx軸用駆動テーブル、および、メモリ66Yに格納されているy軸用の駆動テーブルに基づいて、指示されたスキャン領域が指示された速度でスキャンされるように、分周器63、分周器64X、分周器64Y、アドレス発生器65X、および、アドレス発生器65Yを制御する。
【0024】
具体的には、基準クロック発生器62が発生するクロック信号は、駆動制御部82の制御の基に、分周器63および分周器64Xにより、その周波数が変換され、アドレス発生器65Xに供給され、分周器63および分周器64Yにより、その周波数が変換され、アドレス発生器65Yに供給される。
【0025】
アドレス発生器65Xは、駆動制御部82の制御の基に、分周器64Xからのクロック信号に同期して、データを読み出すアドレスを指示するアドレス信号をメモリ66Xに供給する。メモリ66Xは、アドレス信号に基づいて、駆動テーブルに設定されているデータを順次D/Aコンバータ67Xに出力し、D/Aコンバータ67Xは、そのデータをアナログ信号に変換し、駆動回路68Xに供給する。駆動回路68Xは、供給されたアナログ信号に基づいて、駆動テーブルから読み出されたデータに対応する電圧の駆動信号をスキャナ14Xに供給し、ミラー13Xの角度を制御する。
【0026】
同様に、アドレス発生器65Yは、駆動制御部82の制御の基に、分周器64Yからのクロック信号に同期して、データを読み出すアドレスを指示するアドレス信号をメモリ66Yに供給する。メモリ66Yは、アドレス信号に基づいて、駆動テーブルに設定されているデータを順次D/Aコンバータ67Yに出力し、D/Aコンバータ67Yは、そのデータをアナログ信号に変換し、駆動回路68Yに供給する。駆動回路68Yは、供給されたアナログ信号に基づいて、駆動テーブルから読み出されたデータに対応する電圧の駆動信号をスキャナ14Yに供給し、ミラー13Yの角度を制御する。
【0027】
次に、図3のフローチャートを参照して、スキャナ駆動系51により実行されるスキャナ駆動処理について説明する。なお、この処理は、例えば、共焦点レーザ走査型顕微鏡1の図示せぬ入力部を介して、スキャン領域の位置と大きさ、および、各スキャン領域をスキャンする速度(例えば、ライン速度など)を指示する情報がコントローラ61に入力されたとき、開始される。
【0028】
なお、以下、図4に示されるように、上述した図10と同様のスキャン領域A1乃至A3を、スキャン領域A1、スキャン領域A2、スキャン領域A3の順にスキャンするように指示された場合について考える。なお、以下、スキャン領域A1とスキャン領域A2の間の領域を補間領域B1と称し、スキャン領域A2とスキャン領域A3の間の領域を補間領域B2と称する。また、以下、スキャン領域A1乃至A3において、ラスタスキャンが行われるものとする。
【0029】
ステップS1において、駆動テーブル作成部81は、駆動テーブルを作成する。
【0030】
図5は、スキャン領域をラスタスキャンする場合に、駆動回路68Xおよび駆動回路68Yから出力される駆動信号の波形の一例を示している。図5の上側の波形は、駆動回路68Xから出力されるx軸用の駆動信号の波形を示しており、下側の波形は、駆動回路68Yから出力されるy軸用の駆動信号の波形を示している。
【0031】
x軸用の駆動信号は、1ラインを走査して、次のラインの走査の開始点に戻るまでの1ライン時間分の山形の波形が繰り返される形状を有している(ただし、最終ラインについては、次のラインの走査の開始点に戻ることなく次のスキャン領域に移動するため、最終ラインの走査の終了点までの波形となっている。)。なお、スキャン領域のx軸方向の幅の違いにより波形の高さが変化し、スキャン領域のx軸方向の位置の違いにより、駆動信号の電圧のオフセット値が変化し、波形は上下方向に移動する。
【0032】
y軸用の駆動信号は、1ラインの走査が終了するごとに次のラインの高さに移動するように、階段状の波形となっている。なお、スキャン領域のy軸方向の位置の違いにより、駆動信号の電圧のオフセット値が変化し、波形は上下方向に移動する。
【0033】
駆動テーブル作成部81は、スキャン領域A1の1ライン分のx軸用の駆動信号を生成するための時系列のデータを示す駆動テーブル、および、スキャン領域A1の1フレーム分のy軸用の駆動信号を生成するための時系列のデータを示す駆動テーブルを作成する。
なお、上述したように、最終ラインの波形は他のラインの波形と異なるため、最終ライン用に別の駆動テーブルを作成して、切り替えるようにしてもよい。
【0034】
ステップS2において、駆動テーブル作成部81は、駆動テーブルをメモリに格納する。すなわち、駆動テーブル作成部81は、スキャン領域A1のx軸用の駆動テーブルをメモリ66Xに格納し、スキャン領域A1のy軸用の駆動テーブルをメモリ66Yに格納する。
【0035】
ステップS3において、駆動テーブル作成部81は、駆動テーブルを作成していないスキャン領域が残っているかを判定する。いまの場合、スキャン領域A2およびスキャン領域A3の駆動テーブルが作成されていないので、駆動テーブルを作成していないスキャン領域が残っていると判定され、処理はステップS1に戻る。
【0036】
その後、ステップS3において、駆動テーブルを作成していないスキャン領域が残っていないと判定されるまで、ステップS1乃至S3の処理が繰り返し実行される。
【0037】
一方、ステップS3において、駆動テーブルを作成していないスキャン領域が残っていないと判定された場合、処理はステップS4に進み、ステップS4において、駆動テーブル作成部81は、補間駆動テーブルを作成する。すなわち、駆動テーブル作成部81は、スキャン領域A1とスキャン領域A2の間の補間領域B1のx軸用およびy軸用の補間駆動テーブル、並びに、スキャン領域A2とスキャン領域A3の間の補間領域B2のx軸用およびy軸用の補間駆動テーブルを作成する。なお、ステップS4の処理の詳細については後述する。
【0038】
ステップS5において、駆動テーブル作成部81は、補間駆動テーブルをメモリに格納する。すなわち、駆動テーブル作成部81は、補間領域B1のx軸用の補間駆動テーブルを、メモリ66Xのスキャン領域A1のx軸用の駆動テーブルが格納されている領域の直後に格納し、補間領域B1のy軸用の補間駆動テーブルを、メモリ66Yのスキャン領域A1のy軸用の駆動テーブルが格納されている領域の直後に格納し、補間領域B2のx軸用の補間駆動テーブルを、メモリ66Xのスキャン領域A2のx軸用の駆動テーブルが格納されている領域の直後に格納し、補間領域B2のy軸用の補間駆動テーブルを、メモリ66Yのスキャン領域A2のy軸用の駆動テーブルが格納されている領域の直後に格納する。
【0039】
これにより、スキャン領域A1用の駆動テーブル(以下、駆動テーブルA1と称する)、補間領域B1用の補間駆動テーブル(以下、補間駆動テーブルB1と称する)、スキャン領域A2用の駆動テーブル(以下、駆動テーブルA2と称する)、補間領域B2用の補間駆動テーブル(以下、補間駆動テーブルB2と称する)、スキャン領域A3用の駆動テーブル(以下、駆動テーブルA3と称する)の順に駆動テーブルが作成され、図6に示されるように、処理に用いられる順に並べてメモリ66Xおよびメモリ66Yに格納される。
【0040】
ここで、図7および図8を参照して、ステップS4の処理の詳細について説明する。
【0041】
スキャン領域A1のスキャンが終了した後、スキャン領域A2の前に予備スキャン領域を設けずに、スキャン領域A2の先頭から正確にスキャンを開始するためには、スキャン領域A2の先頭にレーザ光が移動するまでの間に、スキャナ14X、スキャナ14Y、および、スキャナ駆動系51の動作を安定させる必要がある。そのためには、補間領域B1におけるスキャン軌道が、スキャン領域A2の始点に近づくにつれてスキャン領域A2の先頭のラインの走査方向に近づき、スキャン領域A2の始点の直前においてスキャン領域A2の先頭のラインの走査方向とほぼ等しくなるようにすることが望ましい。
【0042】
また、スキャン領域A1からスキャン領域A2への移動に伴う処理時間の遅延を最小にするためには、補間領域B1におけるスキャン軌道の総和をできる限り短くするとともに、レーザ光のx軸およびy軸方向の単位時間当たりの移動距離が、できる限りレーザ光のx軸およびy軸方向の単位時間当たりの最大移動可能距離に近づくようにスキャン軌道を設定することが望ましい。なお、スキャン位置の単位時間当たりのx軸およびy軸方向の最大移動可能距離は、スキャナ14Xおよびスキャナ14Yの最大加速度により規定されるミラー13Xおよびミラー13Yの単位時間あたりの最大回転角により規定される。
【0043】
具体的に例を挙げれば、ミラー13X、13Yの角加速度をそれぞれαx、αyとし、領域A1の終端における回転角度をθx1、θy1、角速度をωx1、ωy1とし、領域A2の始点における回転角度をθx2、θy2、角速度をωx2、ωy2とすると、角速度ωx1を角加速度αx1で変化させてt時間後に角速度ωx2になっていればよいので、
例えば、スキャナ14X(x軸)について検討すると、
領域A2の始点におけるミラー13Xの角速度ωx2は
ωx2=ωx1+αx・t ・・・(1)
であり、
また、回転角度θx1からt時間後のミラー13Xの回転角度θx2は
θx2= θx1 +∫ωx2 dt×t ・・・(2)
(1)式を(2)式に代入すると
θx2=θx1+ ωx1・t + 1/2・αx・t2
という関係式が成立する。
これは、tの関数であり、角加速度αxは予め設定されている最大角加速度を超えない値である。なお、角速度ωx1、ωx2 の値は正負のいずれかであり、この正負はミラーの回転の向きを表している。また、角加速度αx、の値も正負いずれかであり、この符号は回転方向に対する加速又は減速を表している。
その結果、領域A1の終端から領域A2の始点へ至るx軸の経路が決定される。ミラー13Y(y軸)についても同様にθy2が求められ、両軸の駆動経路が決定される。
ミラー13X、13Yを領域A1の終端から領域A2の始点まで滑らかに移動させるためには、補間領域B1を複数領域に分割し、各領域毎に角加速度αxを変化させて速度は変化(加速や減速)させる。
ミラー13X、ミラー13Yは独立して駆動されているため、駆動の最適な制御は、ミラーごとに上述の制御を行うことで、結果的にミラー13X、ミラー13Yの合成軌跡が最適化される。
【0044】
以上のことを考慮して、補間領域B1におけるスキャン軌道として、例えば、図7に示されるように、スキャン領域A1の始点に近づくにつれてスキャン領域A2の先頭のラインの走査方向に近づき、スキャン領域A2の始点の直前においてスキャン領域A2の先頭のラインの走査方向とほぼ等しくなり、x軸方向(水平方向)とy軸方向(垂直方向)を合成した距離が最短となる軌道P1が求められる。
【0045】
駆動テーブル作成部81は、例えば、スキャン領域A1の終点とスキャン領域A2の始点との間のサイン補間、あるいは、半周期分のサイン補間を行うことにより、軌道P1を求め、軌道P1を規定する補間駆動テーブルB1、換言すれば、スキャン軌道が軌道P1となるように制御するための補間駆動テーブルB1を作成し、メモリ66Xおよびメモリ66Yに格納する。同様にして、駆動テーブル作成部81は、補間領域B2における軌道P2を求め、軌道P2を規定する補間駆動テーブルB2を作成し、メモリ66Xおよびメモリ66Yに格納する。
【0046】
これにより、スキャン領域A2およびスキャン領域A3の前に予備スキャン領域を設けずに、スキャン領域A2およびスキャン領域A3の先頭から正確にスキャンを開始できるとともに、スキャン領域A1からスキャン領域A2への切替え、および、スキャン領域A2からスキャン領域A3への切替えによる処理時間の遅延を短縮することができる。
【0047】
また、スキャナ14X、スキャナ14Y、および、スキャナ駆動系51の動作を安定させ、スキャン領域A2の先頭から正確にスキャンを開始させるために、補間領域B1において、スキャン領域A1の終点からスキャン領域A2の始点に移動しながら、スキャン領域A2より広いライン間隔で予備スキャンを行うように、スキャン軌道を設定することが考えられる。
【0048】
この場合、駆動テーブル作成部81は、例えば、図8に示されるように、スキャン領域A2の上方のスキャン領域A2とx軸方向(水平方向)の位置が同じ領域において、スキャン領域A2より広いライン間隔でスキャンを始め、スキャン領域A2に近づくにつれてスキャン領域A2のライン間隔に近づく軌道P11を求め、軌道P11を規定する補間駆動テーブルB1を作成し、メモリ66Xおよびメモリ66Yに格納する。同様にして、駆動テーブル作成部81は、補間領域B2における軌道P12を求め、軌道P12を規定する補間駆動テーブルB2を作成し、メモリ66Xおよびメモリ66Yに格納する。
【0049】
これにより、スキャン領域A2およびスキャン領域A3の先頭から正確にスキャンを開始できるとともに、スキャン領域A2およびスキャン領域A3の前に専用の予備スキャン領域を設ける場合と比較して、スキャン領域A1からスキャン領域A2への切替え、および、スキャン領域A2からスキャン領域A3への切替えによる処理時間の遅延を短縮することができる。
【0050】
図3に戻り、スキャン領域A3の駆動テーブルが作成され、メモリ66Xおよびメモリ66Yに格納された後、ステップS3において、駆動テーブルを作成していないスキャン領域が残っていないと判定され、処理はステップS6に進む。
【0051】
ステップS6において、スキャナ駆動系51は、駆動テーブルおよび補間駆動テーブルに基づいて、ミラー13X,13Yを駆動する。具体的には、駆動テーブル作成部81は、駆動テーブルの格納が完了したことを駆動制御部82に通知する。駆動制御部82は、スキャン速度が指示されたスキャン領域A1におけるスキャン速度になるように、分周器63、分周器64X、および、分周器64Yの分周比を設定する。
【0052】
さらに、駆動制御部82は、分周器64Xからのクロック信号に同期して、x軸用の駆動テーブルA1のデータが、先頭から順にスキャン領域A1のライン数分だけ繰り返しメモリ66Xから読み出され、D/Aコンバータ67Xに供給されるようにアドレス発生器65Xを制御し、分周器64Yからのクロック信号に同期して、y軸用の駆動テーブルA1のデータが、先頭から順にメモリ66Yから読み出され、D/Aコンバータ67Yに供給されるようにアドレス発生器65Yを制御する。ただし、上述したように、x軸用の駆動信号の波形は最終ラインの走査の終了点までの波形となるため、スキャン領域A1の最終ラインにおいては、駆動信号の最終ラインの走査の終了点までのデータがx軸用の駆動テーブルA1から読み出される。
【0053】
これにより、x軸用の駆動テーブルA1に基づく駆動信号が駆動回路68Xからスキャナ14Xに出力され、スキャナ14Xが駆動され、y軸用の駆動テーブルA1に基づく駆動信号が駆動回路68Yからスキャナ14Yに出力され、スキャナ14Yが駆動され、スキャン領域A1のスキャンが行われる。
【0054】
スキャン領域A1のスキャンの終了後、駆動制御部82は、スキャン速度が指示されたスキャン領域A2におけるスキャン速度になるように、分周器63、分周器64X、および、分周器64Yの分周比を設定する。さらに、駆動制御部82は、分周器64Xからのクロック信号に同期して、x軸用の補間駆動テーブルB1のデータが、先頭から順にメモリ66Xから読み出され、D/Aコンバータ67Xに供給されるようにアドレス発生器65Xを制御し、分周器64Yからのクロック信号に同期して、y軸用の補間駆動テーブルB1のデータが、先頭から順にメモリ66Yから読み出され、D/Aコンバータ67Yに供給されるようにアドレス発生器65Yを制御する。
【0055】
これにより、x軸用の補間駆動テーブルB1に基づく駆動信号が駆動回路68Xからスキャナ14Xに出力され、スキャナ14Xが駆動され、y軸用の補間駆動テーブルB1に基づく駆動信号が駆動回路68Yからスキャナ14Yに出力され、スキャナ14Yが駆動され、レーザ光のスキャン位置が、設定された軌道(例えば、図7の軌道P1または図8の軌道P11)に従ってスキャン領域A1の終点からスキャン領域A2の始点まで移動する。
【0056】
その後、同様に、スキャン領域A2のスキャンが行われ、レーザ光のスキャン位置が、設定された軌道(例えば、図7の軌道P2または図8の軌道P12)に従ってスキャン領域A2の終点からスキャン領域A3の始点まで移動し、スキャン領域A3のスキャンが行われた後、スキャナ駆動処理は終了する。
【0057】
このとき、駆動テーブルおよび補間駆動テーブルが、予め作成され、処理される順にメモリ66Xおよびメモリ66Yに格納されているので、スキャン領域を切り替えるごとに、駆動テーブルを作成したり、書き換えたりする処理が発生しないため、処理時間を短縮することが可能になる。
【0058】
なお、スキャン領域A1乃至A3のスキャンを繰り返し行う場合には、スキャン領域A3とスキャン領域A1との間の補間領域B3用の補間駆動テーブルB3を作成し、駆動テーブルA1に基づくスキャン領域A1のスキャン、補間駆動テーブルB2に基づくスキャン領域A1からスキャン領域A2へのレーザ光の移動、駆動テーブルA2に基づくスキャン領域A2のスキャン、補間駆動テーブルB2に基づくスキャン領域A2からスキャン領域A3へのレーザ光の移動、駆動テーブルA3に基づくスキャン領域A3のスキャン、補間駆動テーブルB3に基づくスキャン領域A3からスキャン領域A1へのレーザ光の移動を繰り返すように制御すればよい。この場合、スキャン領域間のレーザ光の移動は、予め設定されている補間駆動テーブルに基づいて行われるため、その都度、演算などによりスキャン領域間のスキャン軌道を求めて制御する場合と比較して、スキャン領域の切替えによる処理時間の遅延を短縮することができる。
【0059】
また、ここまでの例では、複数の領域を順次スキャンする例について述べたが、スキャンの順序は、スキャン対象と目的により、設定または変更できる構造としてもよい。例えば、特定の位置から近い順あるいは遠い順に順序を設定または変更したり、予め定めたルール(例えば、領域の狭い順あるいは広い順)に従って順序を設定または変更したり、ランダムに順序を設定または変更したりすることが考えられる。
【0060】
なお、以上に説明した処理では、スキャン領域の数が増えるほど、駆動テーブルおよび補間駆動テーブルを格納するために必要なメモリ容量は大きくなる。そこで、例えば、図9のAに示されるように、駆動テーブル用の領域RA1、補間駆動テーブル用の領域RB1、駆動テーブル用の領域RA2、補間駆動テーブル用の領域RB2の順番に、メモリ66Xおよびメモリ66Yに予め領域を設けておく。そして、領域RA1に格納されている駆動テーブルに基づいてスキャン領域のスキャンを行っているときに、現在スキャン中のスキャン領域と次にスキャンするスキャン領域との間の補間領域用の補間駆動テーブル、および、次にスキャンするスキャン領域用の駆動テーブルを作成し、作成した補間駆動テーブルを領域RB1に格納し、駆動テーブルを領域RA2に格納する。また、領域RA2に格納されている駆動テーブルに基づいてスキャン領域のスキャンを行っているときに、現在スキャン中のスキャン領域と次にスキャンするスキャン領域との間の補間領域用の補間駆動テーブル、および、次にスキャンするスキャン領域用の駆動テーブルを作成し、作成した補間駆動テーブルを領域RB2に格納し、駆動テーブルを領域RA1に格納する。
【0061】
これにより、メモリ容量を削減することが可能になる。また、スキャン領域のスキャン中に、次に必要な補間駆動テーブルおよび駆動テーブルを作成し、格納するため、処理時間の遅延を抑制することができる。
【0062】
あるいは、図9のBのごとく、駆動テーブルを同一メモリ空間にバンク状に配置することにより、駆動テーブルの切替えを、メモリのバンク切替えにより実現して、最大テーブル数の変更に柔軟に対応できる構造としてもよい。なお、図9のBは、駆動テーブルをバンクとして同一アドレスに配置した場合を示す図である。この場合、例えば、駆動テーブルA1乃至A3および補間駆動テーブルB1、B2のバンクの格納場所は、各バンクからの読み出し順が特定できるならば、どこに格納してもよい。
【0063】
なお、以上の説明では、本発明を、共焦点レーザ走査型顕微鏡に適用する例を示したが、本発明は、共焦点型以外のレーザ走査型顕微鏡にも適用することが可能である。
【0064】
また、以上の説明では、3つのスキャン領域を設定した場合の処理について説明したが、本発明は、2つまたは4つ以上のスキャン領域を設定した場合の処理にも適用することが可能である。また、以上では、複数のスキャン領域の大きさが同一の場合について説明したが、本発明は、スキャン領域の大きさが異なる場合にも適用することが可能である。
【0065】
なお、上述したスキャナ駆動系51の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0066】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0067】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0068】
1 共焦点レーザ走査型顕微鏡, 13X,13Y ミラー, 14X,14Y スキャナ, 51 スキャナ駆動系, 61 コントローラ, 62 基準クロック発生器, 63 分周器, 64X,64Y 分周器, 65X,65Y アドレス発生器, 66X,66Y メモリ, 68X,68Y 駆動回路, 81 駆動テーブル作成部, 82 駆動制御部
【特許請求の範囲】
【請求項1】
レーザ光のスキャンに用いる部材の角度を制御するスキャナを駆動するための時系列のデータを示す駆動テーブルに基づいて、複数のスキャン領域をスキャンするレーザ走査型顕微鏡において、
第1のスキャン領域の終点と、前記第1のスキャン領域の次にスキャンされる第2のスキャン領域の始点との間におけるスキャン軌道を規定する補間駆動テーブルを作成する作成手段と、
前記第1のスキャン領域と前記第2のスキャン領域との間において、前記補間駆動テーブルに基づいて前記スキャナの駆動を制御するとともに、前記第1のスキャン領域と前記第2のスキャン領域との間を複数の領域に分割し、分割した領域ごとに前記部材の角加速度を変化させるように前記スキャナの駆動を制御する駆動制御手段と
を備えることを特徴とするレーザ走査型顕微鏡。
【請求項2】
前記作成手段は、前記第2のスキャン領域の始点に近づくにつれて前記第2のスキャン領域の先頭のラインの走査方向に近づき、前記第2のスキャン領域の始点の直前において前記第2のスキャン領域の先頭のラインの走査方向とほぼ等しくなるスキャン軌道を規定する前記補間駆動テーブルを作成する
ことを特徴とする請求項1に記載のレーザ走査型顕微鏡。
【請求項3】
前記駆動テーブルを格納する記憶手段を
さらに備え、
前記作成手段は、前記第1のスキャン領域用の前記駆動テーブル、前記補間駆動テーブル、前記第2のスキャン領域用の前記駆動テーブルの順に並べて前記記憶手段に格納する
ことを特徴とする請求項1に記載のレーザ走査型顕微鏡。
【請求項4】
レーザ走査型顕微鏡のレーザ光のスキャンに用いる部材の角度を制御するスキャナを駆動するための時系列のデータを示す駆動テーブルに基づいて、複数のスキャン領域をスキャンするように前記スキャナを駆動するスキャナ駆動装置において、
第1のスキャン領域の終点と、前記第1のスキャン領域の次にスキャンされる第2のスキャン領域の始点との間におけるスキャン軌道を規定する補間駆動テーブルを作成する作成手段と、
前記第1のスキャン領域と前記第2のスキャン領域との間において、前記補間駆動テーブルに基づいて前記スキャナの駆動を制御するとともに、前記第1のスキャン領域と前記第2のスキャン領域との間を複数の領域に分割し、分割した領域ごとに前記部材の角加速度を変化させるように前記スキャナの駆動を制御する駆動制御手段と
を備えることを特徴とするスキャナ駆動装置。
【請求項1】
レーザ光のスキャンに用いる部材の角度を制御するスキャナを駆動するための時系列のデータを示す駆動テーブルに基づいて、複数のスキャン領域をスキャンするレーザ走査型顕微鏡において、
第1のスキャン領域の終点と、前記第1のスキャン領域の次にスキャンされる第2のスキャン領域の始点との間におけるスキャン軌道を規定する補間駆動テーブルを作成する作成手段と、
前記第1のスキャン領域と前記第2のスキャン領域との間において、前記補間駆動テーブルに基づいて前記スキャナの駆動を制御するとともに、前記第1のスキャン領域と前記第2のスキャン領域との間を複数の領域に分割し、分割した領域ごとに前記部材の角加速度を変化させるように前記スキャナの駆動を制御する駆動制御手段と
を備えることを特徴とするレーザ走査型顕微鏡。
【請求項2】
前記作成手段は、前記第2のスキャン領域の始点に近づくにつれて前記第2のスキャン領域の先頭のラインの走査方向に近づき、前記第2のスキャン領域の始点の直前において前記第2のスキャン領域の先頭のラインの走査方向とほぼ等しくなるスキャン軌道を規定する前記補間駆動テーブルを作成する
ことを特徴とする請求項1に記載のレーザ走査型顕微鏡。
【請求項3】
前記駆動テーブルを格納する記憶手段を
さらに備え、
前記作成手段は、前記第1のスキャン領域用の前記駆動テーブル、前記補間駆動テーブル、前記第2のスキャン領域用の前記駆動テーブルの順に並べて前記記憶手段に格納する
ことを特徴とする請求項1に記載のレーザ走査型顕微鏡。
【請求項4】
レーザ走査型顕微鏡のレーザ光のスキャンに用いる部材の角度を制御するスキャナを駆動するための時系列のデータを示す駆動テーブルに基づいて、複数のスキャン領域をスキャンするように前記スキャナを駆動するスキャナ駆動装置において、
第1のスキャン領域の終点と、前記第1のスキャン領域の次にスキャンされる第2のスキャン領域の始点との間におけるスキャン軌道を規定する補間駆動テーブルを作成する作成手段と、
前記第1のスキャン領域と前記第2のスキャン領域との間において、前記補間駆動テーブルに基づいて前記スキャナの駆動を制御するとともに、前記第1のスキャン領域と前記第2のスキャン領域との間を複数の領域に分割し、分割した領域ごとに前記部材の角加速度を変化させるように前記スキャナの駆動を制御する駆動制御手段と
を備えることを特徴とするスキャナ駆動装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2010−140000(P2010−140000A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2009−95507(P2009−95507)
【出願日】平成21年4月10日(2009.4.10)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願日】平成21年4月10日(2009.4.10)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]