更新日志#
该项目的所有值得注意的更改将记录在此文件中。
该格式基于Keep a Changelog,这个项目遵守Semantic Versioning,除了一个例外:仅简化访问ZOS-API某些部分的小功能也可以在补丁版本中添加。
[未发行]#
新增#
修复#
更新#
弃用#
移除#
[2.0.0] - 2025-03-17#
新增#
zospy.zpcore.ZOS.get_instance获得现有ZOS实例,如果存在(#107)。Opticstudio 2025 R1的测试参考数据。现在,这是测试的参考版本(#127)。
修复#
zospy.analyses.base.Analysis现在提出一个AttributeError试图设置OpticStudio分析对象(#106)中不存在的属性时。在数据网格中获得正确的最小x和y值
zospy.analyses.extendedscene.geometric_image_analysis(#103).将光束和光纤类型设置为外部文件
zospy.analyses.physicaloptics.physical_optics_propagation(#114)
更新#
zospy.zpcore.ZOS现在使用单身模式来确保一个实例ZOS创建。如果创建了第二个实例,则返回现有实例并提高警告(#107)zospy.zpcore.OpticStudioSystem._ZOS被更名为ZOS,使其成为公共属性(#107)zospy.analyses.new_analysis:settings_first现在是一个仅关键字的参数。zospy.api.apisupport.load_zosapi_nethelper:preload现在是一个仅关键字的参数。zospy.api.apisupport.load_zosapi:preload现在是一个仅关键字的参数。zospy.functions.lde.find_surface_by_comment:case_sensitive现在是一个仅关键字的参数。zospy.functions.nce.find_object_by_comment:case_sensitive现在是一个仅关键字的参数。zospy.utils.flatten_dict:keep_unflattened现在是一个仅关键字的参数。zospy.zpcore.OpticStudioSystem.load:saveifneeded现在是一个仅关键字的参数。zospy.zpcore.OpticStudioSystem.new:saveifneeded现在是一个仅关键字的参数。zospy.zpcore.OpticStudioSystem.close:saveifneeded现在是一个仅关键字的参数。zospy.zpcore.ZOS.__init__:所有参数现在都是仅关键字的参数。更换
zospy.utils.zputils.rsetattr和zospy.utils.zputils.attrsetter,基于operator.attrgetter.zospy.analyses现在使用一个新的,面向对象的接口进行OpticStudio分析(#118)。现在已弃用了旧接口,但仍在zospy.analyses.old. 参见讨论#87并发行说明以获取更多信息。zospy.utils.zputils.unpack_datagrid现在返回带有列和行标签的数据杂称,以指示单元格的中心,而是 细胞的底部左下角(#128)。
弃用#
zospy.analyses.old在不弃用以对象为导向的新接口zospy.analyses(#118).
移除#
zospy.zpcore.ZOS.wakeup不再需要,因为ZOS-API现在已加载zospy.zpcore.ZOS.__init__(#107)zospy.zpcore.ZOS.connect_as_extension,zospy.zpcore.ZOS.create_new_application和zospy.zpcore.ZOS.connect_as_standalone被移除以支持zospy.zpcore.ZOS.connect(#107)zospy.functions.nce.get_object_data之所以被移除,是因为它实现了现在自动完成的转换zospy.api.codecs.OpticStudioInterfaceEncoder(#107)移除
zospy.utils.zputils.rgetattr因为operator.attrgetter做同样的事情。
[1.3.1] - 2025-01-16#
修复#
物理光学分析开始表面被硬编码为1(#111,#112)
[1.3.0] - 2024-10-30#
新增#
波前分析:
zospy.analyses.wavefront.wavefront_map(!61)扩展场景分析:
zospy.analyses.extendedscene.geometric_image_analysis(!61)物理光学分析:
zospy.analyses.physicaloptics.physical_optics_propagation(!61)为这些分析生成特定参数词典的助手函数:
zospy.analyses.physicaloptics.pop_create_beam_parameter_dict,zospy.analyses.physicaloptics.pop_create_fiber_parameter_dict
在顺序模式下更改表面的光圈类型的便利函数:
zospy.functions.lde.surface_change_aperturetype实验新界面用于分析
zospy.analyses.new(#78, #15)添加对系统查看器出口的支持
zospy.analyses.systemviewers.viewer_3d和zospy.analyses.systemviewers.cross_section(#80).
更新#
更新
zospy.functions.lde.surface_change_type还支持需要加载文件规范的表面。 (!61)在这两个中添加了对字典参数的支持
zospy.tests和zospy.scripts.generate_test_reference_data. (!61)
[1.2.1] - 2024-03-11#
修复#
导入(#66,#69)上的不受支持的语言环境设置
Zernike标准系数分析分析日期作为德国语言环境下的浮子(#70)
更新#
风俗
__dir__方法zospy.analyses.base.Analysis.dir现在显示包装器成员和Opticstudio分析成员(!56)
[1.2.0] - 2024-01-19#
新增#
新的,统一的连接方法
ZOS.connect。此方法替换了现有的连接方法ZOS.connect_as_extension,ZOS.create_new_application和ZOS.connect_as_standalone. 连接模式作为参数传递,并且始终返回主系统(!47)可以使用OptipStudio安装目录使用
opticstudio_directory参数ZOS班级。如果安装了多个OpticStudio版本,这特别有用 在同一系统上,您想使用特定版本(!47)**注意:**当使用此参数时
ZOSAPI_NetHelper未加载,ZOS.ZOSAPI_NetHelper仍然不设置。
zospy.api.codecs对于ZOS-API类型和Python类型之间的定制转换(!48)zospy.api.codecs.OpticStudioInterfaceEncoder用于自动降低某些常见通用接口 执行他们的实施(例如__implementation__不再需要)(!48)MTF分析:
huygens_mtf(#55)pickup_chief_ray求解器(!38)ZOS.disconnect与Opticstudio断开连接(!47)支持Opticstudio 2024 R1(!51)
支持Python 3.12(!54)
修复#
OpticStudioSystem.load路径不正确或相对时会静静地失败(#34)在延长模式下连接后节省失败,因为
OpticStudioSystem._OpenFile未设置。 在延长模式下连接时,_OpenFile现在设置为通往打开系统的路径以防止此(#41)
更新#
将许可证更改为MIT(#57,#58)-2023-12-22
移除a
zospy.zpcore.ZOS对象现在自动调用ZOS.disconnect(!47)在扩展模式下连接时,不再需要使用
OpticStudioSystem.save_as在可以保存之前OpticStudioSystem.save(!47, #41)zospy.analyses.base.Analysis现在使用zospy.api.codecs.OpticStudioInterfaceEncoder降低 分析将其实施界面(!48)接受相对路径并检查路径是否存在
OpticStudioSystem.load和OpticStudioSystem.save_as(!50)使用
zospy.constants.process_constant解析from_column争论zospy.solvers.surface_pickup. 现在可以将此列指定为来自zospy.constants或字符串(!53)
弃用#
ZOS.connect_as_extension,ZOS.create_new_application和ZOS.connect_as_standalone. 他们被取代了ZOS.connect(!47)zospy.functions.nce.get_object_data被弃用是因为它的任务现在由zospy.api.codecs.OpticStudioInterfaceEncoder(!48)
移除#
[1.1.2] - 2023-12-13#
修复#
反向datagrids的行索引
zospy.utils.zputils.unpack_datagrid(!42)
[1.1.1] - 2023-09-25#
新增#
ZOS.connect_as_standalone作为别名ZOS.create_new_application(#26)新参数
return_primary_system为了ZOS.connect_as_extension和ZOS.create_new_application。如果此参数为,这些方法返回主要光学系统True。如果许可证对ZOS-API无效,则ConnectionRefusedError被提升(#26)zospy.functions.nce.get_object_data获取NCE对象的数据(#30)
修复#
当未设置文本文件编码时,分析结果错误解析
Unicode通过实施zospy.zpcore.ZOS.get_txt_file_encoding(!36)不允许用户直接更改lensupdatemode的错误
OpticStudioSystem.LensUpdateMode(#40)
更新#
更新了如何和何时在
zospy.api.config确定以更清楚(!39)更新错误消息
zospy.ZOS解释为什么只有一个实例ZOS允许(#24)加载ZOS-API DLL
ZOS.__init__(#26)
弃用#
单独的电话
ZOS.wakeup现在是多余的。此方法将在以后的版本中移除(#26)
[1.1.0] - 2023-07-03#
新增#
极化分析:
polarization_pupil_map,transmission(#14)系统查看器分析:
cross_section,viewer_3d,shaded_model,nsc_3d_layout,nsc_shaded_model(!20)所有示例的文档(!25)
version属性ZOS班级(!21)zospy.utils.pyutils.atox,zospy.utils.pyutils.xtoa和_config.THOUSANDS_SEPARATOR对于环境感知的字符串和数字之间的转换(!26).zenodo.json对Zenodo有更多控制权(!32)
zospy.functions.lde.find_surface_by_comment和zospy.functions.nce.find_object_by_comment根据其评论找到LDE表面 / NCE对象(#18)
修复#
在设置MTF类型时,错误的ZOS-API用于OpticStudio <21.2新增
zospy.analyses.mtf._correct_fft_through_focus_mtftype_api_bug(!21)不正确的实施
zospy.zpcore.ZOS.get_system(!30)在Docstrings中的错误示例
zospy.functions.lde.surface_change_type和zospy.functions.nce.object_change_type(!31)
更新#
将一些示例转换为Jupyter笔记本
重命名
_config.DECIMAL到_config.DECIMAL_POINT(!26)使用
.zmx文件而不是.zos单位测试参考系统文件的文件(!23)更新的兼容性信息在readme.md(!29)中
移除#
空方法
zospy.zpcore.ZOS.licence_check(!30)