论文部分内容阅读
摘要: 为降低纳米分辨远场光学共焦成像系统的出错率和提高此系统的实验效率,设计了纳米分辨远场光学共焦成像系统的扫描控制子系统。纳米分辨远场光学共焦成像系统的主要组成器件为纳米移动平台,被测物体置于此平台上随平台移动而运动。如何使被测物体作有规律的运动是实验能否成功的关键。采用VC++开发平台设计的扫描自动控制子系统即为解决这一问题而开发。子系统使用方便、界面友好。
关键词:
共焦成像; 扫描控制; VC++开发平台
中图分类号: O 433 文献标识码: A
引 言
共焦显微镜一种是以光学系统的共焦成像为基础,利用光扫描技术对样品进行动态测量的装置,具有很高的分辨力和层析能力[1]。目前,它已成为半导体,微电子器件,陶瓷元件的生产检测和生物学,医学研究珍断的重要工具[2],为开拓新学科和促进各学科领域向更高层次发展起了重要作用。它利用单点成像,从而突破了限制传统光学显微镜的瑞利衍射极限,大幅度提高了成像分辨力,共焦显微镜有很好的层析能力,采用适当的图像处理技术,对样品纵向连续层析,再将二维图像进行重构,可以得到物体的三维图像,其特点是可以对样品进行断层扫描和成像,进行无损伤观察和分析细胞的三维空间结构[3]。共焦显微镜的横向扫描方式起初以单点扫描为主,之后发展为以nipkow盘扫描和微透镜阵列扫描为主的多点并行扫描等阶段[4]。2011年,官志超等人设计了基于DMD共焦显微并行检测系统,该系统光能利用率高,具有高分辨、非接触、速度快和可柔性测量等优点[5]。
综上所述,实验开展了纳米分辨远场光学共焦成像系统研究,其中控制软件的合理设计可提高系统的自动化程度,既节省时间,又能降低人工操作的出错概率。根据系统的界面控制特点,鉴于VC++在Windows界面开发中的优势,采用VC++设计和开发了控制系统的控制程序和操作子系统。软件平台设计如下[6]:
1 系统硬件介绍
1.1 实验原理
纳米分辨远场光学共焦成像系统采用激光作为光源。在传统光学显微镜的基础上采用了共轭聚焦原理和装置。并利用计算机对所观察的对象进行数字图像处理的一整套观测、分析和输出系统。
系统硬件主要包括激光光源、物镜、纳米移动平台、光电倍增管、计算机等。原理如图1所示。共焦系统利用物镜使光束聚焦形成的小光点对样品逐点成像。该系统采用共轭焦点技术,使光源、被测物点、探测器处于彼此对应的共轭位置,光源经物镜在样品表面锐聚焦成衍射限制的斑点,其反射光再次通过物镜或聚光镜在空间滤波器的共焦针孔平面成像,由靠近像面位置的探测器接收光信号。出于焦面以外的光线在成像针孔前和成像针孔后聚焦,使得焦面以外的光信号被大大抑制,极大地提高了共焦显微镜的纵向分辨力,故共焦显微镜具有很好的层析能力;采用适当的图像处理技术,对样品纵向连续层析,再将二维图像进行重构,可以得到物体的三维图像。共聚焦显微镜常见的扫描方式有三种:一是物体移动,而聚焦在被测物上的光点保持不动;二是利用反射镜构成的扫描系统;三是利用声光偏转器。现采用物体移动的扫描方式,将被扫描的物体放置于PI纳米平台中,通过VC++编程控制纳米平台运动,从而带动被扫描物体的运动,再通过计算机进行控制和操作。
1.2 纳米控制平台介绍
现采用的纳米移动控制平台型号为E-517.i3,由两部分组成:控制器和移动平台,如图2所示。控制器通过输出电压信号来控制三维运动平台在XYZ三个方向上的运动,运动的最大幅度为200 μm。其输出有三个通道a、b、c,其中通道a控制X轴的运动,b控制Y轴,c控制Z轴。
PI控制器通过输出电压信号的变化来控制三维运动平台的运动。实验通过RS232口将计算机和控制器相连。为了让三维运动平台按照要求的方式进行扫描运动,实验前需对控制器进行一些初始设置。设置过程的流程图如图3所示。要实现计算机与控制器间的通信,以及对控制器模式的选择主要用到三个函数:
(1)int PI_ConnectRS232 (int iPortNumber,int iBaudRate)
此函数用途是建立计算机与控制器的连接。如果连接成功将返回控制器的ID值;如果连接失败将返-1。参数iPortNumber是一个整形变量,其含义是连接到控制器上的串口的编号。参数iBaudRate是一个整形变量,其含义是所设置的控制器的波特率。
(2)BOOL PI_ONL (long ID,int iPiezoChannels,int pdValarray,int iArraySize)
此函数的用途是设置控制器的控制模式。参数ID就是控制器的ID值,此值是函数PI_ConnectRS232()返回得来的。参数iPiezoChannels是一个整形变量,此变量的含义是选择要设置的控制器的通道,控制器总共有三个通道,其中数字‘1’代表通道1,‘2’代表通道2,‘3’代表通道3。参数pdValarray是一个整形变量,用来设置通道的工作模式,‘0’代表非联机模式,‘1’代表联机模式。参数iArraySize也是一个整形变量,此变量用来显示数组的大小,因为现要同时对三个通道进行控制模式的设置,即将参数iPiezoChannels设置为一个维数为三的整形数组,所以此时此整形变量应设置为常数3。
(3)BOOL PI_SVO (int ID,char szAxes,BOOL pbValueArray)
此函数用来设置控制器的伺服模式。通过此函数,可设置控制器工作在开环模式或闭环模式。参数ID就是控制器的ID值,此值是函数PI_ConnectRS232()返回得来的。参数szAxes是一个字符类型的变量,其值由函数PI_qSAI()返回得来,用来存放被选定的三维纳米平台的运动方向的标识符,其中‘a’代表X轴,‘b’代表Y轴,‘c’代表Z轴。如果返回abc,说明此纳米平台为三维运动平台,能在XYZ三个方向上进行运动。由于所选用纳米平台的类型为三维运动平台,因此当调用函数PI_qSAI()时,将返回abc。参数pbValueArray是一个布尔类型的变量,通过对此变量的设置,可以选择控制器的伺服模式,其中true代表闭环模式,false代表开环模式。 现选择采用联机模式,在调用函数PI_ONL()时只需将参数pdValarray设置为“1”即可。只需调用函数PI_SVO(),并且将参数pbValueArray设置为true即可。初始设置完成以后就可以通过计算机输入命令,控制纳米平台的运动。此时的纳米平台将会在默认的速率下运动,这个默认速率会比要求的速度快或者慢。
2.2 扫描速率设置
扫描速率是指纳米平台从初始位置运动到目标位置的运动速率,它是否合理直接影响实验的最终结果。现必须对纳米平台的扫描速率[7]进行设置,才能在一个合理的范围内找个一到最佳的点,将纳米平台的速率设置在这个点上时,随即得到最理想的实验结果。软件设计的思路如图4所示。
由图4可知,要想对纳米平台的扫描速率进行设置,首先需要打开速率控制模块,只有在速率控制模块打开成功的前提下才能对纳米平台的运动速率进行设置,同时纳米平台为三维运动平台,现必须对三个方向的速率同时进行设置。在此过程中主要用到两个函数PI_VCO()和PI_VEL(),下面分别介绍这两个函数。
(1)BOOL PI_VCO
此函数用来设置速率控制模块“打开”或“关闭”两种状态,当处于“打开”状态时,当前轴将会在所设置速率的状态下运动,参数ID为控制器的ID号,由上文可知,ID号是由函数PI_ConnectRS232()返回得来的。参数szAxes是一个字符类型的变量,用来存放被选定的三维纳米平台的标识符,其中‘a’代表X轴,‘b’代表Y轴,‘c’代表Z轴。参数pbValueArray是一个布尔类型的变量,通过对此变量的设置可以选择速率控制模块的打开或者关闭状态。其中‘true’代表打开状态,‘false’代表关闭状态。
(2)BOOL PI_VEL
此函数用来设置纳米平台的扫描速率,它可以同时对纳米平台在X、Y、Z轴三个方向上的运动速率同时进行设置。参数ID代表控制器的ID号,由上文可知,此ID号是由函数PI_ConnectRS232()返回得来的。参数szAxes是一个字符类型的变量,是用来存放被选定的三维纳米平台运动方向的标识符,其中‘a’代表X轴,‘b’代表Y轴,‘c’代表Z轴。参数PdValueArray是一个双精度类型的变量,此变量是用来接收由对话框所输入的要设置的扫描速率的大小。
通过上面对函数用途和参数的介绍,现只需调用函数PI_VCO(),并且将true送给布尔类型的变量pbValueArray,同时,将由函数PI_ConnectRS232()返回得来的ID和由函数PI_qSAI()返回得来szAxes送给相应的变量,此时速率控制模块便可以成功打开。现还需要调用函数PI_VEL(),并且将由函数GetDlgItemText()和函数atof()从编辑框控件中转化得来的浮点型的数值送给参数pdValueArray,这样纳米平台的扫描速率便可以成功设定。
2.3 运动控制与实时显示
初始设置和扫面速率设置成功完成以后,就可以通过指令控制纳米平台的运动了。首先,在对话框中加入三个编辑框控件,此编辑框控件分别用来接收纳米平台在三个轴方向上将要运动到的目标位置,然后再添加一个按钮控件,在此按钮控件的消息响应函数中加载纳米平台的扫描运动函数PI_MOV(),下面重点介绍这个函数。
BOOL PI_MOV (int ID,char szAxes,double pdValueArray)
此函数的作用是如果所设定的目标位置在纳米平台所能到达的最大幅度之内的话,将驱动纳米平台向着所设定的目标位置运动,此时函数返回‘真’,否则,将返回‘假’。参数ID为控制器的ID号,由上文可知,此ID号是由函数PI_ConnectRS232()返回得来的。参数 szAxes是一个字符类型的变量,是用来存放被选定的三维纳米平台运动方向的标识符,其中‘a’代表X轴,‘b’代表Y轴,‘c’代表Z轴。参数PdValueArray是一个双精度类型的变量,此变量用来接收由对话框所输入的纳米平台所要运动到的目标位置。
BOOL PI_qPOS (int ID,char szAxes,double pdValueArray)
此函数是用来得到纳米平台当前时刻在XYZ三个方向上的位置坐标,并将此位置保存在参数pdValueArray中。参数ID为控制器的ID号,由上文可知,此ID号是由函数PI_ConnectRS232()返回得来的。参数szAxes是一个字符类型的变量,是用来存放被选定的三维纳米平台运动方向的标识符,其中‘a’代表X轴,‘b’代表Y轴,‘c’代表Z轴。参数 pdValueArray是一个双精度类型的变量,此变量用来接收由函数PI_qPOS ()返回的来的纳米平台的当前坐标。
通过对函数PI_qPOS()的介绍可知,此函数来可以得到纳米平台的当前坐标,则只要每隔一个时间段就执行一次这个函数,纳米平台的位置便可以实时动态的显示出来。可以利用CWnd类中SetTimer()这个函数,通过这个函数设置时间间隔的大小,此时间间隔默认单位为ms,若这个函数的回调函数设置为空,将会使用系统默认的onTime()这个回调函数,在ClassWizard里,选择CPi_movefirstDlg类,添加WM_TIME消息映射,就自动生成onTime函数,然后在这个函数中加载函数PI_qPOS(),这样只要设置合理的时间间隔,纳米平台的当前位置便能实时动态的显示到对话框窗口中。
2.4 扫描方式选择
当被观察的物体放置在纳米平台上进行扫描时,总是希望被扫描的物体能够进行有规律的扫描运动,只有这样物体上被扫描的点与光电倍增管上接受到的光信号才有可能吻合起来,从而提高实验的精确度,减少实验误差,进而提高被观测样本的分辨力。现根据纳米平台的运动控制,编写了几种波形,当被测样品固定于纳米平台上时,可根据实际情况选择一种或几种波形做扫描运动。 首先,添加了两个编辑框控件,通过此编辑框控件可以限定被测物体在一个二维(XY)平面上的扫描范围,然后分别设置在X、Y方向上的步距。现有扫描范围和步距,就得到了在此二维平面上被扫描的点数。设置好扫描范围和步距以后,被测的点数就应单直接返回对话框窗口中,接下来就可以选择波形从而使被测物体按照此波形做扫描运动。
操作控制界面整体效果如图5、图6所示,图5左侧主要包括初始设置、图扫描速率设置、目标位置。右侧主要包含实时显示、波形选择。图6为整个实验装置实物图。
3 结 论
文中设计了纳米分辨远场光学共焦成像系统的扫描控制子系统,纳米分辨远场光学共焦成像系统的主要组成器件为纳米移动平台。为了实现成像系统实验的方便快捷,降低出错概率,提高实验效率,鉴于VC++软件丰富的类库和API函数库、界面编制灵活等特点,现采用VC++开发平台设计了扫描控制子系统。该子系统经测试检验,运行正常,使用方便,界面友好,有助于实现纳米分辨远场光学共焦成像系统的自动控制。
参考文献:
[1] 李 楠,王黎明,杨 军.激光共聚焦显微镜的原理和应用[J].解放军进修学院学报,1996,25(9):232-234.
[2] BRAKENHOFF G T.Three dimensional imaging in fluorescence by confocal scanning microscopy[J].Micros,1989,153(2):151-159.
[3] 李 楠,尹 岭,苏振伦.激光扫描共聚焦显微术[M].北京:人民军医出版社,1997:111-114.
[4] XIAO G Q,KING G S.A real-time scanning optical microscope[J].SPIE,1987,809:107-113.
[5] 官志超,张运波,侯文玫.基于数字微镜的共焦显微系统的光路设计[J].光学仪器,2011,33(3):57-61.
[6] 褚福涛,黄 平.基于VC++的GPIB仪器控制库的设计[J].工业控制计算机,2005,18(7):36-37.
[7] 刘 军.基于VC++的频谱分析仪自动测试系统开发[J].计测技术,2004,31(11):22-24.
关键词:
共焦成像; 扫描控制; VC++开发平台
中图分类号: O 433 文献标识码: A
引 言
共焦显微镜一种是以光学系统的共焦成像为基础,利用光扫描技术对样品进行动态测量的装置,具有很高的分辨力和层析能力[1]。目前,它已成为半导体,微电子器件,陶瓷元件的生产检测和生物学,医学研究珍断的重要工具[2],为开拓新学科和促进各学科领域向更高层次发展起了重要作用。它利用单点成像,从而突破了限制传统光学显微镜的瑞利衍射极限,大幅度提高了成像分辨力,共焦显微镜有很好的层析能力,采用适当的图像处理技术,对样品纵向连续层析,再将二维图像进行重构,可以得到物体的三维图像,其特点是可以对样品进行断层扫描和成像,进行无损伤观察和分析细胞的三维空间结构[3]。共焦显微镜的横向扫描方式起初以单点扫描为主,之后发展为以nipkow盘扫描和微透镜阵列扫描为主的多点并行扫描等阶段[4]。2011年,官志超等人设计了基于DMD共焦显微并行检测系统,该系统光能利用率高,具有高分辨、非接触、速度快和可柔性测量等优点[5]。
综上所述,实验开展了纳米分辨远场光学共焦成像系统研究,其中控制软件的合理设计可提高系统的自动化程度,既节省时间,又能降低人工操作的出错概率。根据系统的界面控制特点,鉴于VC++在Windows界面开发中的优势,采用VC++设计和开发了控制系统的控制程序和操作子系统。软件平台设计如下[6]:
1 系统硬件介绍
1.1 实验原理
纳米分辨远场光学共焦成像系统采用激光作为光源。在传统光学显微镜的基础上采用了共轭聚焦原理和装置。并利用计算机对所观察的对象进行数字图像处理的一整套观测、分析和输出系统。
系统硬件主要包括激光光源、物镜、纳米移动平台、光电倍增管、计算机等。原理如图1所示。共焦系统利用物镜使光束聚焦形成的小光点对样品逐点成像。该系统采用共轭焦点技术,使光源、被测物点、探测器处于彼此对应的共轭位置,光源经物镜在样品表面锐聚焦成衍射限制的斑点,其反射光再次通过物镜或聚光镜在空间滤波器的共焦针孔平面成像,由靠近像面位置的探测器接收光信号。出于焦面以外的光线在成像针孔前和成像针孔后聚焦,使得焦面以外的光信号被大大抑制,极大地提高了共焦显微镜的纵向分辨力,故共焦显微镜具有很好的层析能力;采用适当的图像处理技术,对样品纵向连续层析,再将二维图像进行重构,可以得到物体的三维图像。共聚焦显微镜常见的扫描方式有三种:一是物体移动,而聚焦在被测物上的光点保持不动;二是利用反射镜构成的扫描系统;三是利用声光偏转器。现采用物体移动的扫描方式,将被扫描的物体放置于PI纳米平台中,通过VC++编程控制纳米平台运动,从而带动被扫描物体的运动,再通过计算机进行控制和操作。
1.2 纳米控制平台介绍
现采用的纳米移动控制平台型号为E-517.i3,由两部分组成:控制器和移动平台,如图2所示。控制器通过输出电压信号来控制三维运动平台在XYZ三个方向上的运动,运动的最大幅度为200 μm。其输出有三个通道a、b、c,其中通道a控制X轴的运动,b控制Y轴,c控制Z轴。
PI控制器通过输出电压信号的变化来控制三维运动平台的运动。实验通过RS232口将计算机和控制器相连。为了让三维运动平台按照要求的方式进行扫描运动,实验前需对控制器进行一些初始设置。设置过程的流程图如图3所示。要实现计算机与控制器间的通信,以及对控制器模式的选择主要用到三个函数:
(1)int PI_ConnectRS232 (int iPortNumber,int iBaudRate)
此函数用途是建立计算机与控制器的连接。如果连接成功将返回控制器的ID值;如果连接失败将返-1。参数iPortNumber是一个整形变量,其含义是连接到控制器上的串口的编号。参数iBaudRate是一个整形变量,其含义是所设置的控制器的波特率。
(2)BOOL PI_ONL (long ID,int iPiezoChannels,int pdValarray,int iArraySize)
此函数的用途是设置控制器的控制模式。参数ID就是控制器的ID值,此值是函数PI_ConnectRS232()返回得来的。参数iPiezoChannels是一个整形变量,此变量的含义是选择要设置的控制器的通道,控制器总共有三个通道,其中数字‘1’代表通道1,‘2’代表通道2,‘3’代表通道3。参数pdValarray是一个整形变量,用来设置通道的工作模式,‘0’代表非联机模式,‘1’代表联机模式。参数iArraySize也是一个整形变量,此变量用来显示数组的大小,因为现要同时对三个通道进行控制模式的设置,即将参数iPiezoChannels设置为一个维数为三的整形数组,所以此时此整形变量应设置为常数3。
(3)BOOL PI_SVO (int ID,char szAxes,BOOL pbValueArray)
此函数用来设置控制器的伺服模式。通过此函数,可设置控制器工作在开环模式或闭环模式。参数ID就是控制器的ID值,此值是函数PI_ConnectRS232()返回得来的。参数szAxes是一个字符类型的变量,其值由函数PI_qSAI()返回得来,用来存放被选定的三维纳米平台的运动方向的标识符,其中‘a’代表X轴,‘b’代表Y轴,‘c’代表Z轴。如果返回abc,说明此纳米平台为三维运动平台,能在XYZ三个方向上进行运动。由于所选用纳米平台的类型为三维运动平台,因此当调用函数PI_qSAI()时,将返回abc。参数pbValueArray是一个布尔类型的变量,通过对此变量的设置,可以选择控制器的伺服模式,其中true代表闭环模式,false代表开环模式。 现选择采用联机模式,在调用函数PI_ONL()时只需将参数pdValarray设置为“1”即可。只需调用函数PI_SVO(),并且将参数pbValueArray设置为true即可。初始设置完成以后就可以通过计算机输入命令,控制纳米平台的运动。此时的纳米平台将会在默认的速率下运动,这个默认速率会比要求的速度快或者慢。
2.2 扫描速率设置
扫描速率是指纳米平台从初始位置运动到目标位置的运动速率,它是否合理直接影响实验的最终结果。现必须对纳米平台的扫描速率[7]进行设置,才能在一个合理的范围内找个一到最佳的点,将纳米平台的速率设置在这个点上时,随即得到最理想的实验结果。软件设计的思路如图4所示。
由图4可知,要想对纳米平台的扫描速率进行设置,首先需要打开速率控制模块,只有在速率控制模块打开成功的前提下才能对纳米平台的运动速率进行设置,同时纳米平台为三维运动平台,现必须对三个方向的速率同时进行设置。在此过程中主要用到两个函数PI_VCO()和PI_VEL(),下面分别介绍这两个函数。
(1)BOOL PI_VCO
此函数用来设置速率控制模块“打开”或“关闭”两种状态,当处于“打开”状态时,当前轴将会在所设置速率的状态下运动,参数ID为控制器的ID号,由上文可知,ID号是由函数PI_ConnectRS232()返回得来的。参数szAxes是一个字符类型的变量,用来存放被选定的三维纳米平台的标识符,其中‘a’代表X轴,‘b’代表Y轴,‘c’代表Z轴。参数pbValueArray是一个布尔类型的变量,通过对此变量的设置可以选择速率控制模块的打开或者关闭状态。其中‘true’代表打开状态,‘false’代表关闭状态。
(2)BOOL PI_VEL
此函数用来设置纳米平台的扫描速率,它可以同时对纳米平台在X、Y、Z轴三个方向上的运动速率同时进行设置。参数ID代表控制器的ID号,由上文可知,此ID号是由函数PI_ConnectRS232()返回得来的。参数szAxes是一个字符类型的变量,是用来存放被选定的三维纳米平台运动方向的标识符,其中‘a’代表X轴,‘b’代表Y轴,‘c’代表Z轴。参数PdValueArray是一个双精度类型的变量,此变量是用来接收由对话框所输入的要设置的扫描速率的大小。
通过上面对函数用途和参数的介绍,现只需调用函数PI_VCO(),并且将true送给布尔类型的变量pbValueArray,同时,将由函数PI_ConnectRS232()返回得来的ID和由函数PI_qSAI()返回得来szAxes送给相应的变量,此时速率控制模块便可以成功打开。现还需要调用函数PI_VEL(),并且将由函数GetDlgItemText()和函数atof()从编辑框控件中转化得来的浮点型的数值送给参数pdValueArray,这样纳米平台的扫描速率便可以成功设定。
2.3 运动控制与实时显示
初始设置和扫面速率设置成功完成以后,就可以通过指令控制纳米平台的运动了。首先,在对话框中加入三个编辑框控件,此编辑框控件分别用来接收纳米平台在三个轴方向上将要运动到的目标位置,然后再添加一个按钮控件,在此按钮控件的消息响应函数中加载纳米平台的扫描运动函数PI_MOV(),下面重点介绍这个函数。
BOOL PI_MOV (int ID,char szAxes,double pdValueArray)
此函数的作用是如果所设定的目标位置在纳米平台所能到达的最大幅度之内的话,将驱动纳米平台向着所设定的目标位置运动,此时函数返回‘真’,否则,将返回‘假’。参数ID为控制器的ID号,由上文可知,此ID号是由函数PI_ConnectRS232()返回得来的。参数 szAxes是一个字符类型的变量,是用来存放被选定的三维纳米平台运动方向的标识符,其中‘a’代表X轴,‘b’代表Y轴,‘c’代表Z轴。参数PdValueArray是一个双精度类型的变量,此变量用来接收由对话框所输入的纳米平台所要运动到的目标位置。
BOOL PI_qPOS (int ID,char szAxes,double pdValueArray)
此函数是用来得到纳米平台当前时刻在XYZ三个方向上的位置坐标,并将此位置保存在参数pdValueArray中。参数ID为控制器的ID号,由上文可知,此ID号是由函数PI_ConnectRS232()返回得来的。参数szAxes是一个字符类型的变量,是用来存放被选定的三维纳米平台运动方向的标识符,其中‘a’代表X轴,‘b’代表Y轴,‘c’代表Z轴。参数 pdValueArray是一个双精度类型的变量,此变量用来接收由函数PI_qPOS ()返回的来的纳米平台的当前坐标。
通过对函数PI_qPOS()的介绍可知,此函数来可以得到纳米平台的当前坐标,则只要每隔一个时间段就执行一次这个函数,纳米平台的位置便可以实时动态的显示出来。可以利用CWnd类中SetTimer()这个函数,通过这个函数设置时间间隔的大小,此时间间隔默认单位为ms,若这个函数的回调函数设置为空,将会使用系统默认的onTime()这个回调函数,在ClassWizard里,选择CPi_movefirstDlg类,添加WM_TIME消息映射,就自动生成onTime函数,然后在这个函数中加载函数PI_qPOS(),这样只要设置合理的时间间隔,纳米平台的当前位置便能实时动态的显示到对话框窗口中。
2.4 扫描方式选择
当被观察的物体放置在纳米平台上进行扫描时,总是希望被扫描的物体能够进行有规律的扫描运动,只有这样物体上被扫描的点与光电倍增管上接受到的光信号才有可能吻合起来,从而提高实验的精确度,减少实验误差,进而提高被观测样本的分辨力。现根据纳米平台的运动控制,编写了几种波形,当被测样品固定于纳米平台上时,可根据实际情况选择一种或几种波形做扫描运动。 首先,添加了两个编辑框控件,通过此编辑框控件可以限定被测物体在一个二维(XY)平面上的扫描范围,然后分别设置在X、Y方向上的步距。现有扫描范围和步距,就得到了在此二维平面上被扫描的点数。设置好扫描范围和步距以后,被测的点数就应单直接返回对话框窗口中,接下来就可以选择波形从而使被测物体按照此波形做扫描运动。
操作控制界面整体效果如图5、图6所示,图5左侧主要包括初始设置、图扫描速率设置、目标位置。右侧主要包含实时显示、波形选择。图6为整个实验装置实物图。
3 结 论
文中设计了纳米分辨远场光学共焦成像系统的扫描控制子系统,纳米分辨远场光学共焦成像系统的主要组成器件为纳米移动平台。为了实现成像系统实验的方便快捷,降低出错概率,提高实验效率,鉴于VC++软件丰富的类库和API函数库、界面编制灵活等特点,现采用VC++开发平台设计了扫描控制子系统。该子系统经测试检验,运行正常,使用方便,界面友好,有助于实现纳米分辨远场光学共焦成像系统的自动控制。
参考文献:
[1] 李 楠,王黎明,杨 军.激光共聚焦显微镜的原理和应用[J].解放军进修学院学报,1996,25(9):232-234.
[2] BRAKENHOFF G T.Three dimensional imaging in fluorescence by confocal scanning microscopy[J].Micros,1989,153(2):151-159.
[3] 李 楠,尹 岭,苏振伦.激光扫描共聚焦显微术[M].北京:人民军医出版社,1997:111-114.
[4] XIAO G Q,KING G S.A real-time scanning optical microscope[J].SPIE,1987,809:107-113.
[5] 官志超,张运波,侯文玫.基于数字微镜的共焦显微系统的光路设计[J].光学仪器,2011,33(3):57-61.
[6] 褚福涛,黄 平.基于VC++的GPIB仪器控制库的设计[J].工业控制计算机,2005,18(7):36-37.
[7] 刘 军.基于VC++的频谱分析仪自动测试系统开发[J].计测技术,2004,31(11):22-24.