JP2004061410A - Focal image synthesizing method and its program - Google Patents
Focal image synthesizing method and its program Download PDFInfo
- Publication number
- JP2004061410A JP2004061410A JP2002222951A JP2002222951A JP2004061410A JP 2004061410 A JP2004061410 A JP 2004061410A JP 2002222951 A JP2002222951 A JP 2002222951A JP 2002222951 A JP2002222951 A JP 2002222951A JP 2004061410 A JP2004061410 A JP 2004061410A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- height
- luminance
- value
- estimated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Microscoopes, Condenser (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、共焦点効果を有する光学系を備えた顕微鏡から得られた輝度情報を用いて焦点深度の深い画像や試料表面の三次元形状等を取得するフォーカス像合成方法及びそのプログラムに関する。
【0002】
【従来の技術】
共焦点効果を有する光学系を備えた顕微鏡では、焦点面上の各位置からの反射光を集光して、それぞれを各位置に該当する画素値として検出することにより、二次元画像を構築することができる。このような顕微鏡を用いて、表面に凹凸のある試料の二次元画像を構築すると、試料表面が焦点面上にある場合には試料表面からの反射光が検出されるが、試料表面が焦点面上にない場合には反射光は検出されない。つまり、試料表面と焦点面が重なった位置に該当する画素についてだけ、反射光により明るくなった二次元画像が構築できる。
【0003】
従って、焦点面を試料表面に対して相対的に変位させたときの複数の二次元画像を取得し、その複数の二次元画像の中から焦点面上の各位置に該当する画素の最大輝度を求め、その最大輝度を、対応する画素の出力とした画像を構築すると、その画像は焦点面上の全ての位置で焦点の合った画像になる。また、取得した複数の二次元画像の中から焦点面上の各位置に該当する画素が最大輝度となる二次元画像を取得した際の、焦点面に対する試料表面の変位情報を、対応する画素の出力とした像を構築すると、その像は試料表面の三次元形状を表わす像になる。しかしながら、試料に急斜面が存在し或いは試料表面の反射率が低く、取得した複数の二次元画像間に輝度のピークがなかった場合、その画素には本来の「表面」は表れない。従って、この場合、前述のように該当する画素の最大輝度を単純に求めるだけでは、結果的にノイズを拾うことになり、急斜面や反射率の低い部分にノイズを含んでしまうことになる。
【0004】
そこで、このようなノイズを除去するために、前述のように該当する画素の最大輝度を各二次元画像から求める際に指定値を設定し、該当画素の最大輝度が指定値以下の時は、その出力の値(変位情報や輝度)をゼロとするか、周囲画素からの補間値にして出力するか、又は出力しない方法が提案されている(例えば、特開平6−308390,特開平8−210819等)。これらの方法の特徴は、最大輝度が指定値以下であれば全てノイズと見なして除外処理や補間処理を行うことにある。
【0005】
【発明が解決しようとする課題】
しかしながら、最大輝度が指定値以下であれば全てノイズと見なすことには問題がある。その問題とは、試料表面の反射率が低い領域からの正常な反射光をもノイズとみなしてしまうことである。
【0006】
図15は、共焦点効果を有する光学系を備えた顕微鏡を用いて試料表面を測定した際の各位置の高さに対する輝度変化の一例を示した図である。但し、同図では、各位置の高さを、対応するスライス画像(所定の高さで得られた二次元画像)の番号により示している。
【0007】
同図において、(a) は高反射率領域の画素、(b) は低反射率領域の画素、(c) は試料表面のキズにあたる画素の輝度変化を示している。(a) 及び(b) の輝度変化の形状は、共焦点効果によりそれぞれの画素に対応する試料表面上の位置が焦点面と一致した高さで輝度値が最大となる単峰性のピーク形状を有している。これに対し、(c) の輝度変化の形状は、(a),(b) とは全く異なっており、輝度が最大となる高さは試料面とは何ら無関係である。
【0008】
このような場合、(c) のみをノイズと判断すべきだが、(b) の最大輝度が(c) と等しいため、単純に指定値で(c) のノイズを除去しようとすると正常な(b) までが除去されることになってしまう。
本発明の課題は、上記実情に鑑み、試料表面の反射率が低い等により試料表面の位置に対応する画素の最大輝度が低くなる場合であってもノイズと誤判定することのないフォーカス像合成方法及びそのプログラムを提供することである。
【0009】
【課題を解決するための手段】
本発明の第一の態様は、共焦点効果を有する光学系を備えた顕微鏡を用いて取得した被測定物表面上の各位置に対応する画素の光軸上の各高さにおける輝度を格納する格納ステップと、処理対象画素を一意に指定する処理対象画素指定情報に応じて、前記格納ステップにて格納された前記輝度を照会して、前記処理対象画素に焦点が合うと推定される光軸上の高さ及びそのときの輝度を、推定画素高さ及び推定画素輝度値として取得する第一の取得ステップと、前記処理対象画素指定情報及び前記推定画素高さに応じて、前記格納ステップにて格納された前記輝度を照会して、前記推定画素高さにて前記処理対象画素に焦点が合うか否かを判定する判定ステップと、該判定ステップにて前記推定画素高さにて前記処理対象画素に焦点が合うと判定されたときには、前記推定画素高さ及び推定画素輝度値を、確定画素高さ及び確定画素輝度値として取得し、前記判定ステップにて前記推定画素高さにて前記処理対象画素に焦点が合わないと判定されたときには、例外的な高さ及び例外的な輝度値を、前記確定画素高さ及び確定画素輝度値として取得する第二の取得ステップと、を備えたフォーカス像合成方法である。
【0010】
上記の方法によれば、推定画素高さ及び推定画素輝度値が取得された後に、推定画素高さにて焦点が合うか否かの判定が行われ、その判定結果に基づいて、確定画素高さ及び確定画素輝度値が、推定画素高さ及び推定画素輝度値とされるか、或いは例外的な高さ及び輝度値とされる。これにより、試料に急斜面が存在し或いは試料表面の反射率が低い等の理由により、試料表面の位置に対応する画素の最大輝度が低くなる場合であっても、ノイズと誤判定することを無くすことができる。
【0011】
本発明の第二の態様は、前記第一の態様において、前記第二の取得ステップにて取得された前記確定画素高さ及び確定画素輝度値に基づいて、前記被測定物表面の各位置に対応した画素における高さ情報からなる表面形状情報、及び前記被測定物表面の各位置に対応した画素における輝度情報からなる表面輝度情報を生成する生成ステップ、を更に備えた方法である。
【0012】
この方法によれば、取得された確定画素高さ及び確定画素輝度値に基づいて、表面形状情報及び表面輝度情報が生成され、例えば、この表面形状情報及び表面輝度情報に基づいて、その表示や解析等を行うことが可能になる。
本発明の第三の態様は、前記第一の態様において、前記第一の取得ステップでは、前記処理対象画素において焦点の合う光軸上の高さで輝度が最高値になることに基づいて、前記処理対象画素に焦点が合うと推定される光軸上の高さ及びそのときの輝度を求める、方法である。
【0013】
この方法によれば、例えば、処理対象画素において輝度が最高値となる光軸上の高さ及びそのときの輝度が、推定画素高さ及び推定画素輝度値として取得される。或いは、処理対象画素において光軸上の所定の高さを含むその前後複数の連続する高さにおける輝度の平均が最高値となるときの、その所定の高さ及びその所定の高さでの輝度が、推定画素高さ及び推定画素輝度値として取得される。
【0014】
本発明の第四の態様は、前記第一の態様において、前記第一の取得ステップでは、前記処理対象画素についての光軸上の高さに対する輝度変化が、焦点の合う光軸上の高さを頂点とした単峰性を有することに基づいて、前記処理対象画素に焦点が合うと推定される光軸上の高さ及びそのときの輝度を求める、方法である。
【0015】
この方法によれば、例えば、処理対象画素についての光軸上の高さに対する輝度変化において、光軸上の所定の高さを含むその前後の所定間隔毎の高さの各々の輝度値を用いて算出される、単峰性のピークの頂点に近づくほど大きな値になるような評価関数の値が最高値となるときの、その所定の高さ及びその所定の高さでの輝度が、推定画素高さ及び推定輝度輝度値として取得される。これにより、より正当性の高い推定画素高さ及び推定画素輝度値を取得することができる。
【0016】
本発明の第五の態様は、前記第一乃至第四の態様の何れか一つにおいて、前記判定ステップでは、前記処理対象画素についての光軸上の高さに対する輝度変化において、焦点の合う光軸上の高さを頂点とした単峰性のピーク領域とそれ以外の背景領域との輝度変化の差に基づいて、前記推定画素高さにて前記処理対象画素に焦点が合うか否かを判定する、方法である。
【0017】
この方法によれば、例えば、単峰性のピーク領域における最高輝度値とされる推定画素輝度値と、それ以外の背景領域における最高輝度値との比較に基づいて、推定画素高さにて焦点が合うか否かが判定される。これにより、推定画素高さ及び推定画素輝度値の正当性を正確に判定することが可能になる。
【0018】
本発明の第六の態様は、前記第一乃至第五の態様の何れか一つにおいて、前記例外的な高さ及び例外的な輝度値は、少なくとも、前記判定ステップにて焦点が合うと判定された全ての画素から求められた最低値、最高値、若しくは平均値、固定値、又は前記判定ステップにて焦点が合うと判定された画素から求められた補間値の何れかの値である、方法である。
【0019】
この方法によれば、例外的な高さ及び例外的な輝度値を、試料表面の形状に応じた値にすることが可能になり、また、表面形状情報や表面輝度情報に係る表示や解析に適した値にすることが可能になる。
本発明の第七の態様は、前記第一乃至第五の態様の何れか一つにおいて、前記第一のステップにて取得された推定画素輝度値が所定値以上であったときは、前記判定ステップを行わずに前記第二の取得ステップにて、前記推定画素高さ及び推定画素輝度値を、前記確定画素高さ及び確定画素輝度値として取得する、方法である。
【0020】
この方法によれば、試料表面にて十分に光が反射して推定画素輝度値として高い輝度値が取得された場合等のように、ノイズによる影響が少なく推定画素高さと推定画素輝度値が誤推定される可能性が低い場合には、判定ステップが行われないようになるので、処理速度を向上させることができる。
【0021】
本発明の第八の態様は、上記第一の態様に係るステップをコンピュータに実行させるためのプログラムである。
上記のプログラムをコンピュータに実行させることによって、上記第一の態様と同様の作用・効果を得ることができる。
【0022】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
はじめに、第一の実施の形態について説明する。
図1は、本発明のフォーカス像合成方法を説明するための概略構成を示した図である。
【0023】
同図において、輝度情報格納手段1は、共焦点効果を持たせた光学系を有する顕微鏡等を用いた測定手段(同図点線部)によって取得された、被測定物表面上の各位置に対応する画素の光軸上の各高さにおける輝度情報を格納する(矢印a)。
【0024】
フォーカス情報出力手段2は、処理対象画素を一意に指定する処理対象画素指定情報が入力されると、第1の手順として、その処理対象画素指定情報を推定画素情報出力手段3に出力して(矢印b)、その推定画素情報出力手段3から推定画素高さ及び推定画素輝度値を取得する(矢印c)。
【0025】
推定画素情報出力手段3は、フォーカス情報出力手段2から処理対象画素指定情報を取得すると(矢印b)、輝度情報格納手段1に格納されている輝度情報を照会し(矢印d)、推定画素高さ及び推定画素輝度値を取得して、それらをフォーカス情報出力手段2へ出力する(矢印c)。
【0026】
また、フォーカス情報出力手段2は、第2の手順として、処理対象画素指定情報及び第1の手順にて取得した推定画素高さを正当性判定手段4に出力して(矢印d)、その正当性判定手段4から、推定画素高さで処理対象画素に焦点が合うか否かの判定結果を取得する(矢印e)。
【0027】
正当性判定手段4は、フォーカス情報出力手段から処理対象画素指定情報及び推定画素高さを取得すると(矢印e)、輝度情報格納手段1に格納されている輝度情報を照会し(矢印g)、推定画素高さで処理対象画素に焦点が合うか否かの判定を行い、その判定結果をフォーカス情報出力手段2へ出力する(矢印f)
また、フォーカス情報出力手段2は、第2の手順にて取得した判定結果により、第1の手順にて取得した推定画素高さで処理対象画素に焦点が合うと判定された場合には、第1の手順にて取得した推定画素高さ及び推定画素輝度値を、それぞれ確定画素高さ及び確定画素輝度値としてフォーカス像生成手段5へ出力し(矢印h)、又は第2の手順にて取得した判定結果により第1の手順にて取得した推定画素高さで処理対象画素に焦点が合わないと判定された場合には、例外的な確定画素高さ及び確定画素輝度値をフォーカス像生成手段5へ出力する(矢印h)。
【0028】
フォーカス像生成手段5は、フォーカス情報出力手段2から確定画素高さ及び確定画素輝度値を取得すると(矢印h)、被測定物表面の各位置に対応した画素における高さ情報からなる表面形状情報、及び被測定物表面の各位置における輝度情報からなる表面輝度情報を生成する。
【0029】
このようにして生成された表面形状情報及び表面輝度情報は、その後、例えば表示手段(同図点線部)へ出力されることにより(矢印i)、表面形状情報及び表面輝度情報に応じた画像等が表示される。
続いて、前述の輝度情報格納手段1の構成について説明する。
【0030】
図2(a) は、輝度情報格納手段1の構成例を示した図である。
同図(a) に示したように、輝度情報格納手段1は、各高さで得られた被測定物表面上の各位置に対応する輝度を画素情報として有するスライス像を順次蓄積するスライス像格納リストと、スライス像格納リストに格納されたスライス像が得られた高さを順次蓄積するZ座標格納リスト(Zmatrix )等を含んで構成されている。このような構成により、スライス像格納リストに格納されたスライス像(或いはその格納位置)とZ座標格納リストに格納された高さ(或いはその格納位置)とが一意に関連付けされるようになり、例えば、スライス像格納リストに格納されている所定のスライス像が指定されることによって、そのスライス像に関連付けされている、Z座標格納リストに格納されている高さを一意に取得すること等が可能になる。
【0031】
同図(b) は、輝度情報格納手段1にて行われる処理の一例を示したフローチャートである。同図(b) 左側のフローは初期化処理を示し、右側のフローは新規データ追加処理を示している。
初期化処理は、図示しない測定手段によって最初のスライス像が取得される前に行われる処理であって、まずS201ではスライス像を格納するための準備としてスライス像格納リストが初期化され、続くS202ではZ座標を格納するための準備としてZ座標格納リストが初期化される。
【0032】
また、新規データ追加処理は、前述の初期化処理が終了した後に、高さを一定方向に移動させながらスライス像及びその高さが順次取得される処理であって、まずS211ではスライス像格納リストの末尾に新規に取得したスライス像が格納され、続くS212ではZ座標格納リストの末尾に新規に取得したスライス像の高さが格納される。
【0033】
このような処理によって、スライス像格納リスト及びZ座標格納リストの末尾のそれぞれに順次スライス像と高さが追加されていくので、スライス像格納リストのN番目に格納されたスライス像の高さは、Z座標格納リストのN番目に格納されることになり、結果として格納リスト内の位置によって両者が関連付けられることになる。
【0034】
尚、輝度情報格納手段1の構成は、同図(a) に示したものに限定されるものではなく、他の構成によっても実現可能である。
同図(c) は、その輝度情報格納手段1の他の構成例を示した図である。
同図(c) に示したように、被測定物表面上の各位置に対応する画素の光軸上の各高さにおける輝度を、色成分(同図(c) ではR,G,B)ごとに分離させたスライス像として格納させるように構成することも可能である。このような構成は、例えば、測定手段が波長の異なる3つのレーザーを使用する場合等に好適である。
【0035】
又は、各スライス像間の高さの差が一定であるとみなせる場合、輝度情報格納手段1の構成からZ座標格納リストを省き、代わりに最初に格納されたスライス像の高さZini と各スライス像間の高さの差dZstep を記憶しておくことで、スライス像格納リストのN番目に格納されたスライス像の高さZnを次式(1)により求めるようにすることも可能である。
【0036】
Zn=Zini +N×dZstep (N=0,1,2,3,・・・) 式(1)
続いて、前述のフォーカス情報出力手段2、推定画素情報出力手段3、正当性判定手段4、及びフォーカス像生成手段5等にて行われる処理について説明する。
【0037】
図3は、その処理の一例を示したフローチャートである。
尚、同図において、S303の処理(同図点線部a)は推定画素情報出力手段3にて行われる処理を示し、S304の処理(同図点線部b)は正当性判定手段4にて行われる処理を示し、S303乃至S306の処理(同図点線部c)は、フォーカス情報生成手段2等にて行われる処理を示している。また、S308乃至S312の処理(同図点線部d)は、フォーカス像生成手段5にて行われる処理を示している。
【0038】
同図に示したように、まず、S301では、処理対象画素iが先頭画素に初期化される。
S302では、被測定物表面の全ての位置に対応した画素についてフォーカス情報生成手段2にて行われる処理が終了したか否か(i>=i_maxであるか否か)が判定され、その判定結果がYesの場合にはS308へ処理が進み、Noの場合にはS303へ処理が進む。尚、i_maxは、被測定物表面の全ての位置に対応した画素の総数を示している。
【0039】
S303では、推定画素情報出力手段3にて、処理対象画素iについての推定画素高さと推定画素輝度値が取得され、それぞれZtemp とItemp に代入される。但し、Ztemp には、推定画素高さとして、処理対象画素iに焦点が合ったと推定される高さで得られたスライス像が格納されているスライス像格納リストの位置(格納位置)を示す値が代入される。このスライス像格納リストの位置を示す値により、対応するZ座標格納リストの格納位置に格納されている高さを一意に取得することが可能であることから、単にZtemp には推定画素高さが代入されるとも言える。また、Itemp には、推定画素輝度値として、処理対象画素iに焦点が合ったと推定される高さでの輝度値が代入される。尚、本ステップの処理の詳細については、図4乃至図6を用いて後述する。
【0040】
S304では、正当性判定手段4にて、処理対象画素iが推定画素高さZtempにて焦点が合うか否かが判定され、その判定結果がYesの場合にはS306へ処理が進み、Noの場合にはS305へ処理が進む。尚、本ステップの処理の詳細については、図7を用いて後述する。
【0041】
S305では、前ステップにて焦点が合わないと判定された場合に、推定画素高さZtemp と推定画素輝度値Itemp に、予め指定された例外値(Zexception ,Iexception )が代入される。
S306では、処理対象画素iにおける推定画素高さZtemp 及び推定画素輝度値Itemp の値が、それぞれ確定画素高さ及び確定画素輝度値として、Z(i)及びI(i)に代入される。但し、Z(i)には、前述のZtemp の場合と同様に、対応するスライス像についてのスライス像格納リストの格納位置を示す値が代入されることになるが、その値から一意に高さを取得することが可能であることから、単にZ(i)には確定画素高さが代入されるとも言える。
【0042】
S307では、処理対象画素iがインクリメントされ、処理対象画素が次の画素へ変更されて、S302へ処理が戻る。
このように、フォーカス情報生成手段2にて、被測定物表面の全ての位置に対応した画素についての確定画素高さ及び確定画素輝度値が取得されると、続いて、フォーカス像生成手段5にて行われるS308以降の処理へ移行する。
【0043】
S308では、S302においてi>=i_maxであると判定された場合に、被測定物表面の全ての位置に対応した画素についての表面形状情報SGと表面輝度情報SIを格納するための領域が確保される。
S309では、処理対象画素iが先頭画素に初期化される。
【0044】
S310では、被測定物表面の全ての位置に対応した画素について処理が終了したか否か(i>=i_maxであるか否か)が判定され、その判定結果がYesの場合には本処理が終了し、Noの場合にはS311へ処理が進む。
S311では、処理対象画素iにおける表面形状情報SG(i)に、処理対象画素iにおける確定画素高さであるZmatrix (Z(i))が代入される。尚、Zmatrix (Z(i))は、Z(i)に代入されている値が示すスライス像格納リストの格納位置に対応する、Z座標格納リストの格納位置に格納されている高さを取得する処理を示している。また、処理対象画素iにおける表面輝度情報SI(i)に、処理対象画素iにおける確定画素輝度値I(i)が代入される。
【0045】
S312では、処理対象画素iがインクリメントされ、処理対象画素が次の画素に変更されて処理がS310へ戻る。
以上、本フローが行われることによって、推定画素高さ及び推定画素輝度値が取得されると、その推定画素高さの正当性が判定され、その判定結果に基づいて確定画素高さ及び確定画素輝度値が、推定画素高さ及び推定画素輝度値とされるか、或いは例外値とされるかが決定され、その確定画素高さ及び確定画素輝度値に基づいて被測定物表面の全ての位置に対応した画素についての表面形状情報及び表面輝度情報が取得される。これにより、試料表面の反射率が低い等により、対応する画素の最大輝度が低い場合であっても、ノイズと誤判定することを無くすことができる。
【0046】
続いて、前述の推定画素情報出力手段3にて行われる、S303の処理について説明する。
図4は、その処理の一例を示すフローチャートである。
同図において、まず、S401では、処理対象スライス像の位置(スライス像格納リストの格納位置)を示す値が代入されるsliceと、処理対象画素iについて最高輝度値を有するとされるスライス像の位置を示す値が代入されるslice_topとが、スライス像格納リストに格納されているスライス像の先頭の位置を示す値に初期化される。
【0047】
S402では、スライス像格納リストに格納されている、sliceの値が示す位置のスライス像における処理対象画素iの輝度値が取得され(GetI(i,slice)、その輝度値が最高輝度値としてi_topに代入される。
S403では、sliceがインクリメントされ、処理対象スライス像が次のスライス像へ変更される。
【0048】
S404では、処理対象となる全てのスライス像についての処理が終了したか否か(slice>=slice_maxであるか否か)が判定され、その判定結果がYesの場合にはS409へ処理が進み、Noの場合にはS405へ処理が進む。尚、slice_maxは、処理対象となる全てのスライス像の総数を示している。
【0049】
S405では、sliceの値が示す位置のスライス像(処理対象スライス像)における処理対象画素iの輝度値が取得され(GetI(i,slice))、その輝度値がI_nowに代入される。
S406では、それまでの最高輝度値i_topと前ステップで代入されたI_nowが比較され、すなわち、i_top<I_nowであるか否かが判定され、その判定結果がYesの場合にはS407へ処理が進み、Noの場合にはS408へ処理が進む。
【0050】
S407では、前ステップにてi_top<I_nowであると判定された場合に、I_nowの値がI_topに代入され、このときのsliceの値がslice_topに代入される。すなわち、I_topとslice_topが更新される。
【0051】
S408では、sliceがインクリメントされて、処理対象スライス像が次のスライス像へ変更され、S404へ処理が戻る。
S409では、S404にてslice>=slice_maxであると判定された場合に、処理対象画素iについての最高輝度値を有するスライス像の位置を示す値が代入されているslice_topの値が、推定画素高さとしてZtemp に代入される。また、そのスライス像における処理対象画素iの輝度値が取得され(GetI(i,slice_top))、その輝度値が推定画素輝度値としてItemp に代入され、本処理が終了する。尚、本ステップでは、GetI(i,slice_top)の処理により、輝度値を取得し、Itemp に代入しているが、例えば、このときに代入されている最大輝度値I_topの値を、Itemp に代入するようにしても良い。
【0052】
以上、本フローが行われることによって、スライス像格納リストに格納されている全スライス像の中から、処理対象画素iについての最高輝度値を有するスライス像の位置を示す値とその最高輝度値が、推定画素高さZtemp 及び推定画素輝度値Itemp として取得される。
【0053】
尚、本フローに示した処理は、原理的に処理対象画素iに焦点が合う高さで最高輝度になる、ということを利用して推定画素高さ及び推定画素輝度値を求めるものであったが、その求め方は図4に示した処理に限定されるものではなく、他の求め方によっても可能である。
【0054】
例えば、処理対象スライス像を含むその前後の連続するスライス像から、処理対象画素iの輝度値の平均値が最高となったときの、その処理対象スライス像の高さを推定画素高さとしてZtemp に代入し、そのスライス像における処理対象画素iの輝度値を推定画素輝度値としてItemp に代入するようにしても良い。この場合の処理を図5を用いて説明する。
【0055】
図5は、推定画素情報出力手段3にて行われる、S303の処理の他の例を示すフローチャートである。
尚、同図に示した処理では、処理対象スライス像を含むその前後の連続するスライス像に基づいて処理が行われるため、図4に示した処理と異なり、処理を開始するときの処理対象スライス像の位置が先頭にはならない。すなわち、処理対象スライス像を含むその前後の連続するスライス像の総数をwindow枚(但し、windowは3以上の奇数)とすると、処理を開始するときの処理対象スライス像の位置を示す値は、(window−1)/2になる。また、同様にして、処理を終了するときの処理対象スライス像の位置を示す値は、slice_max−(window−1)/2になる。また、前述のi_top及びi_nowに代入される輝度値は、処理対象スライス像の処理対象画素iの輝度値ではなく、window枚のスライス像の処理対象画素iの輝度値の平均値になる。
【0056】
このようにすることで、処理対象画素iの輝度値にノイズが含まれる場合であっても、ノイズによる影響を抑えることが可能となる。
具体的には、図5に示したように、まず、S501では、(window−1)/2の値が、halfwndに代入される。ここで、halfwndは、処理を開始するときの処理対象スライス像の位置を示す値が代入されるものである。
また、halfwndは、処理が行われるときに使用される、処理対象スライス像を含むその前後の連続するスライス像において、その処理対象スライス像の前又は後の連続するスライス像の総数を示す値が代入されるものでもある。
【0057】
S502では、処理対象スライス像の位置を示す値が代入されるsliceと、処理対象画素iについて最高輝度値を有するとされるスライス像の位置を示す値が代入されるslice_topが、halfwndの値に初期化される。
S503では、スライス像格納リストに格納されている、sliceの値が示す位置のスライス像を含む前後halfwnd枚の連続するスライス像における処理対象画素iの輝度値の平均値が取得され、その平均値が最高輝度値としてi_topに代入される。
【0058】
S504では、sliceがインクリメントされ、処理対象スライス像が次のスライス像へ変更される。
S505では、処理対象となる全てのスライス像についての処理が終了したか否か(slice+halfwnd>=slice_maxであるか否か)が判定され、その判定結果がYesの場合にはS510へ処理が進み、Noの場合にはS506へ処理が進む。
【0059】
S506では、スライス像格納リストに格納されている、sliceの値が示す位置のスライス像を含む前後halfwnd枚の連続するスライス像における処理対象画素iの輝度値の平均値が取得され、その平均値が最高輝度値としてI_nowに代入される。
【0060】
S507では、それまでのI_topと前ステップで代入されたI_nowが比較され、すなわち、I_top<I_nowであるか否かが判定され、その判定結果がYesの場合にはS508へ処理が進み、Noの場合にはS509へ処理が進む。
【0061】
S508では、前ステップにてI_top<I_nowであると判定された場合に、I_nowの値がI_topに代入され、このときのsliceの値がslice_topに代入される。すなわち、I_topとslice_topが更新される。
【0062】
S509では、sliceがインクリメントされて、処理対象スライス像が次のスライス像へ変更され、S505へ処理が戻る。
S510では、S505にてslice+halfwnd>=slice_maxであると判定された場合に、処理対象画素iについて輝度値の平均値が最高であったときの処理対象スライス像の位置を示す値が代入されているslice_topの値が、推定画素高さとしてZtemp に代入される。また、そのスライス像における処理対象画素iの輝度値が取得され(GetI(i,slice_top))、その輝度値が推定画素輝度値としてItemp に代入され、本処理が終了する。
【0063】
以上、本フローが行われることによって、より正当性の高い、処理対象画素iについての推定画素高さ及び推定画素輝度値を取得することが可能になる。
また、前述の図4又は図5に示した推定画素高さ及び推定画素輝度値を求める方法の他の方法として、例えば、処理対象画素iについての各高さに対する輝度変化において、単峰性のピークの頂点に近づくほど大きな値になるような評価関数PeakRateを予め規定しておき、処理対象スライス像を含むその前後の所定数毎のスライス像の処理対象画素iの輝度値を用いて、この評価関数PeakRateの値が最高値となるときの処理対象スライス像の高さを推定画素高さとしてZtemp に代入し、そのスライス像における輝度値を推定画素輝度値としてItemp に代入するようにしても良い。この場合の処理を図6(a),(b) を用いて説明する。
【0064】
図6(a),(b) は、推定画素情報出力手段3にて行われる、S303の処理の他の例を示すフローチャートである。
尚、同図に示した処理では、処理対象スライス像を含むその前後所定数毎のスライス像に基づいて処理が行われるため、図4に示した処理と異なり、処理を開始するときの処理対象スライス像の位置が先頭にはならない。すなわち、処理対象スライス像を含むその前後の所定数毎のスライス像の総数をdiv枚(但し、divは3以上の奇数)とし、前述の所定数をstepとすると、処理を開始するときの処理対象スライス像の位置を示す値は、(div−1)*step/2になる。また、同様にして、処理を終了するときの処理対象スライス像の位置を示す値は、slice_max−(div−1)*step/2になる。また、前述のi_top及びi_nowに代入される輝度値は、処理対象スライス像の処理対象画素iについての評価関数PeakRateの値になる。
【0065】
このようにすることで、より広範囲にあるスライス像の輝度変化から輝度値が最高値となるときの高さを推定することができるようになり、局所的なノイズによる影響を抑えることが可能になる。
具体的には、図6(a) において、まず、S601では、(div−1)*step/2の値が、halfwndに代入される。ここで、halfwndは、処理を開始するときの処理対象スライス像の位置を示す値が代入されるものである。また、このhalfwndは、処理が行われるときに使用される、処理対象スライス像を含むその前後のstep毎のスライス像において、その処理対象スライス像の前又は後のstep毎のスライス像に含まれるスライス像の総数を示す値が代入されるものでもある。
【0066】
S602では、処理対象スライス像の位置を示す値が代入されるsliceと、処理対象画素iについて評価関数PeakRateの値が最高値となったときの処理対象スライス像の位置を示す値が代入されるslice_topが、halfwndの値に初期化される。
【0067】
S603では、スライス像格納リストに格納されている、sliceの値が示す位置のスライス像を含むその前後のstep毎のスライス像における処理対象画素iの輝度値を用いて評価関数PealRateの値を求め、その値がi_topに代入される。尚、この評価関数PealRateの値の求め方については、同図(b) を用いて後述する。
【0068】
S604では、sliceがインクリメントされ、処理対象スライス像が次のスライス像へ変更される。
S605では、処理対象となる全てのスライス像についての処理が終了したか否か(slice+halfwnd>=slice_maxであるか否か)が判定され、その判定結果がYesの場合にはS610へ処理が進み、Noの場合にはS606へ処理が進む。
【0069】
S606では、スライス像格納リストに格納されている、sliceの値が示す位置のスライス像を含むその前後のstep毎のスライス像における処理対象画素iの輝度値を用いて評価関数PeakRateの値を求め、その値がi_nowに代入される。
【0070】
S607では、I_topと前ステップで代入されたI_nowが比較され、すなわち、I_top<I_nowであるか否かが判定され、その判定結果がYesの場合にはS608へ処理が進み、Noの場合にはS609へ処理が進む。
S608では、前ステップにてI_top<I_nowであると判定された場合に、I_nowの値がI_topに代入され、このときのsliceの値がslice_topに代入される。すなわち、I_topとslice_topが更新される。
【0071】
S609では、sliceがインクリメントされて、処理対象スライス像が次のスライス像へ変更され、S605へ処理が戻る。
S610では、S605にてslice+halfwnd>=slice_maxであると判定された場合に、処理対象画素iについて評価関数PeakRateの値が最高値となったときの処理対象スライス像の位置を示す値が代入されているslice_topの値が、推定画素高さとしてZtemp に代入される。
また、そのスライス像における処理対象画素iの輝度値が取得され(GetI(i,slice_top))、その輝度値が推定画素輝度値としてItemp に代入され、本処理が終了する。
【0072】
続いて、前述のS603又はS606にて行われる、評価関数PealRateの値を求める処理について同図(b) を用いて説明する。
同図(b) は、評価関数PeakRateの値を求める処理の一例を示したフローチャートである。
【0073】
同図(b) において、まず、S611では、−(div−1)/2の値が、nに代入される。
S612では、nの値が(div−1)/2の値よりも大きいか否か(n>=(div−1)/2であるか否か)が判定され、その判定結果がYesの場合にはS615へ処理が進み、Noの場合には、S613へ処理が進む。
【0074】
S613では、スライス像格納リストに格納されている、slice−n*stepの値が示す位置のスライス像における処理対象画素iの輝度値が取得され、その輝度値が、i_pickup(n)に代入される。
S614では、nがインクリメントされ、S612へ処理が戻る。
【0075】
以上のS611乃至S614の処理により、sliceの値が示す位置のスライス像を含むその前後step毎のスライス像の各々についての処理対象画素iにおける輝度値が取得される。
S615では、retが初期化される(ret=0)。
【0076】
S616では、−(div−1)/2の値が、nに代入される。
S617では、n<0であるか否かが判定され、その判定結果がYesの場合にはS618へ処理が進み、Noの場合には本処理が終了する。
S618では、前述のS613による処理結果に基づいて、i_pickup(n+1)からi_pickup(n)が減算され、その減算された値が三乗されて、それまでのretに加算される。また、i_pickup(−n−1)からi_pickup(−n)が減算され、その減算された値が三乗されて、更に、そのretに加算される。
【0077】
S619では、nがインクリメントされ、S617の処理へ戻る。
以上のS615乃至S619の処理により、sliceの値が示す位置のスライス像(処理対象スライス像)を含むその前後のstep毎のスライス像における処理対象画素iの輝度値を用いて評価関数PealRateの値(ret)が求められる。
【0078】
ここで、同図(b) に示した処理について、具体例を上げて説明する。
図7(a) は、処理対象画素iについての各高さに対する輝度変化の一例を示している。
同図(a) において、Z(slice)=a−2,a−1,a,a+1,a+2,a+3は、前述のstep毎の高さを示している。また、Z=a−2,a−1,a,a+1,a+2,a+3のときの輝度値をそれぞれ、I_a−2,I_a−1,I_a,I_a+1,I_a+2,I_a+3とする。また、本例では、div=5とする。
【0079】
この場合、sliceの値を単峰性のピーク位置、すなわち、slice=aとして図6(b) に示した処理が行われると、前述のS611乃至S614により、i_pickup(−2),i_pickup(−1),i_pickup(0),i_pickup(1),i_pickup(2)としてそれぞれ、I_a−2,I_a−1,I_a,I_a+1,I_a+2が得られ、また、前述のS615乃至S619の処理により、ret=(I_a−1−I_a−2)^3+(I_a+1−I_a+2)^3+(I_a−I_a−1)^3+(I_a−I_a+1)^3が得られ、評価関数PeakRateの値が最大になる。
【0080】
また、sliceの値が単峰性のピーク位置から離れた位置、例えばslice=a+1として同様にして処理が行われると、前述のS611乃至S614により、i_pickup(−2),i_pickup(−1),i_pickup(0),i_pickup(1),i_pickup(2)としてそれぞれ、I_a−1,I_a,I_a+1,I_a+2,I_a+3が得られ、また、前述のS615乃至S619の処理により、ret=(I_a−I_a−1)^3+(I_a+2−I_a+3)^3+(I_a+1−I_a)^3+(I_a+1−I_a+2)^3が得られるが、前述の(I_a+1−I_a)^3の値が負になることから、評価関数PeakRateは、少なくとも、slice=aのときの値よりも小さくなる。
【0081】
同様にして、各sliceに対して評価関数PeakRateの値を求めると、図7(b) に示した、各高さに対するPeakRateの値の変化を示したZ(slice)−PeakRate曲線が得られる。
同図(b) に示したように、sliceの値を単峰性のピーク位置、すなわちslice=aとすると、ret(評価関数PeakRate)の値は最大になるが、sliceの値が単峰性のピーク位置から離れるにしたがって、retの値が小さくなる。
【0082】
このように、処理対象画素iについての各高さに対する輝度変化において、単峰性のピークの頂点に近づくほど大きな値となるような評価関数PeakRateを用いることにより、より広範囲にあるスライス像の輝度変化から輝度値が最高値となるときの高さを推定することが可能になり、局所的なノイズによる影響を抑えることが可能になる。
【0083】
また、評価関数PeakRateの値を求めるのに使用されるスライス像において、最も低い高さのスライス像から最も高い高さのスライス像までの範囲(高さの差)が、各高さに対する輝度変化におけるピーク幅とほぼ等しくなるようにstepの値を設定することによって、より正確な判定を行うことが可能になる。例えば、各高さに対する輝度変化におけるピーク幅が広い場合にはstepの値を大きくし、そのピーク幅が狭い場合にはstepの値を小さくすれば良い。
【0084】
以上、図6(a),(b) に示したフローが行われることによって、より正当性の高い、処理対象画素iについての推定画素高さ及び推定画素輝度値を取得することが可能になる。
続いて、前述の正当性判定手段4にて行われる、S304の処理について詳細に説明する。
【0085】
図8(a) は、その処理の一例を示すフローチャートである。同図の処理は、推定画素高さZtemp を用いて、処理対象画素iについての各高さに対する輝度変化を、単峰性のピーク領域Aとそれ以外の背景領域B1,B2に分割し、推定画素輝度値(i_top)が背景領域B1及びB2における最高輝度値(Imax )のk倍以上だったら、推定画素高さZtemp にて処理対象画素iに焦点が合うと判定する処理を行うものである。
【0086】
また、同図(b) は、推定画素高さZtemp を用いて、処理対象画素iについての各高さに対する輝度変化を、単峰性ピーク領域Aとそれ以外の背景領域B1及びB2に分割したときの一例である。
ここでは、同図(b) を参照しながら、同図(a) に示した処理を説明する。
【0087】
まず、S801では、単峰性のピーク領域Aの範囲z_rangeが取得される。尚、この単峰性のピーク領域Aの範囲z_rangeは、測定時の光学系によって一意に決定されるものである。例えば、予め、対物レンズ識別子LensIDとピーク領域Aの範囲z_rangeを対応付けて記憶させておき、対物レンズの識別子LensIDが入力されること等によって、ピーク領域Aの範囲z_rangeが取得される。
S802では、numとIsum に0が代入され、Imax に無効を示すINBALID_IMAXが、Imin に無効を示すINBALID_IMINが代入される。これにより、背景領域B1及びB2の輝度変化の統計情報(平均、最大値、最小値等)に係る変数が初期化される。
【0088】
S803では、z_low_lowに0が代入され、z_low_highにZtemp −(z_range/Zstep )/2が代入される。これにより、背景領域B1の範囲(z_low_low〜z_low_high)が決定される。尚、Ztemp は、Z_rangeの中心の位置とされ、また、Zstep は、隣接するスライス像の高さの差を示している。
【0089】
S804では、jにz_low_lowの値が代入される。
S805では、背景領域B1の全範囲についての処理が終了したか否か(j>=z_low_lowであるか否か)が判定され、その判定結果がYesの場合にはS809へ処理が進み、Noの場合にはS806へ処理が進む。
【0090】
S806では、jの値が示す位置のスライス像の処理対象画素iの輝度値が取得され、それがi_nowに代入される。
S807では、numがインクリメントされ、Isum に前ステップで代入されたi_nowの値が加算され、max(Imax ,i_now)及びmin(Imin ,i_now)が算出される。尚、max(Imax ,i_now)では、それまでのImax とi_nowが比較され、Imax <i_nowの場合には、Imax にi_nowの値が代入され、それ以外は代入されない。また、min(Imin ,i_now)では、それまでのImin とi_nowが比較され、Imin >i_nowの場合には、Imin にi_nowの値が代入され、それ以外は代入されない。
【0091】
尚、以下において、max(a,b)では、aとbが比較され、a<bの場合には、aにbの値が代入され、それ以外は代入されない、という処理が行われるとする。また、min(a,b)では、aとbが比較され、a>bの場合には、aにbの値が代入され、それ以外は代入されない、という処理が行われるとする。
【0092】
S808では、jがインクリメントされ、S805へ処理が戻る。
以上のS803乃至S808の処理により、背景領域B1における、num、Isum 、Imax 、Imin といった輝度変化の統計情報が取得される。
続いて、処理がS809へ移行し、背景領域B2についての処理が開始される。
【0093】
S809では、z_high_lowにZtemp +(z_range/Zstep )/2が代入され、z_high_highに0が代入される。これにより、背景領域B2の範囲(z_high_low〜z_high_high)が決定される。
【0094】
S810では、jにz_high_lowの値が代入される。
S811では、背景領域B2の全範囲についての処理が終了したか否か(j>=z_high_highであるか否か)が判定され、その判定結果がYesの場合にはS815へ処理が進み、Noの場合にはS812へ処理が進む。
【0095】
S812では、jの値が示す位置のスライス像の処理対象画素iの輝度値が取得され、それがi_nowに代入される。
S813では、前述のS807と同様に、numがインクリメントされ、Isum に前ステップで代入されたi_nowの値が加算され、max(Imax ,i_now)及びmin(Imin ,i_now)が算出される。
【0096】
S814では、jがインクリメントされ、S811へ処理が戻る。
以上のS809乃至S814の処理により、背景領域B1及びB2における、num、Isum 、Imax 、Imin といった輝度変化の統計情報が取得される。
S815では、Ztemp の値が示す位置のスライス像の処理対象画素iの輝度値が取得され、それがi_topに代入される。
【0097】
S816では、retにTRUEが代入される。
S817では、i_topに代入されている値がk倍のImax の値よりも大きいか否か(i_top>k*Imax であるか否か)が判定され、その判定結果がYesの場合には本処理が終了し、Noの場合にはS818へ処理が進む。
【0098】
S818では、retにFALSEが代入され、本処理が終了する。
以上、本フローが行われることによって、推定画素高さZtemp のスライス像の処理対象画素iの輝度値が、背景領域B1及びB2の範囲における最大輝度値Imax のk倍の値よりも大きい場合に、推定画素高さZtemp のスライス像の処理対象画素iに焦点が合う(TRUE)と判定され、それ以外は焦点が合わない(FALSE)と判定される。
【0099】
これにより、推定画素高さが単峰性のピークの頂点付近に無い場合には、その高さで焦点が合わないと判定されるようになり、推定画素輝度値が低くても焦点の合っている画素と合っていない画素とを区別することが可能になる。従って、試料表面の反射率が低い等により、対応する画素の最大輝度が低い場合であっても、ノイズと誤判定することを無くすことができる。
【0100】
また、本処理において、背景領域B1及びB2において取得された輝度値においてオフセットが重畳される場合には、推定画素輝度値i_top及び背景領域B1及びB2における最高輝度値Imax から、背景領域B1及びB2における最低輝度値Imin を減算した後に判定することで、より良好な判定結果を得ることも可能である。
【0101】
尚、このような判定手法以外にも、例えば、背景領域B1及びB2における平均輝度値(Isum /num)を用いて、推定画素輝度値i_topが背景領域B1及びB2における平均輝度値(Isum /num)のk倍以上だったら、推定画素高さZtemp のスライス像の処理対象画素iに焦点が合うと判定する処理等を行うようにしても良い。
【0102】
或いは、それらの判定手法以外にも、ヒストグラムを用いて判定を行うようにしても良い。例えば、図9に示したように、処理対象画素iについての各高さに対する輝度変化からヒストグラムを作成し、そのヒストグラムの形状等に基づいて、推定画素高さZtemp のスライス像の処理対象画素iに焦点が合うか否かを判定する処理を行うようにしても良い。
【0103】
以上、本実施形態によれば、共焦点効果を有する光学系を備えた顕微鏡等を用いて取得した、被測定物表面上の各位置に対応する画素の光軸方向に沿った輝度変化から、被測定物表面の各位置に対応した画素における高さを推定画素高さとして推定した後に、その推定画素高さで焦点が合っているか否かの正当性を判定することが可能になる。この判定では、対応する画素の光軸方向に沿った輝度変化を照会し、輝度変化の特徴に鑑みて正当性を詳細に判定することができるため、例えば輝度上に現れたスパイク状のノイズ等が推定画素高さとして誤って推定されたとしてもそれを訂正し、正当と判定された推定画素高さ及び推定画素輝度値である確定画素高さ及び確定画素輝度値に従った表面形状情報及び表面輝度情報の生成が可能になる。
【0104】
次に、本発明の第二の実施の形態について説明する。
図10は、本実施形態に係る、フォーカス情報出力手段2、推定画素情報出力手段3、正当性判定手段4、及びフォーカス像生成手段5等にて行われる処理の一例を示したフローチャートであり、第一の実施の形態に係る図3に示したフローチャートに対応するものである。
【0105】
尚、図10において、S1004の処理(同図点線部a)は推定画素情報出力手段3にて行われる処理を示し、S1005の処理(同図点線部b)は正当性判定手段4にて行われる処理を示し、S1004、S1005、S1007、及びS1008の処理(同図点線部c)は、フォーカス情報生成手段2等にて行われる処理を示している。また、S1010乃至S1016の処理(同図点線部d)は、フォーカス像生成手段5にて行われる処理を示している。
【0106】
同図に示したように、まず、S1001では、処理対象画素iが先頭画素に初期化される。
S1002では、num、Zsum 、Isum に0が代入され、Zmax に無効を示すINVALID_ZMAXが、Zmin に無効を示すINVALID_ZMINが、Imax に無効を示すINVALID_IMAXが、Imin に無効を示すINVALID_IMINが代入される。すなわち、確定画素高さと確定画素輝度値の統計情報(平均値、最大値、最小値等)に係る変数が初期化される。
【0107】
S1003では、被測定物表面の全ての位置に対応した画素についてフォーカス情報生成手段2にて行われる処理が終了したか否か(i>=i_maxであるか否か)が判定され、その判定結果がYesの場合にはS1010へ処理が進み、Noの場合にはS1004へ処理が進む。
【0108】
S1004では、前述のS303の処理と同様の処理(例えば、図4、図5、又は図6(a),(b) に示した処理)が行われる。
S1005では、正当性判定手段4にて、処理対象画素iが推定画素高さZtemp にて焦点が合うか否かが判定され、その判定結果がYesの場合にはS1006へ処理が進み、Noの場合にはS1007へ処理が進む。尚、本ステップの判定処理については、例えば、図7に示した処理と同様の処理が行われる。
【0109】
S1006では、処理対象画素iが推定画素高さZtemp にて焦点が合うと判定された場合に、numがインクリメントされ、それまでのZsum にZmatrix (Ztemp )が加算され、それまでのIsum にItemp が加算され、max(Zmax ,Ztemp )、min(Zmin ,Ztemp )、max(Imax ,Itemp )、min(Imin ,Itemp )が算出される。すなわち、確定画素高さと確定画素輝度値の統計情報が更新される。尚、Zmatrix (Ztemp )は、Ztemp に代入されている値が示す位置に対応する、Z座標格納リストの格納位置に格納されている高さ(確定画素高さ)を取得する処理を示している。このようにして得られた統計情報は、後述するS1013の処理にて確定画素高さZ(i)に代入されている値が例外値であると判定された場合に、S1014にてその例外値の代わりに代入させるものとして用いられる。
【0110】
S1007では、前述のS305の処理と同様に、処理対象画素iが推定画素高さZtemp にて焦点が合わないと判定された場合に、推定画素高さZtemp と推定画素輝度値Itemp に、予め指定された例外値(Zexception ,Iexception )が代入される。
【0111】
S1008では、前述のS306の処理と同様に、処理対象画素iにおける推定画素高さZtemp 及び推定画素輝度値Itemp の値が、それぞれ確定画素高さ及び確定画素輝度値として、Z(i)及びI(i)に代入される。
S1009では、処理対象画素iがインクリメントされ、処理対象画素が次の画素へ変更されてS1003へ処理が戻る。
【0112】
このように、フォーカス情報生成手段2にて、被測定物表面の全ての位置に対応した画素についての確定画素高さ及び確定画素輝度値が取得されると、続いて、フォーカス像生成手段5にて行われるS1010以降の処理へ移行する。
S1010及びS1011の処理は、前述のS308及びS309の処理と同様の処理が行われる。
【0113】
S1012では、被測定物表面の全ての位置に対応した画素について処理が終了したか否か(i>=i_maxであるか否か)が判定され、その判定結果がYesの場合には本処理が終了し、Noの場合にはS1013へ処理が進む。
S1013では、Z(i)の値が例外値(Zexception )であるか否か、すなわち処理対象画素iにおける推定画素高さが例外値であるか否かが判定され、その判定結果がYesの場合にはS1014へ処理が進み、Noの場合にはS1015へ処理が進む。
【0114】
S1014では、処理対象画素iにおける表面形状情報SG(i)に、設定されているidに応じた高さが代入され、処理対象画素iにおける表面輝度情報SI(i)に、設定されているidに応じた輝度値が代入される。尚、idは、その値に応じて、SG(i)及びSI(i)に代入させる値を変更させるものである。例えば、id=0の場合は、SG(i)にZmax の値が代入され、SI(i)にImax の値が代入される。また、id=1の場合は、SG(i)にZmin の値が代入され、SI(i)にImin の値が代入される。また、id=2の場合は、SG(i)にZsum /num(高さの平均)の値が代入され、SI(i)にIsum /num(輝度値の平均)の値が代入される。また、id=3の場合は、SG(i)に固定値(0等)が代入され、SI(i)に固定値(0等)が代入される。また、id=4の場合は、SG(i)に後述する画素間の補間値である高さが代入され、SI(i)に後述する画素間の補間値である輝度値が代入される。
【0115】
S1015では、前述のS311と同様に、処理対象画素iにおける表面形状情報SG(i)に、処理対象画素iにおける確定画素高さZmatrix (Z(i))が代入され、処理対象画素iにおける表面輝度情報SI(i)に、処理対象画素iにおける確定画素輝度値I(i)が代入される。
【0116】
S1016では、処理対象画素iがインクリメントされ、処理対象画素が次の画素に変更されて処理がS1013へ戻る。
以上、本フローが行われることによって、SG(i)及びSI(i)に代入される値がidにより任意に設定されるようになるので、その値を試料表面の形状に合わせて設定することが可能になり、また、表面形状情報や表面輝度情報に係る表示や解析に適した値に設定することが可能になる。
【0117】
例えば、図11(a) に示したような試料の表面形状を取得したときに、同図(a) の直線部分11の表面形状として、同図(b) に示したような、直線部分11の各位置に対する高さの変化が得られたとする。
この場合、同図(b) に示した高さの変化では、位置aに対する高さが0(例外値)になっているが、同図(a) に示した実際の試料において、高さが0になるような表面形状が得られないことが明らかなときには、前述のS1014の処理において、SG(i)として、例えば高さの平均値Zmean (Zsum /num)を代入させ、位置aに対する高さをZmean とすることによって(同図(b) の点b)、表示や解析に適した値に設定することが可能になる。
【0118】
続いて、前述のS1014の処理において、SG(i)及びSI(i)に画素間の補間値が代入される場合の、その補間値の求め方について説明する。
図12(a) は、その補間値の求め方を説明するための図であり、同図(b) は、その補間値を求める処理の一例を示すフローチャートである。
【0119】
ここでは、同図(a) を参照しながら、処理対象画素Piの補間値を求める場合の処理について説明する。尚、同図(a) において、斜線領域は、推定画素高さ及び推定画素輝度値として例外値が代入されている画素を示している。
同図(b) において、まず、S1201では、例外値ではなくて、かつPiからの最近傍画素であるような画素P1が探索される。
【0120】
S1202では、P1とPiを結ぶ略直線上であって、Piの位置に対してP1とは異なる側の、例外値でなくて、かつPiからの最近傍画素であるような画素P2が探索される。
S1203では、P1とPiの距離L1と、PiとP2の距離L2が求められ、処理対象画素Piの高さZi及び輝度値Iiが、P1の推定画素高さ(Z_P1)及び推定画素輝度値(I_P1)とP2の推定画素高さ(Z_P2)及び推定画素輝度値(I_P2)を、L1及びL2で内分する点として計算される。
【0121】
以上、本フローが行われることによって、処理対象画素Piの高さZi及び輝度値Iiを、補間により求めることが可能になる。
以上、本実施形態によれば、確定画素高さZ(i)の値が例外値であったときに、SG(i)及びSI(i)に代入させる値を、試料表面の形状に合わせて任意に設定することが可能になり、また、表面形状情報や表面輝度情報の表示や解析に適した値に設定することが可能になる。
【0122】
次に、本発明の第三の実施の形態について説明する。
図13は、本実施形態に係る、フォーカス情報出力手段2、推定画素情報出力手段3、正当性判定手段4、及びフォーカス像生成手段5等にて行われる処理の一例を示したフローチャートであり、第一の実施の形態に係る図3に示したフローチャートに対応するものである。
【0123】
尚、図13において、S1303の処理(同図点線部a)は推定画素情報出力手段3にて行われる処理を示し、S1305の処理(同図点線部b)は正当性判定手段4にて行われる処理を示し、S1307乃至S1307の処理(同図点線部c)は、フォーカス情報生成手段2等にて行われる処理を示している。また、S1309乃至S1313の処理(同図点線部d)は、フォーカス像生成手段5にて行われる処理を示している。
【0124】
同図において、S1301乃至S1303の処理は、前述の図3に示したS301乃至S303の処理と同様の処理が行われる。
S1304では、推定画素輝度値Itemp が、予め設定されている閾値Ith 以上であるか否かが判定され、その判定結果がYesの場合にはS1307へ処理が進み、Noの場合にはS1305へ処理が進む。
【0125】
S1305乃至SS1313の処理では、前述の図3のS304乃至S312と同様の処理が行われる。
以上、本フローが行われることによって、推定画素輝度値Itemp が予め設定された閥値Ith 未満の場合には正当性の判定が行われ、閾値Ith 以上の場合には正当性の判定が行われず推定画素高さZtemp と推定画素輝度値Itemp が確定画素高さと確定画素輝度値とされる。これにより、試料表面にて十分に光が反射して推定画素輝度値として高い輝度値が取得された場合等のように、ノイズによる影響が少なく推定画素高さと推定画素輝度値が誤推定される可能性が低い場合には、判定処理が行われないようになるので、処理速度を向上させることができる。
【0126】
尚、上述の第一乃至第三の実施の形態において、その実施の形態にて述べた処理、例えば、図2(b) 、図3、図4、図5、図6(a),(b) 、図8、図10、図12(b) 、又は図13等に示した処理をコンピュータに実行させるためのプログラムを記録媒体等に記憶させておき、そのプログラムをコンピュータが読み出し実行することによって、その処理が実現されるものであっても良い。
【0127】
図14は、そのプログラムが記録媒体等に記憶され、そのプログラムが情報処理装置(コンピュータ)により読み出され実行される場合の一例を示した図である。
同図に示した例では、そのプログラムが、CD−ROM、DVD、フロッピー(登録商標)ディスク等の可搬記録媒体21、或いはプログラム提供者の有する記憶装置22に記憶され、そのプログラムが情報処理装置23により読み出されて実行される。
【0128】
そのプログラムがCD−ROM、フロッピー(登録商標)ディスク等の可搬記録媒体21に記憶されている場合には、その可搬記録媒体21が情報処理装置23のドライブ装置に挿入されてプログラムが読み出され(ロードされ)、読み出されたプログラムがRAM、ハードディスク等の記憶装置24に格納されてプログラムが実行される。また、プログラム提供者から通信回線を介してそのプログラムが提供される場合には、プログラム提供者の記憶装置22、あるいはメモリ等に格納されているプログラムが通信回線を介して情報処理装置23に受信され、受信されたプログラムがRAM、ハードディスク等の記憶装置24に格納されて実行される。尚、記録媒体等に記憶されるプログラムは、上述の実施の形態にて述べた処理の一部が実現されるものであっても良い。
【0129】
以上、本発明のフォーカス像合成方法及びそのプログラムについて詳細に説明したが、本発明は上記実施形態に限定されず、本発明の要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
【0130】
【発明の効果】
以上、詳細に説明したように、本発明によれば、試料に急斜面が存在し或いは試料表面の反射率が低い等により、対応する画素の最大輝度が低い場合であってもノイズと誤判定することを無くすことができる。
【図面の簡単な説明】
【図1】本発明のフォーカス像合成方法を説明するための概略構成を示した図である。
【図2】(a) は輝度情報格納手段の構成例、(b) は輝度情報格納手段にて行われる処理の一例を示したフローチャート、(c) は輝度情報格納手段の他の構成例を示した図である。
【図3】第一の実施の形態に係る、フォーカス情報出力手段、推定画素情報出力手段、正当性判定手段、及びフォーカス像生成手段等にて行われる処理の一例を示したフローチャートである。
【図4】推定画素情報出力手段にて行われる、S303の処理の一例を示すフローチャートである。
【図5】推定画素情報出力手段にて行われる、S303の処理の他の例を示すフローチャートである。
【図6】(a),(b) は、推定画素情報出力手段にて行われる、S303の処理の他の例を示すフローチャートである。
【図7】(a) は処理対象画素iについての各高さに対する輝度変化の一例、(b) は各高さに対するPeakRateの値の変化を示したZ(slice)−PeakRate曲線の一例を示した図である。
【図8】(a) は、正当性判定手段にて行われる、S304の処理の一例を示すフローチャート、(b) は推定画素高さZtemp を用いて、処理対象画素iについての各高さに対する輝度変化を、単峰性ピーク領域Aとそれ以外の背景領域B1及びB2に分割したときの一例である。
【図9】処理対象画素iについての各高さに対する輝度変化に基づいて作成されたヒストグラムの一例である。
【図10】本発明の第二の実施の形態に係る、フォーカス情報出力手段、推定画素情報出力手段、正当性判定手段、及びフォーカス像生成手段等にて行われる処理の一例を示したフローチャートである。
【図11】(a) は試料の一例、(b) は(a) に示した試料の直線部分11の各位置に対する高さの変化を示した図である。
【図12】(a) は補間値の求め方を説明するための図、(b) はその補間値を求める処理の一例を示すフローチャートである。
【図13】本発明の第三の実施の形態に係る、フォーカス情報出力手段、推定画素情報出力手段、正当性判定手段、及びフォーカス像生成手段等にて行われる処理の一例を示したフローチャートである。
【図14】プログラムが記録媒体等に記憶され、そのプログラムが情報処理装置(コンピュータ)により読み出され実行される場合の一例を示した図である。
【図15】共焦点効果を有する光学系を備えた顕微鏡を用いて試料表面を測定した際の各位置の高さに対する輝度変化の一例を示した図である。
【符号の説明】
1 輝度情報格納手段
2 フォーカス情報格納手段
3 推定画素情報出力手段
4 正当性判定手段
5 フォーカス像生成手段
11 直線部分
21 可搬記録媒体
22 記憶装置
23 情報処理装置
24 記憶装置[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a focus image synthesizing method for acquiring an image with a deep depth of focus and a three-dimensional shape of a sample surface using luminance information obtained from a microscope having an optical system having a confocal effect, and a program therefor.
[0002]
[Prior art]
In a microscope equipped with an optical system having a confocal effect, a two-dimensional image is constructed by condensing reflected light from each position on a focal plane and detecting each as a pixel value corresponding to each position. be able to. When such a microscope is used to construct a two-dimensional image of a sample having irregularities on the surface, reflected light from the sample surface is detected when the sample surface is on the focal plane. If not, no reflected light is detected. That is, it is possible to construct a two-dimensional image brightened by the reflected light only for the pixel corresponding to the position where the sample surface and the focal plane overlap.
[0003]
Accordingly, a plurality of two-dimensional images obtained when the focal plane is displaced relative to the sample surface are obtained, and the maximum luminance of a pixel corresponding to each position on the focal plane is obtained from the plurality of two-dimensional images. When an image is constructed in which the maximum luminance is obtained and the corresponding pixel is output, the image becomes an in-focus image at all positions on the focal plane. Further, when acquiring a two-dimensional image in which the pixel corresponding to each position on the focal plane has the maximum luminance from among the acquired plural two-dimensional images, displacement information of the sample surface with respect to the focal plane is obtained from the corresponding pixel. When an output image is constructed, the image becomes an image representing the three-dimensional shape of the sample surface. However, if the sample has a steep slope or the reflectance of the sample surface is low and there is no luminance peak among the acquired two-dimensional images, the original “surface” does not appear in the pixel. Therefore, in this case, simply obtaining the maximum luminance of the corresponding pixel as described above results in noise being picked up, and the noise is included on a steep slope or a low reflectance portion.
[0004]
Therefore, in order to remove such noise, a specified value is set when the maximum luminance of the corresponding pixel is obtained from each two-dimensional image as described above, and when the maximum luminance of the relevant pixel is equal to or less than the specified value, A method has been proposed in which the output value (displacement information or luminance) is set to zero, output as an interpolated value from surrounding pixels, or is not output (for example, JP-A-6-308390, JP-A-8-308). 210819). A feature of these methods is that if the maximum luminance is equal to or less than a specified value, all of them are regarded as noise and exclusion processing and interpolation processing are performed.
[0005]
[Problems to be solved by the invention]
However, there is a problem in that if the maximum luminance is equal to or less than the specified value, it is regarded as noise. The problem is that normal reflected light from a low reflectance region of the sample surface is regarded as noise.
[0006]
FIG. 15 is a diagram illustrating an example of a change in luminance with respect to the height of each position when a sample surface is measured using a microscope having an optical system having a confocal effect. However, in the figure, the height of each position is indicated by the number of the corresponding slice image (a two-dimensional image obtained at a predetermined height).
[0007]
In the figure, (a) shows a pixel in a high reflectivity area, (b) shows a pixel in a low reflectivity area, and (c) shows a luminance change of a pixel corresponding to a flaw on the sample surface. The shape of the luminance change in (a) and (b) is a unimodal peak shape where the luminance value becomes maximum at the height where the position on the sample surface corresponding to each pixel coincides with the focal plane due to the confocal effect. have. On the other hand, the shape of the luminance change in (c) is completely different from those in (a) and (b), and the height at which the luminance is maximum is irrelevant to the sample surface.
[0008]
In such a case, only (c) should be judged as noise. However, since the maximum luminance of (b) is equal to (c), if the noise of (c) is simply removed with the specified value, the normal (b) ) Will be removed.
In view of the above circumstances, it is an object of the present invention to provide a focus image synthesis method that does not erroneously determine noise even when the maximum luminance of a pixel corresponding to a position on a sample surface becomes low due to a low reflectance on the sample surface. It is to provide a method and its program.
[0009]
[Means for Solving the Problems]
A first aspect of the present invention stores luminance at each height on the optical axis of a pixel corresponding to each position on the surface of an object to be measured, obtained using a microscope having an optical system having a confocal effect. A storage step, and referring to the luminance stored in the storage step according to processing target pixel specifying information for uniquely specifying a processing target pixel, an optical axis estimated to be focused on the processing target pixel The first acquisition step of acquiring the upper height and the luminance at that time as an estimated pixel height and an estimated pixel luminance value, and according to the processing target pixel designation information and the estimated pixel height, A query step of determining whether or not the pixel to be processed is in focus at the estimated pixel height by referring to the stored brightness, and performing the processing at the estimated pixel height in the determination step. When the target pixel is in focus When it is determined, the estimated pixel height and the estimated pixel luminance value are acquired as the determined pixel height and the determined pixel luminance value, and the pixel to be processed is focused on the estimated pixel height in the determination step. And a second acquisition step of acquiring an exceptional height and an exceptional luminance value as the confirmed pixel height and the confirmed pixel luminance value when it is determined that the focused image is not present.
[0010]
According to the above method, after the estimated pixel height and the estimated pixel luminance value are obtained, it is determined whether or not focus is achieved at the estimated pixel height. Based on the determination result, the determined pixel height is determined. The height and the determined pixel luminance value are the estimated pixel height and the estimated pixel luminance value, or are exceptional height and luminance values. Thereby, even when the maximum luminance of the pixel corresponding to the position of the sample surface is low due to the existence of a steep slope on the sample or the low reflectance of the sample surface, it is possible to eliminate the erroneous determination as noise. be able to.
[0011]
According to a second aspect of the present invention, in the first aspect, based on the determined pixel height and the determined pixel luminance value acquired in the second acquisition step, at each position on the surface of the device under test. The method further includes a step of generating surface shape information including height information of a corresponding pixel and surface luminance information including luminance information of a pixel corresponding to each position on the surface of the device under test.
[0012]
According to this method, the surface shape information and the surface luminance information are generated based on the acquired determined pixel height and the determined pixel luminance value.For example, based on the surface shape information and the surface luminance information, the display and the display are performed. Analysis and the like can be performed.
According to a third aspect of the present invention, in the first aspect, in the first acquisition step, based on the fact that the brightness at the height on the optical axis where the focus is focused on the processing target pixel is the highest value, In this method, a height on the optical axis estimated to be focused on the processing target pixel and a luminance at that time are obtained.
[0013]
According to this method, for example, the height on the optical axis at which the luminance of the processing target pixel has the highest value and the luminance at that time are acquired as the estimated pixel height and the estimated pixel luminance value. Alternatively, the predetermined height and the luminance at the predetermined height when the average of the luminance at a plurality of consecutive heights before and after the predetermined height on the optical axis including the predetermined height on the processing target pixel is the highest value Are obtained as the estimated pixel height and the estimated pixel luminance value.
[0014]
According to a fourth aspect of the present invention, in the first aspect, in the first obtaining step, the luminance change with respect to the height on the optical axis for the pixel to be processed is the height on the optical axis where the focus is on. A height on the optical axis estimated to be in focus on the pixel to be processed and a luminance at that time based on the fact that the pixel has a single peak.
[0015]
According to this method, for example, in the luminance change with respect to the height on the optical axis for the pixel to be processed, each luminance value of the height at a predetermined interval before and after that including the predetermined height on the optical axis is used. When the value of the evaluation function, which becomes larger as approaching the peak of the unimodal peak, becomes the maximum value, the predetermined height and the luminance at the predetermined height are estimated. Obtained as the pixel height and the estimated luminance luminance value. As a result, it is possible to obtain a more correct estimated pixel height and estimated pixel luminance value.
[0016]
According to a fifth aspect of the present invention, in any one of the first to fourth aspects, in the determining step, the light focused on the luminance change with respect to the height on the optical axis of the processing target pixel. Based on the difference in luminance change between the unimodal peak region having the height on the axis as the vertex and the other background region, it is determined whether or not the processing target pixel is focused at the estimated pixel height. It is a method of determining.
[0017]
According to this method, for example, the focus at the estimated pixel height is determined based on a comparison between the estimated pixel luminance value that is the highest luminance value in the unimodal peak region and the highest luminance value in the other background regions. It is determined whether or not matches. This makes it possible to accurately determine the validity of the estimated pixel height and the estimated pixel luminance value.
[0018]
According to a sixth aspect of the present invention, in any one of the first to fifth aspects, the exceptional height and the exceptional luminance value are at least determined to be in focus in the determination step. The lowest value, the highest value, or the average value, the fixed value, or any one of the interpolated values obtained from the pixels determined to be in focus in the determination step. Is the way.
[0019]
According to this method, it is possible to set the exceptional height and the exceptional luminance value to values according to the shape of the sample surface, and to display and analyze the surface shape information and the surface luminance information. It becomes possible to set a suitable value.
According to a seventh aspect of the present invention, in any one of the first to fifth aspects, when the estimated pixel luminance value obtained in the first step is equal to or more than a predetermined value, the determination is performed. A method of acquiring the estimated pixel height and the estimated pixel luminance value as the confirmed pixel height and the confirmed pixel luminance value in the second acquisition step without performing the step.
[0020]
According to this method, the influence of noise is small and the estimated pixel height and the estimated pixel luminance value are erroneous, as in the case where light is sufficiently reflected on the sample surface and a high luminance value is obtained as the estimated pixel luminance value. When the possibility of the estimation is low, the determination step is not performed, so that the processing speed can be improved.
[0021]
An eighth aspect of the present invention is a program for causing a computer to execute the steps according to the first aspect.
By causing a computer to execute the above-described program, the same operation and effect as in the first aspect can be obtained.
[0022]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
First, a first embodiment will be described.
FIG. 1 is a diagram showing a schematic configuration for explaining a focus image synthesizing method of the present invention.
[0023]
In the figure, a luminance
[0024]
When the processing target pixel specifying information that uniquely specifies the processing target pixel is input, the focus
[0025]
When obtaining the target pixel designation information from the focus information output means 2 (arrow b), the estimated pixel information output means 3 refers to the luminance information stored in the luminance information storage means 1 (arrow d), and estimates the estimated pixel height. It obtains the estimated pixel luminance values and outputs them to the focus information output means 2 (arrow c).
[0026]
Further, as a second procedure, the focus
[0027]
Upon acquiring the target pixel designation information and the estimated pixel height from the focus information output unit (arrow e), the
When the focus
[0028]
When acquiring the determined pixel height and the determined pixel luminance value from the focus information output unit 2 (arrow h), the focus
[0029]
The surface shape information and the surface luminance information generated in this manner are thereafter output to, for example, a display unit (dotted line in the figure) (arrow i), and an image or the like corresponding to the surface shape information and the surface luminance information is output. Is displayed.
Next, the configuration of the above-described luminance
[0030]
FIG. 2A is a diagram illustrating a configuration example of the luminance
As shown in FIG. 1A, the luminance information storage means 1 sequentially stores slice images having, as pixel information, luminances corresponding to respective positions on the surface of the DUT obtained at respective heights. It is configured to include a storage list, a Z coordinate storage list (Zmatrix) that sequentially accumulates the heights at which the slice images stored in the slice image storage list are obtained, and the like. With such a configuration, the slice image (or its storage position) stored in the slice image storage list and the height (or its storage position) stored in the Z coordinate storage list are uniquely associated with each other, For example, when a predetermined slice image stored in the slice image storage list is designated, it is possible to uniquely obtain the height stored in the Z coordinate storage list associated with the slice image. Will be possible.
[0031]
FIG. 2B is a flowchart illustrating an example of a process performed by the luminance
The initialization process is a process performed before the first slice image is obtained by a measuring unit (not shown). First, in S201, a slice image storage list is initialized as preparation for storing a slice image, and then in S202 Then, a Z coordinate storage list is initialized as preparation for storing the Z coordinate.
[0032]
The new data adding process is a process in which the slice image and its height are sequentially acquired while moving the height in a fixed direction after the above-described initialization process is completed. , The newly acquired slice image is stored at the end, and in S212, the height of the newly acquired slice image is stored at the end of the Z coordinate storage list.
[0033]
By such processing, the slice image and the height are sequentially added to the end of the slice image storage list and the end of the Z coordinate storage list, respectively. Therefore, the height of the Nth slice image stored in the slice image storage list is , And Z are stored in the N-th coordinate storage list. As a result, the two are associated with each other by the position in the storage list.
[0034]
Note that the configuration of the luminance information storage means 1 is not limited to that shown in FIG. 3A, but can be realized by other configurations.
FIG. 3C is a diagram showing another example of the configuration of the luminance information storage means 1.
As shown in FIG. 3C, the luminance at each height on the optical axis of the pixel corresponding to each position on the surface of the DUT is represented by a color component (R, G, B in FIG. 3C). It is also possible to configure to store the slice images separated for each image. Such a configuration is suitable, for example, when the measurement unit uses three lasers having different wavelengths.
[0035]
Alternatively, if the height difference between the slice images can be considered to be constant, the Z coordinate storage list is omitted from the configuration of the luminance information storage means 1, and the height Zini of the first stored slice image and each slice are replaced. By storing the height difference dZstep between the images, the height Zn of the slice image stored at the Nth position in the slice image storage list can be obtained by the following equation (1).
[0036]
Zn = Zini + N × dZstep (N = 0, 1, 2, 3,...) Equation (1)
Next, processing performed by the focus
[0037]
FIG. 3 is a flowchart showing an example of the processing.
In the figure, the processing of S303 (dotted line part a in the figure) indicates the processing performed by the estimated pixel information output means 3, and the processing of S304 (dotted line part b in the figure) is performed by the validity determination means 4. The processing of steps S303 to S306 (dotted line c in FIG. 3) indicates processing performed by the focus
[0038]
As shown in the figure, first, in S301, the processing target pixel i is initialized to the first pixel.
In S302, it is determined whether or not the processing performed by the focus
[0039]
In S303, the estimated pixel information output means 3 acquires an estimated pixel height and an estimated pixel luminance value for the processing target pixel i, and substitutes them into Ztemp and Itemp, respectively. However, Ztemp is a value indicating the position (storage position) of the slice image storage list in which the slice image obtained at the height estimated to be focused on the processing target pixel i is stored as the estimated pixel height. Is substituted. Since the height stored at the storage position of the corresponding Z coordinate storage list can be uniquely acquired from the value indicating the position of the slice image storage list, the estimated pixel height is simply added to Ztemp. It can be said that it is substituted. Further, a luminance value at a height at which it is estimated that the processing target pixel i is in focus is substituted into Itemp as the estimated pixel luminance value. The details of the process in this step will be described later with reference to FIGS.
[0040]
In S304, the
[0041]
In S305, when it is determined in the previous step that the focus is not achieved, a predetermined exceptional value (Zexception, Iexception) is substituted for the estimated pixel height Ztemp and the estimated pixel luminance value Itemp.
In S306, the values of the estimated pixel height Ztemp and the estimated pixel luminance value Itemp of the processing target pixel i are substituted into Z (i) and I (i) as the determined pixel height and the determined pixel luminance value, respectively. However, as in the case of Ztemp described above, a value indicating the storage position of the slice image storage list for the corresponding slice image is substituted for Z (i). Can be obtained, it can be said that the determined pixel height is simply substituted for Z (i).
[0042]
In S307, the processing target pixel i is incremented, the processing target pixel is changed to the next pixel, and the process returns to S302.
As described above, when the focus
[0043]
In S308, when it is determined in S302 that i> = i_max, an area for storing the surface shape information SG and the surface luminance information SI for pixels corresponding to all positions on the surface of the device under test is secured. You.
In S309, the processing target pixel i is initialized to the first pixel.
[0044]
In S310, it is determined whether or not the processing has been completed for the pixels corresponding to all the positions on the surface of the device under test (whether or not i> = i_max). If the determination result is Yes, this processing is performed. The process ends, and in the case of No, the process proceeds to S311.
In S311, Zmatrix (Z (i)), which is the determined pixel height of the processing target pixel i, is substituted into the surface shape information SG (i) of the processing target pixel i. Note that Zmatrix (Z (i)) obtains the height stored in the storage position of the Z coordinate storage list corresponding to the storage position of the slice image storage list indicated by the value assigned to Z (i). Shows the processing to be performed. Further, the determined pixel luminance value I (i) of the processing target pixel i is substituted for the surface luminance information SI (i) of the processing target pixel i.
[0045]
In S312, the processing target pixel i is incremented, the processing target pixel is changed to the next pixel, and the process returns to S310.
As described above, when the estimated pixel height and the estimated pixel luminance value are obtained by performing the present flow, the validity of the estimated pixel height is determined, and the determined pixel height and the determined pixel are determined based on the determination result. It is determined whether the luminance value is to be an estimated pixel height and an estimated pixel luminance value or an exceptional value. Based on the determined pixel height and the determined pixel luminance value, all positions on the surface of the measured object are determined. The surface shape information and the surface luminance information of the pixel corresponding to are obtained. Thereby, even when the maximum luminance of the corresponding pixel is low due to the low reflectance of the sample surface or the like, it is possible to eliminate erroneous determination as noise.
[0046]
Subsequently, the processing of S303 performed by the above-described estimated pixel information output means 3 will be described.
FIG. 4 is a flowchart showing an example of the processing.
First, in S401, a slice into which a value indicating the position of the processing target slice image (storage position in the slice image storage list) is substituted, and a slice image having the highest luminance value for the processing target pixel i. Slice_top into which the value indicating the position is substituted is initialized to a value indicating the head position of the slice image stored in the slice image storage list.
[0047]
In S402, the luminance value of the processing target pixel i in the slice image at the position indicated by the slice value stored in the slice image storage list is obtained (GetI (i, slice)), and the luminance value is set as i_top as the maximum luminance value. Is assigned to
In S403, the slice is incremented, and the slice image to be processed is changed to the next slice image.
[0048]
In S404, it is determined whether the processing has been completed for all slice images to be processed (whether slice> = slice_max). If the determination result is Yes, the process proceeds to S409. If No, the process proceeds to S405. Note that slice_max indicates the total number of all slice images to be processed.
[0049]
In S405, the luminance value of the processing target pixel i in the slice image (processing target slice image) at the position indicated by the slice value is obtained (GetI (i, slice)), and the luminance value is substituted into I_now.
In S406, the highest luminance value i_top thus far is compared with the I_now substituted in the previous step, that is, it is determined whether or not i_top <I_now. If the determination result is Yes, the process proceeds to S407. , No, the process proceeds to S408.
[0050]
In S407, when it is determined in the previous step that i_top <I_now, the value of I_now is substituted for I_top, and the value of slice at this time is substituted for slice_top. That is, I_top and slice_top are updated.
[0051]
In S408, the slice is incremented, the slice image to be processed is changed to the next slice image, and the process returns to S404.
In S409, if it is determined in S404 that slice> = slice_max, the value of slice_top into which the value indicating the position of the slice image having the highest luminance value for the processing target pixel i is substituted is the estimated pixel height. Is substituted into Ztemp. Also, the luminance value of the processing target pixel i in the slice image is obtained (GetI (i, slice_top)), and the luminance value is substituted into Itemp as the estimated pixel luminance value, and this processing ends. In this step, the luminance value is obtained by the processing of GetI (i, slice_top) and is substituted for Itemp. For example, the value of the maximum luminance value I_top substituted at this time is substituted for Itemp. You may do it.
[0052]
As described above, by performing the present flow, the value indicating the position of the slice image having the highest luminance value for the processing target pixel i and the highest luminance value among all the slice images stored in the slice image storage list are obtained. , Estimated pixel height Ztemp and estimated pixel luminance value Itemp.
[0053]
Note that the processing shown in this flow is to calculate the estimated pixel height and the estimated pixel luminance value by utilizing the fact that the highest luminance is obtained at a height at which the processing target pixel i is focused in principle. However, the method of obtaining the value is not limited to the processing shown in FIG. 4, and can be obtained by other methods.
[0054]
For example, the height of the processing target slice image when the average value of the luminance value of the processing target pixel i is the highest from the consecutive slice images before and after the processing target slice image including the processing target slice image is Ztemp as the estimated pixel height. , And the luminance value of the processing target pixel i in the slice image may be substituted into Itemp as the estimated pixel luminance value. The processing in this case will be described with reference to FIG.
[0055]
FIG. 5 is a flowchart illustrating another example of the process of S303 performed by the estimated pixel
In the processing shown in the figure, since the processing is performed based on the continuous slice images before and after that including the processing target slice image, the processing target slice when starting the processing is different from the processing shown in FIG. The position of the image is not the first. That is, assuming that the total number of consecutive slice images before and after that including the processing target slice image is window (however, window is an odd number of 3 or more), the value indicating the position of the processing target slice image at the start of processing is: (Window-1) / 2. Similarly, the value indicating the position of the slice image to be processed when ending the processing is slice_max- (window-1) / 2. The luminance value substituted into the above-mentioned i_top and i_now is not the luminance value of the processing target pixel i of the processing target slice image, but is the average value of the luminance values of the processing target pixel i of the window slice image.
[0056]
This makes it possible to suppress the influence of noise even when the luminance value of the processing target pixel i includes noise.
Specifically, as shown in FIG. 5, first, in S501, the value of (window-1) / 2 is assigned to halfwnd. Here, a value indicating the position of the slice image to be processed at the time of starting the process is substituted into halfwnd.
Halfwnd is a value indicating the total number of consecutive slice images before or after the processing target slice image in the preceding and succeeding consecutive slice images including the processing target slice image used when processing is performed. It is also substituted.
[0057]
In S502, the slice in which the value indicating the position of the processing target slice image is substituted and the slice_top in which the value indicating the position of the slice image assumed to have the highest luminance value for the processing target pixel i are substituted are the values of halfwnd. Initialized.
In step S <b> 503, the average value of the luminance values of the processing target pixel i in the halfwnd consecutive slice images before and after including the slice image at the position indicated by the slice value stored in the slice image storage list is obtained, and the average value is obtained. Is assigned to i_top as the highest luminance value.
[0058]
In S504, the slice is incremented, and the slice image to be processed is changed to the next slice image.
In S505, it is determined whether or not the processing has been completed for all slice images to be processed (whether slice + halfwnd> = slice_max). If the result of the determination is Yes, the process proceeds to S510; If No, the process proceeds to S506.
[0059]
In S506, the average value of the luminance values of the processing target pixel i in the preceding and following halfwnd consecutive slice images including the slice image at the position indicated by the slice value stored in the slice image storage list is acquired, and the average value is obtained. Is assigned to I_now as the highest luminance value.
[0060]
In S507, the current I_top is compared with the I_now substituted in the previous step, that is, it is determined whether or not I_top <I_now. If the determination result is Yes, the process proceeds to S508, and the process proceeds to S508. In this case, the process proceeds to S509.
[0061]
In S508, if it is determined in the previous step that I_top <I_now, the value of I_now is substituted for I_top, and the value of slice at this time is substituted for slice_top. That is, I_top and slice_top are updated.
[0062]
In S509, the slice is incremented, the slice image to be processed is changed to the next slice image, and the process returns to S505.
In step S510, when it is determined in step S505 that slice + halfwnd> = slice_max, a value indicating the position of the processing target slice image when the average luminance value of the processing target pixel i is the highest is substituted. The value of slice_top is substituted into Ztemp as the estimated pixel height. Also, the luminance value of the processing target pixel i in the slice image is obtained (GetI (i, slice_top)), and the luminance value is substituted into Itemp as the estimated pixel luminance value, and this processing ends.
[0063]
As described above, by performing this flow, it is possible to obtain a more correct estimated pixel height and estimated pixel luminance value for the processing target pixel i.
Further, as another method for obtaining the estimated pixel height and the estimated pixel luminance value shown in FIG. 4 or FIG. 5, for example, in a luminance change with respect to each height of the processing target pixel i, a monomodal An evaluation function PeakRate is defined in advance such that the value becomes larger as approaching the peak apex, and the luminance value of the processing target pixel i of a predetermined number of slice images before and after the processing target slice image including the processing target slice image is used. The height of the slice image to be processed when the value of the evaluation function PeakRate becomes the maximum value is substituted into Ztemp as the estimated pixel height, and the luminance value in the slice image is substituted into Itemp as the estimated pixel luminance value. good. The processing in this case will be described with reference to FIGS.
[0064]
FIGS. 6A and 6B are flowcharts illustrating another example of the process of S303 performed by the estimated pixel
In the processing shown in the figure, since the processing is performed based on a predetermined number of slice images before and after including the processing target slice image, unlike the processing shown in FIG. The position of the slice image does not become the head. That is, assuming that the total number of slice images of a predetermined number before and after the slice image including the processing target slice image is div (however, div is an odd number of 3 or more) and the above-mentioned predetermined number is step, the processing at the time of starting the processing The value indicating the position of the target slice image is (div-1) * step / 2. Similarly, the value indicating the position of the slice image to be processed when ending the processing is slice_max- (div-1) * step / 2. The luminance value substituted into the above-mentioned i_top and i_now becomes the value of the evaluation function PeakRate for the processing target pixel i of the processing target slice image.
[0065]
By doing so, it becomes possible to estimate the height when the luminance value reaches the maximum value from the luminance change of the slice image in a wider range, and it is possible to suppress the influence of local noise. Become.
Specifically, in FIG. 6A, first, in S601, the value of (div-1) * step / 2 is substituted into halfwnd. Here, a value indicating the position of the slice image to be processed at the time of starting the process is substituted into halfwnd. Further, this halfwnd is included in a slice image for each step before or after the processing target slice image in a slice image for each step before and after including the processing target slice image used when processing is performed. A value indicating the total number of slice images is also substituted.
[0066]
In S602, the slice into which the value indicating the position of the slice image to be processed is substituted and the value indicating the position of the slice image to be processed when the value of the evaluation function PeakRate reaches the maximum value for the pixel to be processed i are substituted. slice_top is initialized to the value of halfwnd.
[0067]
In step S603, the value of the evaluation function PealRate is obtained using the luminance value of the processing target pixel i in each of the preceding and following slice images including the slice image at the position indicated by the slice value stored in the slice image storage list. , Its value is assigned to i_top. The method of obtaining the value of the evaluation function PealRate will be described later with reference to FIG.
[0068]
In S604, the slice is incremented, and the slice image to be processed is changed to the next slice image.
In S605, it is determined whether or not the processing has been completed for all slice images to be processed (whether or not slice + halffwd> = slice_max). If the determination result is Yes, the process proceeds to S610. If No, the process proceeds to S606.
[0069]
In step S606, the value of the evaluation function PeakRate is calculated using the luminance value of the processing target pixel i in each of the preceding and succeeding slice images including the slice image at the position indicated by the slice value stored in the slice image storage list. , Its value is assigned to i_now.
[0070]
In S607, I_top is compared with I_now substituted in the previous step, that is, it is determined whether or not I_top <I_now. If the determination result is Yes, the process proceeds to S608, and if No, the process proceeds to S608. The process proceeds to S609.
In S608, if it is determined in the previous step that I_top <I_now, the value of I_now is substituted for I_top, and the value of slice at this time is substituted for slice_top. That is, I_top and slice_top are updated.
[0071]
In S609, the slice is incremented, the slice image to be processed is changed to the next slice image, and the process returns to S605.
In step S610, when it is determined in step S605 that slice + halfwnd> = slice_max, a value indicating the position of the processing target slice image when the value of the evaluation function PeakRate reaches the maximum value for the processing target pixel i is substituted. The value of slice_top is substituted into Ztemp as the estimated pixel height.
Also, the luminance value of the processing target pixel i in the slice image is obtained (GetI (i, slice_top)), and the luminance value is substituted into Itemp as the estimated pixel luminance value, and this processing ends.
[0072]
Next, the process of obtaining the value of the evaluation function PealRate, which is performed in S603 or S606, will be described with reference to FIG.
FIG. 7B is a flowchart showing an example of a process for obtaining the value of the evaluation function PeakRate.
[0073]
In FIG. 13B, first, in S611, the value of-(div-1) / 2 is substituted for n.
In S612, it is determined whether or not the value of n is greater than the value of (div-1) / 2 (whether or not n> = (div-1) / 2), and if the determination result is Yes. The process proceeds to S615, and in the case of No, the process proceeds to S613.
[0074]
In S613, the luminance value of the processing target pixel i in the slice image at the position indicated by the value of slice-n * step, which is stored in the slice image storage list, is obtained, and the luminance value is substituted into i_pickup (n). You.
In S614, n is incremented, and the process returns to S612.
[0075]
Through the processing of S611 to S614 described above, the luminance value of the processing target pixel i for each of the slice images in the preceding and following steps including the slice image at the position indicated by the slice value is obtained.
In S615, ret is initialized (ret = 0).
[0076]
In S616, the value of-(div-1) / 2 is substituted for n.
In S617, it is determined whether or not n <0. If the determination result is Yes, the process proceeds to S618, and if No, the process ends.
In S618, i_pickup (n) is subtracted from i_pickup (n + 1) based on the processing result in S613 described above, and the subtracted value is raised to the third power and added to the previous ret. Also, i_pickup (-n) is subtracted from i_pickup (-n-1), the resulting value is raised to the third power, and further added to the ret.
[0077]
In S619, n is incremented, and the process returns to S617.
By the above processing of S615 to S619, the value of the evaluation function PealRate is calculated using the luminance value of the processing target pixel i in each of the preceding and following slice images including the slice image (processing target slice image) at the position indicated by the slice value. (Ret) is required.
[0078]
Here, the processing shown in FIG. 6B will be described with a specific example.
FIG. 7A shows an example of a luminance change with respect to each height for the processing target pixel i.
In FIG. 6A, Z (slice) = a−2, a−1, a, a + 1, a + 2, a + 3 indicates the height for each step described above. Further, the luminance values when Z = a-2, a-1, a, a + 1, a + 2, a + 3 are set to I_a-2, I_a-1, I_a, I_a + 1, I_a + 2, I_a + 3, respectively. In this example, div = 5.
[0079]
In this case, when the process shown in FIG. 6B is performed with the slice value being a single-peaked peak position, that is, slice = a, i_pickup (−2) and i_pickup (−) are performed by the above-described S611 to S614. 1), i_pickup (0), i_pickup (1), and i_pickup (2) are obtained as I_a-2, I_a-1, I_a, I_a + 1, and I_a + 2, respectively, and by the processing of S615 to S619, ret = (I_a-1-I_a-2) ^ 3 + (I_a + 1-I_a + 2) ^ 3 + (I_a-I_a-1) ^ 3 + (I_a-I_a + 1) ^ 3 is obtained, and the value of the evaluation function PeakRate becomes maximum.
[0080]
Further, if the processing is performed in the same manner as the position where the slice value is away from the single-peak peak position, for example, slice = a + 1, i_pickup (−2), i_pickup (−1), I_a-1, I_a, I_a + 1, I_a + 2, and I_a + 3 are obtained as i_pickup (0), i_pickup (1), and i_pickup (2), respectively, and ret = (I_a−I_a−) by the above-described processing of S615 to S619. 1) 3+ (I_a + 2−I_a + 3) ^ 3 + (I_a + 1−I_a) ^ 3 + (I_a + 1−I_a + 2) ^ 3 is obtained. However, since the value of (I_a + 1−I_a) ^ 3 is negative, the evaluation function is obtained. PeakRate is at least smaller than the value when slice = a. It made.
[0081]
Similarly, when the value of the evaluation function PeakRate is obtained for each slice, a Z (slice) -PeakRate curve shown in FIG. 7B showing the change in the value of PeakRate with respect to each height is obtained.
As shown in FIG. 3B, when the value of slice is a single-peaked peak position, that is, slice = a, the value of ret (evaluation function PeakRate) is maximized, but the value of slice is monomodal. As the distance from the peak position increases, the value of ret decreases.
[0082]
As described above, by using the evaluation function PeakRate such that the closer to the peak of the unimodal peak in the luminance change with respect to each height of the processing target pixel i, the luminance of the slice image in a wider range is obtained. It is possible to estimate the height when the luminance value reaches the maximum value from the change, and it is possible to suppress the influence of local noise.
[0083]
In a slice image used to calculate the value of the evaluation function PeakRate, the range (height difference) from the slice image having the lowest height to the slice image having the highest height is a luminance change with respect to each height. By setting the value of the step so as to be substantially equal to the peak width in the above, more accurate determination can be performed. For example, if the peak width in the luminance change at each height is wide, the value of step may be increased, and if the peak width is narrow, the value of step may be decreased.
[0084]
As described above, by performing the flows shown in FIGS. 6A and 6B, it is possible to acquire a more correct estimated pixel height and estimated pixel luminance value for the processing target pixel i. .
Next, the processing of S304 performed by the
[0085]
FIG. 8A is a flowchart showing an example of the processing. The process shown in FIG. 11 uses the estimated pixel height Ztemp to divide the luminance change of each pixel to be processed i for each height into a unimodal peak region A and other background regions B1 and B2, and If the pixel luminance value (i_top) is equal to or more than k times the maximum luminance value (Imax) in the background areas B1 and B2, it is determined that the processing target pixel i is in focus at the estimated pixel height Ztemp. .
[0086]
FIG. 3B shows that the luminance change at each height of the processing target pixel i is divided into a unimodal peak region A and other background regions B1 and B2 using the estimated pixel height Ztemp. It is an example of time.
Here, the processing shown in FIG. 6A will be described with reference to FIG.
[0087]
First, in S801, the range z_range of the single-peak peak region A is acquired. The range z_range of the unimodal peak region A is uniquely determined by the optical system at the time of measurement. For example, the objective lens identifier LensID and the range z_range of the peak area A are stored in advance in association with each other, and the range z_range of the peak area A is acquired by inputting the identifier LensID of the objective lens.
In S802, 0 is substituted into num and Isum, INBALID_IMAX indicating invalid is substituted into Imax, and INBALID_IMIN indicating invalid is substituted into Imin. Thereby, variables relating to the statistical information (average, maximum value, minimum value, etc.) of the luminance change of the background regions B1 and B2 are initialized.
[0088]
In S803, 0 is substituted for z_low_low, and Ztemp- (z_range / Zstep) / 2 is substituted for z_low_high. Thereby, the range (z_low_low to z_low_high) of the background area B1 is determined. Note that Ztemp is the position of the center of Z_range, and Zstep indicates the difference in height between adjacent slice images.
[0089]
In S804, the value of z_low_low is substituted for j.
In S805, it is determined whether the processing for the entire range of the background area B1 has been completed (whether j> = z_low_low). If the determination result is Yes, the processing proceeds to S809, and the processing proceeds to No. In this case, the process proceeds to S806.
[0090]
In S806, the luminance value of the processing target pixel i of the slice image at the position indicated by the value of j is obtained, and is substituted for i_now.
In S807, num is incremented, the value of i_now substituted in the previous step is added to Isum, and max (Imax, i_now) and min (Imin, i_now) are calculated. In the case of max (Imax, i_now), the previous Imax and i_now are compared. If Imax <i_now, the value of i_now is substituted for Imax, and the other values are not substituted. In min (Imin, i_now), the current Imin and i_now are compared. If Imin> i_now, the value of i_now is substituted for Imin, and the other values are not substituted.
[0091]
In the following, in max (a, b), a and b are compared, and if a <b, a process is performed in which the value of b is substituted for a and the other values are not substituted. . Also, in min (a, b), it is assumed that processing is performed in which a and b are compared, and if a> b, the value of b is substituted for a, and the other values are not substituted.
[0092]
In S808, j is incremented, and the process returns to S805.
Through the processing of S803 to S808, statistical information of luminance change such as num, Isum, Imax, and Imin in the background area B1 is obtained.
Subsequently, the process proceeds to S809, and the process for the background area B2 is started.
[0093]
In S809, Ztemp + (z_range / Zstep) / 2 is substituted for z_high_low, and 0 is substituted for z_high_high. Thereby, the range (z_high_low to z_high_high) of the background area B2 is determined.
[0094]
In S810, the value of z_high_low is substituted for j.
In S811, it is determined whether or not the processing for the entire range of the background area B2 has been completed (whether or not j> = z_high_high). If the determination result is Yes, the process proceeds to S815, and the process proceeds to S815. In this case, the process proceeds to S812.
[0095]
In S812, the luminance value of the processing target pixel i of the slice image at the position indicated by the value of j is obtained, and is substituted for i_now.
In S813, as in S807 described above, num is incremented, the value of i_now substituted in the previous step is added to Isum, and max (Imax, i_now) and min (Imin, i_now) are calculated.
[0096]
In S814, j is incremented, and the process returns to S811.
Through the processing of S809 to S814, statistical information of luminance changes such as num, Isum, Imax, and Imin in the background areas B1 and B2 is obtained.
In S815, the luminance value of the processing target pixel i of the slice image at the position indicated by the value of Ztemp is obtained, and is substituted for i_top.
[0097]
In S816, TRUE is substituted for ret.
In S817, it is determined whether or not the value substituted for i_top is greater than the value of Imax multiplied by k (i.e., whether or not i_top> k * Imax). If the determination result is Yes, this processing is performed. Ends, and in the case of No, the process proceeds to S818.
[0098]
In S818, FALSE is substituted for ret, and this processing ends.
As described above, by performing this flow, when the luminance value of the processing target pixel i of the slice image with the estimated pixel height Ztemp is larger than the value k times the maximum luminance value Imax in the range of the background regions B1 and B2, , It is determined that the pixel i to be processed of the slice image having the estimated pixel height Ztemp is in focus (TRUE), and the other pixels are out of focus (FALSE).
[0099]
Accordingly, when the estimated pixel height is not near the peak of the unimodal peak, it is determined that focus is not achieved at that height, and focus is achieved even when the estimated pixel luminance value is low. It is possible to distinguish between pixels that are present and pixels that do not match. Therefore, even when the maximum luminance of the corresponding pixel is low due to the low reflectance of the sample surface or the like, it is possible to eliminate erroneous determination as noise.
[0100]
In the present process, when an offset is superimposed on the luminance values acquired in the background areas B1 and B2, the background areas B1 and B2 are calculated from the estimated pixel luminance value i_top and the maximum luminance value Imax in the background areas B1 and B2. It is also possible to obtain a better determination result by performing the determination after subtracting the minimum luminance value Imin in.
[0101]
In addition, other than such a determination method, for example, using the average luminance value (Isum / num) in the background areas B1 and B2, the estimated pixel luminance value i_top is calculated as the average luminance value (Isum / num) in the background areas B1 and B2. If the value is k times or more, the processing for determining that the processing target pixel i of the slice image with the estimated pixel height Ztemp is in focus may be performed.
[0102]
Alternatively, the determination may be performed using a histogram other than those determination methods. For example, as shown in FIG. 9, a histogram is created from the luminance change for each height of the processing target pixel i, and the processing target pixel i of the slice image having the estimated pixel height Ztemp is created based on the shape of the histogram and the like. A process for determining whether or not the image is in focus may be performed.
[0103]
As described above, according to the present embodiment, obtained using a microscope or the like having an optical system having a confocal effect, from the luminance change along the optical axis direction of the pixel corresponding to each position on the surface of the measured object, After estimating the height at the pixel corresponding to each position on the surface of the device to be measured as the estimated pixel height, it is possible to determine whether the estimated pixel height is in focus or not. In this determination, the luminance change of the corresponding pixel along the optical axis direction is queried, and the validity can be determined in detail in view of the characteristic of the luminance change. For example, a spike-like noise that appears on the luminance Corrects even if is incorrectly estimated as the estimated pixel height, surface shape information according to the determined pixel height and the determined pixel luminance value that is the estimated pixel height and estimated pixel luminance value determined to be valid and Generation of surface luminance information becomes possible.
[0104]
Next, a second embodiment of the present invention will be described.
FIG. 10 is a flowchart illustrating an example of processing performed by the focus
[0105]
In FIG. 10, the processing in S1004 (dotted line a in FIG. 10) indicates the processing performed by the estimated pixel
[0106]
As shown in the figure, first, in S1001, the processing target pixel i is initialized to the first pixel.
In S1002, 0 is substituted for num, Zsum, and Isum, INVALID_ZMAX indicating Zmax is invalid, INVALID_ZMIN indicating Zmin is invalid, INVALID_IMAX indicating Imax is invalid, and INVALID_IMIN indicating invalid is substituted for Imin. That is, variables relating to statistical information (average value, maximum value, minimum value, and the like) of the determined pixel height and the determined pixel luminance value are initialized.
[0107]
In S1003, it is determined whether or not the processing performed by the focus
[0108]
In S1004, the same processing as the processing in S303 described above (for example, the processing shown in FIG. 4, FIG. 5, or FIGS. 6A and 6B) is performed.
In S1005, the
[0109]
In S1006, when it is determined that the processing target pixel i is in focus at the estimated pixel height Ztemp, num is incremented, Zmatrix (Ztemp) is added to the previous Zsum, and Itemp is added to the previous Isum. Addition is performed to calculate max (Zmax, Ztemp), min (Zmin, Ztemp), max (Imax, Itemp), and min (Imin, Itemp). That is, the statistical information of the determined pixel height and the determined pixel luminance value is updated. Note that Zmatrix (Ztemp) indicates a process of acquiring the height (determined pixel height) stored in the storage position of the Z coordinate storage list corresponding to the position indicated by the value assigned to Ztemp. . The statistical information obtained in this manner is used when the value assigned to the determined pixel height Z (i) is determined to be an exceptional value in the processing of S1013 described below, and the exceptional value is determined in S1014. Is used instead of.
[0110]
In S1007, similarly to the processing of S305 described above, when it is determined that the processing target pixel i is out of focus at the estimated pixel height Ztemp, the estimated pixel height Ztemp and the estimated pixel luminance value Itemp are specified in advance. The exception value (Zexception, Iexception) thus set is substituted.
[0111]
In S1008, as in the process of S306 described above, the values of the estimated pixel height Ztemp and the estimated pixel luminance value Itemp of the processing target pixel i are set as Z (i) and I (I) as the determined pixel height and the determined pixel luminance value, respectively. (I).
In S1009, the processing target pixel i is incremented, the processing target pixel is changed to the next pixel, and the process returns to S1003.
[0112]
As described above, when the focus
The processes in S1010 and S1011 are the same as the processes in S308 and S309 described above.
[0113]
In S1012, it is determined whether or not the processing has been completed for pixels corresponding to all positions on the surface of the device under test (whether or not i> = i_max). If the determination result is Yes, this processing is performed. The process ends, and in the case of No, the process proceeds to S1013.
In S1013, it is determined whether or not the value of Z (i) is an exceptional value (Zexception), that is, whether or not the estimated pixel height of the processing target pixel i is an exceptional value. If the determination result is Yes The process proceeds to S1014, and in the case of No, the process proceeds to S1015.
[0114]
In S1014, the height corresponding to the set id is substituted into the surface shape information SG (i) of the processing target pixel i, and the id set in the surface luminance information SI (i) of the processing target pixel i. Is assigned. Note that id changes a value to be substituted into SG (i) and SI (i) according to the value. For example, when id = 0, the value of Zmax is substituted for SG (i), and the value of Imax is substituted for SI (i). When id = 1, the value of Zmin is substituted for SG (i), and the value of Imin is substituted for SI (i). When id = 2, the value of Zsum / num (average of height) is substituted for SG (i), and the value of Isum / num (average of luminance value) is substituted for SI (i). When id = 3, a fixed value (such as 0) is substituted for SG (i), and a fixed value (such as 0) is substituted for SI (i). When id = 4, a height which is an interpolated value between pixels described later is substituted into SG (i), and a luminance value which is an interpolated value between pixels described later is substituted into SI (i).
[0115]
In S1015, as in S311 described above, the determined pixel height Zmatrix (Z (i)) of the processing target pixel i is substituted for the surface shape information SG (i) of the processing target pixel i, and the surface of the processing target pixel i is changed. The determined pixel luminance value I (i) of the processing target pixel i is substituted for the luminance information SI (i).
[0116]
In S1016, the processing target pixel i is incremented, the processing target pixel is changed to the next pixel, and the processing returns to S1013.
As described above, by performing this flow, the values to be substituted into SG (i) and SI (i) can be arbitrarily set by id. Therefore, the values should be set according to the shape of the sample surface. It is also possible to set values suitable for display and analysis relating to surface shape information and surface luminance information.
[0117]
For example, when the surface shape of the sample as shown in FIG. 11A is obtained, the surface shape of the
In this case, in the change of the height shown in FIG. 6B, the height with respect to the position a is 0 (exceptional value), but in the actual sample shown in FIG. When it is clear that a surface shape such that the surface shape becomes 0 cannot be obtained, in the above-described processing of S1014, for example, an average height Zmean (Zsum / num) is substituted as SG (i), and the height relative to the position a is set. By setting the value as Zmean (point b in FIG. 3B), it becomes possible to set a value suitable for display and analysis.
[0118]
Next, a description will be given of a method of obtaining an interpolated value when an interpolated value between pixels is substituted into SG (i) and SI (i) in the process of S1014 described above.
FIG. 12A is a diagram for explaining how to obtain the interpolation value, and FIG. 12B is a flowchart showing an example of a process for obtaining the interpolation value.
[0119]
Here, the process for obtaining the interpolation value of the processing target pixel Pi will be described with reference to FIG. In FIG. 9A, the hatched area indicates a pixel to which an exceptional value is substituted as the estimated pixel height and the estimated pixel luminance value.
In FIG. 13B, first, in step S1201, a pixel P1 that is not an exceptional value and is the nearest pixel from Pi is searched.
[0120]
In step S1202, a pixel P2 which is not on the exceptional value and is the nearest pixel from Pi on a substantially straight line connecting P1 and Pi and different from P1 with respect to the position of Pi is searched for. You.
In step S1203, the distance L1 between P1 and Pi and the distance L2 between Pi and P2 are obtained, and the height Zi and the luminance value Ii of the processing target pixel Pi are calculated as the estimated pixel height (Z_P1) and the estimated pixel luminance value (P_1) of P1. The estimated pixel height (Z_P2) and the estimated pixel luminance value (I_P2) of I_P1) and P2 are calculated as points internally divided by L1 and L2.
[0121]
As described above, by performing this flow, the height Zi and the luminance value Ii of the processing target pixel Pi can be obtained by interpolation.
As described above, according to the present embodiment, when the value of the determined pixel height Z (i) is an exceptional value, the values to be substituted into SG (i) and SI (i) are adjusted according to the shape of the sample surface. It can be set arbitrarily, and can be set to a value suitable for displaying and analyzing surface shape information and surface luminance information.
[0122]
Next, a third embodiment of the present invention will be described.
FIG. 13 is a flowchart illustrating an example of processing performed by the focus
[0123]
In FIG. 13, the processing in S1303 (dotted line a in FIG. 13) indicates the processing performed by the estimated pixel
[0124]
In the figure, the processing of S1301 to S1303 is the same as the processing of S301 to S303 shown in FIG.
In S1304, it is determined whether or not the estimated pixel luminance value Itemp is equal to or larger than a preset threshold value Ith. If the determination result is Yes, the process proceeds to S1307, and if No, the process proceeds to S1305. Advances.
[0125]
In the processes of S1305 to SS1313, the same processes as those of S304 to S312 of FIG. 3 described above are performed.
As described above, by performing this flow, the validity determination is performed when the estimated pixel luminance value Itemp is less than the preset threshold value Ith, and the validity determination is not performed when the estimated pixel luminance value Itemp is equal to or greater than the threshold value Ith. The estimated pixel height Ztemp and the estimated pixel luminance value Itemp are defined as the determined pixel height and the determined pixel luminance value. As a result, the influence of noise is small and the estimated pixel height and the estimated pixel luminance value are erroneously estimated, as in the case where light is sufficiently reflected on the sample surface and a high luminance value is obtained as the estimated pixel luminance value. When the possibility is low, the determination processing is not performed, so that the processing speed can be improved.
[0126]
In the first to third embodiments described above, the processing described in the embodiment, for example, FIGS. 2B, 3, 4, 5, 6, 6A, and 6B A program for causing a computer to execute the processing shown in FIG. 8, FIG. 10, FIG. 12 (b), or FIG. 13 is stored in a recording medium or the like, and the computer reads and executes the program. The processing may be realized.
[0127]
FIG. 14 is a diagram showing an example in which the program is stored in a recording medium or the like, and the program is read and executed by an information processing device (computer).
In the example shown in the figure, the program is stored in a
[0128]
When the program is stored in a
[0129]
As described above, the focus image synthesizing method and the program thereof according to the present invention have been described in detail. However, the present invention is not limited to the above embodiment, and various improvements and modifications may be made without departing from the gist of the present invention. Of course.
[0130]
【The invention's effect】
As described in detail above, according to the present invention, even when the maximum luminance of the corresponding pixel is low, noise is erroneously determined due to the presence of a steep slope on the sample or the low reflectance of the sample surface. Can be eliminated.
[Brief description of the drawings]
FIG. 1 is a diagram showing a schematic configuration for explaining a focus image synthesizing method of the present invention.
2A is a flowchart illustrating an example of a configuration of a luminance information storage unit, FIG. 2B is a flowchart illustrating an example of processing performed by the luminance information storage unit, and FIG. FIG.
FIG. 3 is a flowchart illustrating an example of processing performed by a focus information output unit, an estimated pixel information output unit, a validity determination unit, a focus image generation unit, and the like according to the first embodiment.
FIG. 4 is a flowchart illustrating an example of a process of S303 performed by an estimated pixel information output unit.
FIG. 5 is a flowchart illustrating another example of the process of S303 performed by the estimated pixel information output unit.
FIGS. 6A and 6B are flowcharts illustrating another example of the process of S303 performed by the estimated pixel information output unit.
FIG. 7A shows an example of a luminance change with respect to each height of a processing target pixel i, and FIG. 7B shows an example of a Z (slice) -PeakRate curve showing a change of a PeakRate value with respect to each height. FIG.
FIG. 8A is a flowchart illustrating an example of the process of S304 performed by the validity determination unit, and FIG. 8B is a diagram illustrating an example of the process for each height of the processing target pixel i using the estimated pixel height Ztemp. This is an example when the luminance change is divided into a unimodal peak area A and other background areas B1 and B2.
FIG. 9 is an example of a histogram created based on a luminance change with respect to each height for a processing target pixel i.
FIG. 10 is a flowchart illustrating an example of processing performed by a focus information output unit, an estimated pixel information output unit, a validity determination unit, a focus image generation unit, and the like according to the second embodiment of the present invention; is there.
11A is a diagram illustrating an example of a sample, and FIG. 11B is a diagram illustrating a change in height with respect to each position of the
12A is a diagram for explaining how to obtain an interpolation value, and FIG. 12B is a flowchart showing an example of a process for obtaining the interpolation value.
FIG. 13 is a flowchart illustrating an example of processing performed by a focus information output unit, an estimated pixel information output unit, a validity determination unit, a focus image generation unit, and the like according to the third embodiment of the present invention. is there.
FIG. 14 is a diagram illustrating an example in which a program is stored in a recording medium or the like, and the program is read and executed by an information processing device (computer).
FIG. 15 is a diagram illustrating an example of a change in luminance with respect to the height of each position when a sample surface is measured using a microscope including an optical system having a confocal effect.
[Explanation of symbols]
1 brightness information storage means
2 Focus information storage means
3 Estimated pixel information output means
4 Legitimacy determination means
5 Focus image generating means
11 Straight part
21 Portable recording media
22 Storage device
23 Information processing device
24 storage devices
Claims (8)
処理対象画素を一意に指定する処理対象画素指定情報に応じて、前記格納ステップにて格納された前記輝度を照会して、前記処理対象画素に焦点が合うと推定される光軸上の高さ及びそのときの輝度を、推定画素高さ及び推定画素輝度値として取得する第一の取得ステップと、
前記処理対象画素指定情報及び前記推定画素高さに応じて、前記格納ステップにて格納された前記輝度を照会して、前記推定画素高さにて前記処理対象画素に焦点が合うか否かを判定する判定ステップと、
該判定ステップにて前記推定画素高さにて前記処理対象画素に焦点が合うと判定されたときには、前記推定画素高さ及び推定画素輝度値を、確定画素高さ及び確定画素輝度値として取得し、前記判定ステップにて前記推定画素高さにて前記処理対象画素に焦点が合わないと判定されたときには、例外的な高さ及び例外的な輝度値を、前記確定画素高さ及び確定画素輝度値として取得する第二の取得ステップと、
を備えたことを特徴とするフォーカス像合成方法。A storing step of storing the luminance at each height on the optical axis of a pixel corresponding to each position on the surface of the measured object obtained using a microscope having an optical system having a confocal effect,
Inquiring the luminance stored in the storing step according to the processing target pixel specifying information that uniquely specifies the processing target pixel, the height on the optical axis estimated to be focused on the processing target pixel And a first acquisition step of acquiring the luminance at that time as an estimated pixel height and an estimated pixel luminance value,
Inquiring the luminance stored in the storing step according to the processing target pixel designation information and the estimated pixel height, to determine whether the processing target pixel is focused at the estimated pixel height. A determining step of determining;
When it is determined in the determination step that the pixel to be processed is in focus at the estimated pixel height, the estimated pixel height and the estimated pixel luminance value are acquired as a determined pixel height and a determined pixel luminance value. When it is determined in the determining step that the processing target pixel is not focused at the estimated pixel height, the exceptional height and the exceptional luminance value are changed to the final pixel height and the final pixel luminance. A second acquisition step to acquire as a value;
A focus image synthesizing method, comprising:
を更に備えたことを特徴とする請求項1記載のフォーカス像合成方法。Based on the determined pixel height and the determined pixel luminance value acquired in the second acquisition step, surface shape information including height information at a pixel corresponding to each position on the surface of the measured object; A generation step of generating surface luminance information composed of luminance information in a pixel corresponding to each position on the measurement object surface,
2. The focus image synthesizing method according to claim 1, further comprising:
前記処理対象画素において焦点の合う光軸上の高さで輝度が最高値になることに基づいて、前記処理対象画素に焦点が合うと推定される光軸上の高さ及びそのときの輝度を求める、
ことを特徴とする請求項1記載のフォーカス像合成方法。In the first obtaining step,
Based on the fact that the luminance at the height on the optical axis where the focus is focused on the processing target pixel is the highest value, the height on the optical axis estimated to be focused on the processing target pixel and the luminance at that time are calculated. Ask,
2. The focus image synthesizing method according to claim 1, wherein:
前記処理対象画素についての光軸上の高さに対する輝度変化が、焦点の合う光軸上の高さを頂点とした単峰性を有することに基づいて、前記処理対象画素に焦点が合うと推定される光軸上の高さ及びそのときの輝度を求める、
ことを特徴とする請求項1記載のフォーカス像合成方法。In the first obtaining step,
The luminance change with respect to the height on the optical axis for the processing target pixel is estimated to be in focus on the processing target pixel based on the fact that the luminance change with respect to the height on the optical axis at which the focus is focused has a single peak. Determine the height on the optical axis and the brightness at that time,
2. The focus image synthesizing method according to claim 1, wherein:
前記処理対象画素についての光軸上の高さに対する輝度変化において、焦点の合う光軸上の高さを頂点とした単峰性のピーク領域とそれ以外の背景領域との輝度変化の差に基づいて、前記推定画素高さにて前記処理対象画素に焦点が合うか否かを判定する、
ことを特徴とする請求項1乃至4の何れか1項に記載のフォーカス像合成方法。In the determining step,
In the luminance change with respect to the height on the optical axis for the processing target pixel, based on the difference between the luminance change between the unimodal peak region having the height on the focused optical axis as the apex and the other background region. Determining whether or not the processing target pixel is in focus at the estimated pixel height,
The focus image synthesizing method according to any one of claims 1 to 4, wherein:
少なくとも、前記判定ステップにて焦点が合うと判定された全ての画素から求められた最低値、最高値、若しくは平均値、固定値、又は前記判定ステップにて焦点が合うと判定された画素から求められた補間値の何れかの値である、
ことを特徴とする請求項1乃至5の何れか1項に記載のフォーカス像合成方法。The exceptional height and exceptional brightness values are:
At least, a minimum value, a maximum value, or an average value, a fixed value, or a fixed value obtained from all the pixels determined to be in focus in the determination step, or a value determined from the pixels determined to be in focus in the determination step. Any of the interpolated values obtained,
The focus image combining method according to claim 1, wherein:
ことを特徴とする請求項1乃至5の何れか1項に記載のフォーカス像合成方法。When the estimated pixel luminance value acquired in the first step is equal to or more than a predetermined value, the estimation pixel height and the estimated pixel luminance value are obtained in the second acquisition step without performing the determination step. Is obtained as the determined pixel height and the determined pixel luminance value,
The focus image combining method according to claim 1, wherein:
共焦点効果を有する光学系を備えた顕微鏡を用いて取得した被測定物表面上の各位置に対応する画素の光軸上の各高さにおける輝度を格納する格納ステップと、
処理対象画素を一意に指定する処理対象画素指定情報に応じて、前記格納ステップにて格納された前記輝度を照会して、前記処理対象画素に焦点が合うと推定される光軸上の高さ及びそのときの輝度を、推定画素高さ及び推定画素輝度値として取得する第一の取得ステップと、
前記処理対象画素指定情報及び前記推定画素高さに応じて、前記格納ステップにて格納された前記輝度を照会して、前記推定画素高さにて前記処理対象画素に焦点が合うか否かを判定する判定ステップと、
該判定ステップにて前記推定画素高さにて前記処理対象画素に焦点が合うと判定されたときには、前記推定画素高さ及び推定画素輝度値を、確定画素高さ及び確定画素輝度値として取得し、前記判定ステップにて前記推定画素高さにて前記処理対象画素に焦点が合わないと判定されたときには、例外的な高さ及び例外的な輝度値を、前記確定画素高さ及び確定画素輝度値として取得する第二の取得ステップと、
を実行させるためのフォーカス像合成プログラム。On the computer,
A storing step of storing the luminance at each height on the optical axis of a pixel corresponding to each position on the surface of the measured object obtained using a microscope having an optical system having a confocal effect,
Inquiring the luminance stored in the storing step according to the processing target pixel specifying information that uniquely specifies the processing target pixel, the height on the optical axis estimated to be focused on the processing target pixel And a first acquisition step of acquiring the luminance at that time as an estimated pixel height and an estimated pixel luminance value,
Inquiring the luminance stored in the storing step according to the processing target pixel designation information and the estimated pixel height, to determine whether the processing target pixel is focused at the estimated pixel height. A determining step of determining;
When it is determined in the determination step that the pixel to be processed is in focus at the estimated pixel height, the estimated pixel height and the estimated pixel luminance value are acquired as a determined pixel height and a determined pixel luminance value. When it is determined in the determining step that the processing target pixel is not focused at the estimated pixel height, the exceptional height and the exceptional luminance value are changed to the final pixel height and the final pixel luminance. A second acquisition step to acquire as a value;
Focus image composition program for executing
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002222951A JP2004061410A (en) | 2002-07-31 | 2002-07-31 | Focal image synthesizing method and its program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002222951A JP2004061410A (en) | 2002-07-31 | 2002-07-31 | Focal image synthesizing method and its program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004061410A true JP2004061410A (en) | 2004-02-26 |
Family
ID=31942843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002222951A Withdrawn JP2004061410A (en) | 2002-07-31 | 2002-07-31 | Focal image synthesizing method and its program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004061410A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010117229A (en) * | 2008-11-12 | 2010-05-27 | Olympus Corp | Height information acquisition apparatus, height information acquisition method, and program |
-
2002
- 2002-07-31 JP JP2002222951A patent/JP2004061410A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010117229A (en) * | 2008-11-12 | 2010-05-27 | Olympus Corp | Height information acquisition apparatus, height information acquisition method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3351992B1 (en) | Micro-spectrometry measurement method and system | |
JP4188624B2 (en) | Image processing method and vision system | |
KR100817656B1 (en) | Image processing method, 3-dimension position measuring method, and image processing device | |
JP5941395B2 (en) | Image acquisition device and focus method of image acquisition device | |
KR20120004991A (en) | System and method for enhanced predictive autofocusing | |
US20210397907A1 (en) | Methods and Systems for Object Detection | |
JP6277290B2 (en) | Confocal microscope with aperture correlation | |
JP4700299B2 (en) | Confocal scanning microscope | |
JPWO2018230098A1 (en) | ENDOSCOPE SYSTEM, METHOD OF OPERATING ENDOSCOPE SYSTEM | |
JP4792214B2 (en) | Image processing method and system for structured light profile of parts | |
JP2008014709A (en) | Image processing apparatus | |
JP4538421B2 (en) | Charged particle beam equipment | |
US20050013478A1 (en) | Microscope system | |
JP5516376B2 (en) | Position specifying device, position specifying method, and program | |
JP6058902B2 (en) | Skin condition analysis method, skin condition analysis apparatus, skin condition analysis system, program for executing the skin condition analysis method, and recording medium recording the program | |
JP2001147110A (en) | Random pattern generating device and its method, distance image generating device and its method, and program providing medium | |
EP2826243B1 (en) | Method and system for identifying depth data associated with an object | |
Yoo et al. | Improved depth extraction method of 3D objects using computational integral imaging reconstruction based on multiple windowing techniques | |
JP2004061410A (en) | Focal image synthesizing method and its program | |
RU2011109181A (en) | ULTRASONIC VISUALIZATION | |
JP2005525863A5 (en) | ||
JP2001005978A (en) | Device and method for extracting object, and program providing medium | |
JP4565845B2 (en) | Cell culture state detector | |
JP5718012B2 (en) | Scanning laser microscope | |
JP2010002758A (en) | Confocal scanning type microscopic system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20051004 |