- 博客(24)
- 收藏
- 关注
原创 偏振测量——典型光学元件的穆勒矩阵
在数学上即可考虑到用一个4*4的矩阵描述该器件对光的偏振态的影响,这个矩阵就是穆勒矩阵。斯托克斯向量(Stokes Vector)为1*4向量,可用于描述偏振光的状态,其四个元素分别代表总光强S0,垂直或水平方向线偏振分量S1,正负45度线偏振分量S2,圆偏振分量S3。玻片(waveplate 或补偿器compensator 或延迟器retarder),其中phi为玻片的延迟量,快轴角度为0。另外,穆勒矩阵的旋转矩阵如下,其中theta为旋转角度。线性偏振片(偏振方向为0度)以下python代码。
2025-01-04 18:31:12
1340
原创 成像系统——分辨率靶USAF1951
常规分辨率靶的组号通常为0-7(以Thorlabs为例),也就是能表征的分辨率范围为2.192um~500um。Ready Optics的极端分辨率靶可以到11组6,最高能表征137nm的分辨率。分辨率靶是用来进行成像系统分辨率测试的重要工具,以USAF1951为代表的分辨率靶是最为常用的。可以看到,分辨率靶中的每三条等间隔的线构成一个图案,旁边有一个数字标志对应的序号(Element Number),每6个相邻的图案构成一组,旁边有一个数字标志对应的组号(Group Number)如下。
2025-01-04 14:31:56
1673
原创 成像系统——高斯光束【显微镜的分辨率和景深】
高斯光束,及在垂直光轴的面上,光强分布均为高斯分布。M^2为激光的质量因子,理想光束取值为1,通常的激光光束取值在1-1.2左右;式中,P为光的总功率,w为光强边界(光轴上光强的1/e^2)到光轴的距离;如下图所示,这个双曲线可以分为两个部分,在远离焦平面处,可以近似为直线(几何光学),而在焦平面附近处的非直线区域是我们关注的重点。在瑞利长度处,光斑尺寸为束腰的根号2倍,即光斑面积是焦平面处的2倍。焦平面上,高斯光束的光强边界(光轴上光强的1/e^2)到光轴的距离称为。,在一定程度上可认为是显微系统的。
2024-11-17 19:42:24
926
原创 成像系统——液滴光束技术【大景深高对比度】
对于普通的显微成像系统来说,其光束使用高斯模型来描述,景深为瑞利长度的二倍,景深非常有限:光束被物镜聚焦后快速发散。贝塞尔(Bessel)光束在一定传输距离内,具有无衍射特性,非常适合大景深成像,相对高斯光束可把景深扩展几十倍。但贝塞尔光束的一个缺点是存在旁瓣(Side Lobes),导致信噪比也就是对比度的降低。近年来,液滴光束(Droplet Beam)作为可以进行贝塞尔旁瓣抑制的新技术开始进入研究者的视野。但需要注意的是,液滴光束技术在增强对比度的同时,会在一定程度上降低景深。
2024-11-17 10:20:20
451
原创 矩阵转置 Matlab与Numpy差异,复数慎重
最近在尝试将一些Matlab代码转为Python,踩了一些意想不到的坑。矩阵转置,Matlab可以非常简单的通过加一撇来实现,例如。看起来和Python里的transpose()功能一样。但当处理复数矩阵时,就理所当然的踩坑了。
2024-11-15 22:06:58
368
1
原创 Python编辑pdf文件——PyPDF2
PyPDF2最主要的函数是读文件(PdfReader)和写文件(PdfWriter)。读取文件后,可通过pages函数读取文件页数,通过add_page函数把页面加到文件中。此外还有页面旋转(rotate)和本文提取(extract_text)等功能。PyPDF2库可有效对pdf进行页面编辑,网上搜到的大多是PyPDF库的使用方法,而两者语法又有较大的区别,相对来说PyPDF2简单易用,这里介绍其基础使用方法,可满足大多数的应用。
2024-06-20 10:09:25
1012
原创 干涉测量——干涉仪常见7种类型汇总
干涉仪利用光的相干性,通过干涉原理对目标进行探测,具有高精度、高灵敏度、非接触等特点。这里主要汇总一些常见的类型的干涉仪,介绍其基本信息。一些特殊的干涉仪(如剪切干涉仪)会在之后介绍。
2024-05-05 10:55:19
2259
原创 光学器件——衰减器三类
棱镜式的分光镜包含偏振式和非偏振式两种,这里先讨论非偏振式分光镜,由两片直角棱镜胶合而成,其中一个棱镜斜面上镀有分光膜(麓邦光学商品页图片如下,黑点表示该棱镜有分光膜)。包含偏振片或玻片,通过控制偏振片或玻片的方向可以连续调节光的衰减,且调节精度主要取决于偏振方向的控制,是较为精确的。光学强度衰减有几种器件,主要包括中性密度滤光片,分光镜,偏振衰减器,但其原理都是通过使用吸收或反射的原理进行光衰减。需要注意的是,中性密度滤光片,其在不同波长上的光衰减有所差异,在高精度的情况下需要特别注意。
2024-05-04 20:56:00
1500
原创 干涉测量——光源相干长度
相干性是激光光源的重要特性,是干涉测量的基础。所以在干涉测量中,通常是使用一个光源进行分束,来保证其波长和偏振相同,此外还有一个重要的原因,就是相干长度(Coherence Length)。从这个公式可以看出,光源的单色性越好,其相干长度越大。例如,多模氦氖激光器的典型相干长度为20厘米,而单模激光器的相干长度可以超过100米。相干长度的测量可使用迈克尔逊干涉仪,通过调节两束光的光程差,观察干涉条纹从出现到消失的距离。相干长度,按照字面理解就是,当光程差超出该长度后,两束光无法发生干涉。
2024-05-04 13:23:37
5410
原创 成像系统——艾里斑及贝塞尔函数的Python实现
艾里斑(Airy Disc 或Airy Pattern)在显微系统中,描述焦点处的光斑形状,即中间是一个亮斑,周围有一系列逐渐减弱的明暗相间的圆环。艾里斑是光学衍射造成的,一个点光源通过成像系统后在像面形成一个艾里斑,则可以说该系统的点扩散函数(point spread function,PSF)即为艾里斑。函数第一个参数为计算的阶数,这里计算艾里斑需要设置为1,第二项为自变量。艾里斑可用于评价一个显微成像系统的分辨率,例如其引申出来的瑞利判据(Rayleigh Criterion)。
2024-05-03 22:22:15
1619
1
原创 成像系统——三种分辨率判据Rayleigh,Abbe,Sparrow
通过这个定义可以看出,分辨率是一种较为主观的参数,物上两个点被探测后怎样才能算作“能区分”,这个程度是需要人为定义的。最常见的就是瑞利判据(Rayleigh Criterion),此外还有阿贝判据(Abbe Criterion)和斯派洛判据(Sparrow Criterion),根据这三种判据定义的分辨率公式如下表,分辨率由波长lambda和数值孔径NA决定,形式一致,只是系数有所不同。需要注意的是,同一个系统,使用瑞利判据时,其分辨率数值最大(最差),使用斯派洛判据时,其分辨率数值最小(最好)。
2024-05-03 21:51:47
5482
1
原创 Python截图功能
当两个程序消息不互通,又要同步记录其显示结果的时候,截图保存数据是一种折中的办法,尤其是需要长时间等间隔的测试条件。ImageGrab.grab() 函数默认截图整个屏幕,可设置bbox参数来确定矩形截图区域。Python的PIL中ImageGrab含有截图功能。
2024-05-02 20:33:07
473
2
原创 Python文件夹操作os
4.获取文件或文件夹信息,包括创建时间os.path.getctime(),修改时间os.path.getmtime(),访问时间os.path.getatime()。注意,返回的时间为一个float数值,单位为秒,该数值相对的起始时间是1970年1月1日零点,可通过time.ctime()将其转为可读的日期。5.读取某个文件夹中的文件列表,直接在os.listdir中输入文件夹的路径。2.创建某个文件夹。3.文件路径合并os.path.join(),将文件夹路径和其中的某个文件名结合,得到该文件的路径。
2024-05-02 20:32:11
140
1
原创 总体标准差和样本标准差,numpy和excel对比
可以看到,相同的数据下,样本标准差明显会更大一些,这是由于样本标准差的样本量N只是总体中的一部分,为了实现无偏,要将其稍增大。根据公式可以看出,当样本量N趋于无穷大时,两种标准差是等价的。以运动轴为例,通用的测试方法是令其在一定范围内往复运动5次,记录经过一些等间距点(通常是7个点)时的实际位置,然后分析这5次的标准差。Excel中的标准差函数较为明确,STDEV用于计算样本标准差,STDEV.P用于计算总体标准差。如下计算1和-1的总体标准差和样本标准差,输出分别为1和1.414。
2024-04-04 12:19:17
937
1
原创 光谱测量——米氏散射计算Matlab代码
米氏散射的计算非常复杂,限制了其在一般场景的应用。这里附上matlab的计算代码,欢迎大家使用。如下代码与参考文献中的代码相比,经过少许简化。,d为颗粒直径,lambda为波长。
2024-02-18 21:26:07
3493
3
原创 光谱测量——夫琅禾费线
夫琅禾费线(Fraunhofer lines)是天体光谱学常用的一个概念,描述恒星光谱中的暗线,也就是吸收谱线。这个现象最初是由英国科学家沃拉斯顿(William Hyde Wollaston)在1802年发现的,但是德国科学家夫琅禾费(Joseph von Fraunhofer)在1814年指出了500多条线并做了系统的命名,于是就以他的名字对这些光谱暗线进行命名。整个太阳吸收光谱也被称为夫琅禾费光谱,主要是由太阳中存在的元素导致的吸收谱线,在295nm-1000nm波段大概存在25000条谱线。
2024-02-18 21:20:18
2014
原创 偏振测量——光的折射 Snell和Fresnel公式
奥古斯丁·让·菲涅耳(Augustin-Jean Fresnel,1788年5月10日-1827年7月14日),法国物理学家。进一步提出了Fresnel公式,可计算光的透射率和反射率。威里布里德·斯涅耳(Willebrord van Royen Snell, 1580-1626年),荷兰莱顿人,数学家和物理学家。光的折射领域,有两个以科学家命名的公式,Senll公式和Fresnel公式,名字非常接近。需要注意的是,无论p光还是s光,其反射系数和透射系数的和均为1。对于p偏振光,其反射系数和透射系数分别为。
2024-02-13 21:23:28
1739
1
原创 光场调制——光斑匀化器件
激光光源通常为高斯分布,LED光源通常为朗伯分布,即垂直于光传播方向的界面上,光强分布是不均匀的。但是某些场景下要求获取均匀分布的光斑,这里简要介绍几种光斑匀化器件,包括毛玻璃、散射片、工程漫射体、DOE衍射光学元件、MLA微镜阵列、CPC复合抛物面镜、积分球。前两者主要是利用光的散射,中间两者利用光的衍射,后两者利用光的多次折射。
2024-02-13 20:20:18
1869
1
原创 光谱测量——光栅方程
光栅选型有一个重要的参数是刻线数N,即1mm内有多少个周期,因为光栅一个重要的加工方式就是机械刻画,N可以直接由d计算而来,常用的光栅刻线数通常为几百至一千。从公式来看,N越大时,d越小,两个相邻波长的衍射角区分越开,即光栅分辨率越好,通常用R=nN来表示不同衍射级次光栅的分辨率。2.多个不同参数的光栅在不同波长区域检测。光栅具有周期性微纳结构,根据光栅周期相对于工作波长,可将其分为三类,其中周期在波长的0.2倍至2倍的称为共振域光栅;为衍射角,d为光栅周期,也被称为光栅常数,n为光栅衍射级次,
2024-02-11 22:47:51
2260
1
原创 光谱测量——光谱仪波长标定测试方法
最常用的标准光源是汞氩灯(指低压汞灯,区别于常用于照明的高压汞灯),其发光光谱为数个尖锐的峰构成,每个峰对应的波长都有理论值且光谱宽度可以认为是0,所以非常适合做光谱仪的测试和标定。汞和几种惰性气体(氖、氩、氪、氙)可以分别独立或组合作为标准光源,其适合的波长范围如下表。以上罗列的光源可以用于测试光谱仪的波长准确性,还可以用于光谱仪的标定和校准。对于使用光栅分光的光谱仪来说,不同波长的光照射在线传感器上,其位置与波长的关系并不是线性的。其中p为不同波长对应的像素位置,I、c1、c2、c3为待拟合的常量。
2024-02-02 23:39:18
2798
原创 光谱测量——色散方程
其中塞米尔公式主要适用于透明且无吸收的材料,柯西公式是一个经验公式,可以认为是塞米尔公式的近似,但其还可以用于描述有少量吸收的透明材料。当讨论某种介质的折射率时,通常是一个定值,比如空气折射率是1,水的折射率是1.33。然而不同波长的光在同一种介质中的折射率是不同的,该现象称之为色散(Dispersion)。需要注意的是,柯西公式和塞米尔公式都是由多项式构成,项数越多计算越准,但是会导致需要拟合的参数太多,增加难度,所以通常只保留2-4项。塞米尔公式如下,其中A和B均为常数,
2024-01-24 20:07:50
3079
原创 光谱测量——比尔朗伯定律和米氏散射
光谱仪做物质成分定量分析时,比尔朗伯定律是其理论基础,而当溶质为颗粒时,则需要使用米氏散射理论判断尺寸参数对消光系数的影响。本文讨论了比尔朗伯定律的几种形式,以及对米氏散射理论的一般理解。
2024-01-21 21:17:59
4293
2
原创 matlab设置生成图片,调大小,比例
图片生成语句后,通过set(gca, 'position',[])可以调节图片大小。尤其是只有几个像素的图片,自动生成的尺寸很小,可以通过这个函数来调节大小set (gca,'position',[0.1,0.1,0.8,0.8] )其中,输入数值,分别是左边距,下边距,横向宽度,纵向高度。比例调节通过daspect([])调节坐标轴比例例如:daspect([1,1,1])其中,输入数值分别代表xyz三个轴的比例,轴的数值范围除以轴的显示长度轴范围设置 axis([
2021-12-15 17:27:57
39268
原创 matlab 读取文件夹中文件数量,批量修改文件名
%使用 movefile 函数: movefile(realName,changeName)如下为在批量修改filepath文件夹中,按顺序命名的txt文件,将文件名都加1filepath = ''; %输入文件夹地址 dirList=dir(filepath); % 读取文件夹列表countlist = length(dirList)-2; %文件夹中文件数量,需减去2,有两个空文件for i = 1:countlist n = countlist-i+1; realN...
2021-11-05 09:23:53
4502
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人