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

相关文章

【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<

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

hdu4431麻将模拟

给13张牌。问增加哪些牌可以胡牌。 胡牌有以下几种情况: 1、一个对子 + 4组 3个相同的牌或者顺子。 2、7个不同的对子。 3、13幺 贪心的思想: 对于某张牌>=3个,先减去3个相同,再组合顺子。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOExcepti

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所有节点合并成一个节点,新节点的值为原区间内所有节点值的和。合并后,需要移除所有的 0,并返回修改后的链表头节点。 思路分析 初始化:创建一个虚拟头节点

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

【算法专场】模拟(下)

目录 前言 38. 外观数列 算法分析 算法思路 算法代码 1419. 数青蛙 算法分析 算法思路 算法代码  2671. 频率跟踪器 算法分析 算法思路 算法代码 前言 在前面我们已经讲解了什么是模拟算法,这篇主要是讲解在leetcode上遇到的一些模拟题目~ 38. 外观数列 算法分析 这道题其实就是要将连续且相同的字符替换成字符重复的次数+

Lua 脚本在 Redis 中执行时的原子性以及与redis的事务的区别

在 Redis 中,Lua 脚本具有原子性是因为 Redis 保证在执行脚本时,脚本中的所有操作都会被当作一个不可分割的整体。具体来说,Redis 使用单线程的执行模型来处理命令,因此当 Lua 脚本在 Redis 中执行时,不会有其他命令打断脚本的执行过程。脚本中的所有操作都将连续执行,直到脚本执行完成后,Redis 才会继续处理其他客户端的请求。 Lua 脚本在 Redis 中原子性的原因

模拟实现vector中的常见接口

insert void insert(iterator pos, const T& x){if (_finish == _endofstorage){int n = pos - _start;size_t newcapacity = capacity() == 0 ? 2 : capacity() * 2;reserve(newcapacity);pos = _start + n;//防止迭代