琼斯和穆勒偏振光学

py-pol的Python项目详细描述


python极化

https://img.shields.io/pypi/v/py_pol.svghttps://img.shields.io/travis/optbrea/py_pol.svgDocumentation Statuslogo.png

功能

py pol是琼斯和斯托克斯穆勒偏振光学的python库。它有4个主模块:

  • jones_vector - for generation of polarization states in 2x1 Jones formalism.
  • jones_matrix - for generation of 2x2 matrix polarizers.
  • stokes - for generation of polarization states in 2x2 Stokes formalism.
  • mueller - for generation of 4x4 matrix polarizers.

每个类都有自己的类,有多种生成、操作和参数提取方法。

示例

琼斯形式主义

生成琼斯向量和矩阵

frompy_pol.jones_vectorimportJones_vectorfrompy_pol.jones_matriximportJones_matrixfrompy_pol.utilsimportdegreesj0=Jones_vector("j0")j0.linear_light(angle=45*degrees)m0=Jones_matrix("m0")m0.diattenuator_linear(p1=0.75,p2=0.25,angle=45*degrees)m1=Jones_matrix("m1")m1.quarter_wave(angle=0*degrees)j1=m1*m0*j0

从琼斯向量中提取信息。

print(j0,'\n')print(j0.parameters)
j0=[+0.707;+0.707]'parametersofj0:intensity:1.000arb.ualpha:45.000ºdelay:0.000ºazimuth:45.000ºellipticityangle:0.000ºa,b:1.0000.000
print(j1,'\n')print(j1.parameters)
m1*m0@45.00º*j0=[+0.530+0.000j;+0.000+0.530j]'parametersofm1*m0@45.00º*j0:intensity:0.562arb.ualpha:45.000ºdelay:90.000ºazimuth:8.618ºellipticityangle:-45.000ºa,b:0.5300.530

从琼斯矩阵中提取信息。

print(m0,'\n')print(m0.parameters)
m0@45.00º=[+0.500,+0.250][+0.250,+0.500]parametersofm0@45.00º:is_homogeneous:Truedelay:0.000ªdiattenuation:0.800
print(m1,'\n')print(m1.parameters)
m1=[+1+0j,+0+0j][+0+0j,+0+1j]parametersofm1:is_homogeneous:Truedelay:90.000ªdiattenuation:0.000
stokes-mueller形式

生成stokes向量和mueller矩阵。

frompy_pol.stokesimportStokesfrompy_pol.muellerimportMuellerfrompy_pol.utilsimportdegreesj0=Stokes("j0")j0.linear_light(angle=45*degrees)m1=Mueller("m1")m1.diattenuator_linear(p1=1,p2=0,angle=0*degrees)j1=m1*j0

从stokes向量中提取信息。

确定斯托克斯矢量的强度:

i1=j0.parameters.intensity()print("intensity = {:4.3f} arb. u.".format(i1))
intensity=1.250arb.u.

确定stokes向量的所有参数:

print(j0,'\n')print(j0.parameters)
j0=[+1.250;+0.530;-0.562;+0.530]parametersofj0:intensity:1.250arb.u.degreepolarization:0.750degreelinearpol.:0.618degreecircularpol.:0.424alpha:27.775ºdelay:43.314ºazimuth:23.343ºellipticityangle:17.225ºellipticityparam:0.310eccentricity:0.951polarizedvector:[+0.938;+0.530;-0.562;+0.530]'unpolarizedvector:[+0.312;+0.000;+0.000;+0.000]'

从mueller矩阵中提取信息。

print(m1,'\n')print(m1.parameters)
m1=[+0.531,+0.469,+0.000,+0.000][+0.469,+0.531,+0.000,+0.000][+0.000,+0.000,+0.250,+0.000][+0.000,+0.000,+0.000,+0.250]
print(j1)print(j1.parameters)
m1*j0=[+0.913;+0.868;-0.141;+0.133]parametersofm1*j0:intensity:0.913arb.u.degreepolarization:0.974degreelinearpol.:0.963degreecircularpol.:0.145alpha:6.279ºdelay:43.314ºazimuth:4.603ºellipticityangle:4.289ºellipticityparam:0.075eccentricity:0.997polarizedvector:[+0.889;+0.868;-0.141;+0.133]'unpolarizedvector:[+0.024;+0.000;+0.000;+0.000]'

图纸

模块还允许获得极化的图形表示。

为琼斯矢量画偏振椭圆。

ellipse_Jones_1.pngellipse_Jones_3.png

由于光的非偏振部分,随机分布的stokes矢量绘制偏振椭圆。

ellipse_Stokes_1.pngellipse_Stokes_2.png

在poincar_©球体中绘制stokes向量。

poincare2.pngpoincare3.pngpoincare4.png

作者

  • 路易斯·米格尔·桑切斯·布雷亚optbrea@ucm.es>;

  • 耶稣德尔霍约<;jhoyo@ucm.es>;

    Universidad Complutense de Madrid, Faculty of Physical Sciences, Department of Optics Plaza de las ciencias 1, ES-28040 Madrid (Spain)

logoUCM.png

引用

L.M.Sanchez Brea,J.Del Hoyo“Py Pol,偏振光学的Python模块”,https://pypi.org/project/py-pol/(2019年)

参考文献

  • D Goldstein“偏振光”第2版,Marcel Dekker(1993)。
  • JJ Gil,R.Ossikovsky,“偏振光和穆勒矩阵方法”,CRC出版社(2016)。
  • C Brosseau,“偏振光基础”Wiley(1998)。
  • R Martinez Herrero,P.M.Mejias,G.Piquero,《部分偏振光场的表征》,Springer光学系列(2009)。
  • 《光学手册1》第5章“偏振”。
  • 拉奇普曼“光学手册2”第2章“旋光”。
  • 吕和拉奇普曼,“齐次和非齐次琼斯矩阵”,J.opt.社会福利。是。A 11(2)766(1994年)。

学分

这个包是用Cookiecutteraudreyr/cookiecutter-pypackage项目模板创建的。

历史记录

0.1.1(2018-12-22)

  • PYPI上的第一个版本处于pre-alpha状态。

0.1.3(2019-01-22)

α状态

  • 琼斯矢量,琼斯矩阵,斯托克斯工程。
  • 穆勒正在进行中。
  • 功能=9/10
  • 文档=8/10
  • 教程=7/10。
  • 示例=6/10。
  • 绘图=0/10。

0.1.4(2019-02-03)

α状态

  • 琼斯矢量,琼斯矩阵,斯托克斯工程。
  • 穆勒正在进行中。
  • 功能=9/10
  • 文档=8/10
  • 教程=8/10。
  • 示例=8/10。
  • 测试=8/10
  • 图纸=10/10。完成了。琼斯和斯托克斯的偏振椭圆(部分随机)。庞加球上的斯托克斯。

0.2.0(2019-02-22)

β状态

  • 琼斯矢量,琼斯矩阵,斯托克斯和穆勒作品。

未来:

  • 开发参数矩阵。
  • 介绍了大多数方法中的给定对象选项。
  • 在大多数操作方法中引入保留选项。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java动态地将圆添加到Arraylist   什么是好的“错误检查”模式(Java)?   java是我们可以在应用程序中使用的云服务,它需要存储最大大小为5MB的小文件   JavaGooglePhotosAPI是静态内容上传项目的永久url   java AES密钥存储   java文件正在下载,但没有任何内容   每次循环迭代和threadsleep的java日志记录都是不好的做法?   java不会切换到另一个。单击submit时使用jsp。春季mvc   java我很难从我的maclaurin系列中获得sin x的准确输出   java使用类似的<Object>?   需要java Hibernate映射吗?   java如何在https和客户端证书请求后面生成web服务代理   java如何通过注释有条件地使用自定义JsonSerializer   java如何在html页面和Restful WebResource方法之间实现JaxB?   读取文件Libgdx Android时发生java错误   java如何在处理主活动之前从另一个方法中获取值?   java在一个SQLquery中使用多个语句,还是使用批处理?