Ansys Speos SSS|执行 Camera Sensor模拟结果后处理

2023-12-05 20:44

本文主要是介绍Ansys Speos SSS|执行 Camera Sensor模拟结果后处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片

附件下载

联系工作人员获取附件

概述

本文是Speos Sensor System(SSS)的使用指南,这是一个强大的解决方案,用于camera sensor模拟结果的后处理。本文的目的是通过一个例子来理解如何正确使用SSS。当然本文描述的分析步骤适合任何案例。

SSS是一个功能强大的独立工具,用于执行Speos camera模拟结果的后处理。Speos得到的仿真结果是照度/辐照度图,用于计算到达camera 传感器的光度/辐射功率。通过启用camera模拟中的timeline时间轴参数,并在camera传感器sensor的定义中指定积分时间和轨迹文件,可以轻松地将能量结果转换为曝光结果。要进一步了解Speos camera模拟,建议参考CMOS 传感器相机 - 3D 场景中的图像质量分析。得到能量结果或是曝光结果之后,Speos SSS 开始发挥作用,自动将曝光图转换为Raw图,electron电子图,基于传感器的降阶模型(ROM),遵循EMVA 1288标准,最后形成一个显影图像。由于SSS工具没有图形用户界面,因此了解文件管理和工作的过程至关重要。

图片

图片

图片

文件格式

要从曝光图生成显影图像,用户需要不同的输入文件:

1.A batch script批处理脚本:在本文原文的案例中,提供命名为“Launch Speos Sensor System exporters .bat”的文件,这个文件不需要修改,它能够正确的启动Speos SSS文件的运行,如果需要,可以在Speos的安装文件中找到SSS可执行文件(通常在“C:\Program files \ANSYS Inc\v232\Optical Products\Viewers\SSSExporter.exe”中)。

注意:如果本地安装不在上述路径上,则需要在batch文件中重新调用SSS文件,所以建议安装Speos在默认C盘。如果看到错误信息“无法连接到Virtual Photometric Lab”,需要以管理员身份运行相应版本的Virtual Photometric Lab一次。

2.An input file输入文件,格式为YAML。该文件指定一般处理参数,如要处理的Map、要使用的传感器文件(见下文)、要导出的数据、目标文件夹等。这个文件的内容可以根据用户的需要进行调整。

3.An sensor file传感器文件,格式为YAML。该文件包含有关传感器的有用参数(如操作条件、ROM参数、开发方法等)。这个文件的内容可以根据用户的需要进行调整。

4.Exposure Map至少一个待处理的曝光图。曝光图以xmp格式从Speos生成。

5.传感器规格文件(如用于量子效率的频谱文件,用于开发算法的python脚本)。它们的类型和数量将取决于客户案例。

图片

SSS运行的文件夹结构应该是这样的: Batch和input “Yaml”文件必须位于同一位置。所有其他文件(Sensor  yaml文件,Map文件,可以将它们放置在相对于此位置的任何位置,但最好是将它们放置在名为“Inputs”的文件夹中)。

Batch script批处理脚本文件模板

该文件的通用模板在本文案例的“Templates”文件夹中提供。内容如下:

图片

输入YAML文件模板

  1. 运行第一个示例文件,打开“Example”文件夹。在它的内部,可以查看整个文件夹得体系结构。可以查看预先填写的“输入”yaml文件:

图片

包含两个主要部分:

1. log level日志级别,当运行SSS export的实例时,将显示一个带有日志的命令提示符信息,并生成用于日志的文本文件。对于每一个日志,可以指定想要的详细级别-'INFO'提供最少的信息,'DEBUG'提供更多关于SSS执行的操作的详细信息。

2. Processing mode处理模式- SSS可以用两种方式处理exposure map结果,一种是文件逐一处理,另一种是全部处理位于特定文件夹中的文件('All in folder')。可以在“mode”中指定正确的模式。根据选择的模式,填写输入输出等信息文件夹,导出的结果格式等。

传感器YAML文件模板

该文件的通用模板在本文案例的“Templates”文件夹中提供。内容如下:

图片

包含三个主要部分:

1.工作条件,可以指定传感器的温度,工作增益等。

2.传感器降阶模型(EMVA 1288标准),能够通过填充时间噪声和暗噪声、像素拜耳矩阵和效率、系统增益等更准确地表征传感器。

3.开发,这部分是相当灵活的,因为传感器将原始图像转换为显影图像的方法因传感器而异。可以填写通用的建议参数,如去马赛克算法、拍摄光源、颜色重新缩放因子,也可以插入任何基于python脚本的自定义开发方法。

运行案例

  1. 运行第一个示例文件,打开“Example”文件夹。在它的内部,可以查看整个文件夹得体系结构。可以查看预先填写的“输入”yaml文件:

图片

可以看到将逐个处理map,因为选择了“给定文件”模式,并且指定了“Set 0”,所以只转换了一组map结果,位于“Inputs”文件夹中,命名为“Exposure.xmp”。将由也位于“Inputs”文件夹中“sensor yaml”所写的传感器参数对map结果进行处理。要求SSS export将处理后的图像以PNG格式导出到“Outputs”文件夹中(该文件夹在运行SSS export之前不必存在)。可以查看Sensor yaml文件内容,例如,传感器以10ms的曝光时间获得图像,具有完美的量子效率,即每个收集到的光子都转换成整个光谱带的电子,传感器的像素矩阵由经典的2x2 RGGB拜耳矩阵组成。最后,可以预先查看将开始后处理的exposure map 结果。

图片

图片

2.运行SSS

确认了对要准换后处理得文件参数得确认,然后就可以启动SSS export进入后处理过程,只需要双击“Launch Speos Sensor System exporters .bat”,将打开一个命令提示符并显示正在进行的进度。完成该过程后,只需按另一个键退出命令提示符,并查看“Outputs”文件夹中生成的结果。

图片

图片

图片

如果改变输入,以查看传感器参数对处理图像的影响。例如,可以人为地修改传感器YAML中的文件,例如QE光谱。

图片

提示:在输入的YAML文件中,可以添加“Rename: ' degraded '”来生成另一个结果,而不是覆盖更改前一个结果。

图片

然后可以得到新的结果:

图片

图片

图片

在最后一个例子中,可以看到量子效率对结果的影响。由于第二个传感器不能有效地将“绿色”波长的光子转换为电子,因此显影后图像显示出的是彩色伪影。

这篇关于Ansys Speos SSS|执行 Camera Sensor模拟结果后处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/459068

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Spring Boot 整合 ShedLock 处理定时任务重复执行的问题小结

《SpringBoot整合ShedLock处理定时任务重复执行的问题小结》ShedLock是解决分布式系统中定时任务重复执行问题的Java库,通过在数据库中加锁,确保只有一个节点在指定时间执行... 目录前言什么是 ShedLock?ShedLock 的工作原理:定时任务重复执行China编程的问题使用 Shed

详解如何在React中执行条件渲染

《详解如何在React中执行条件渲染》在现代Web开发中,React作为一种流行的JavaScript库,为开发者提供了一种高效构建用户界面的方式,条件渲染是React中的一个关键概念,本文将深入探讨... 目录引言什么是条件渲染?基础示例使用逻辑与运算符(&&)使用条件语句列表中的条件渲染总结引言在现代

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

C#如何优雅地取消进程的执行之Cancellation详解

《C#如何优雅地取消进程的执行之Cancellation详解》本文介绍了.NET框架中的取消协作模型,包括CancellationToken的使用、取消请求的发送和接收、以及如何处理取消事件... 目录概述与取消线程相关的类型代码举例操作取消vs对象取消监听并响应取消请求轮询监听通过回调注册进行监听使用Wa

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来 注意计算公式: ( 变换后的矩阵记为C) 顺时针旋转90°:C[i] [j]=A[n-j-1] [i] (旋转180°和270° 可以多转几个九十度来推) 对称:C[i] [n-j-1]=A[i] [j] 代码有点长 。。。 /*ID: who jayLANG: C++TASK: transform*/#include<