• 161 Topics
  • 228 Replies

161 Topics

如何使用ZPLM提取analysis window里面的数据进行优化

先说明,ZOS 是怎么做优化的:通常会用透镜的一个暂时副本对评价函数进行评估 计算。在评价函数计算结束后,透镜的副本以及任何 对 镜头数据的改变都将 被 舍弃 。因而,在执行 ZPLM操作数 调用的宏 的过程中,镜头数据不能做任何改变。 这些 改变 将不会被保留,并且 可能会妨碍 在 同一评价函数中 ZPLM操作数 之后的操作数 的计算。 OpticStudio将无法 恢复到 ZPLM指定的宏计算之前的镜头状态。 如果 刻意 在后面的 操作数 计算 之前故意使用宏来改变镜头数据,那么应该执行两个宏。 第一个应该按需要修改数据,第二个应该重建原始条件下的数据。两个宏都可以列在评价函数编辑器中, 期间的操作数将在修改后的镜头数据基础上执行 。操作用户界面的宏命令,例如CLOSEWINDOW、 WINL()和 GETT()在此 是无效的。这一限制的原因是 这些命令从用户界面中反映 的 单一系统副本中获取信息。因此,即使 ZPLM宏更新系统副本,用户界面显示的主系统副本也不会被更新。出处: The Optimize Tab (sequential ui mode) > Optimization Overview > User Defined Operands (optimization overview) > Changes Made to the Lens from within the ZPLM Marcro 所以用以上操作数行不通,但是可以使用GETTEXTFILE获得即时的数据然后进行优化。附件以畸变为例,进行了优化。打开ZAR文件之后可以看到ZPL08.供大家参考使用

关于Opticstudio选用核数跟优化速度的关系

如果一台计算机使用多个CPU进行计算,系统并不总是需要使用所有的CPU.下面的图片显示了一个多CPU/线程工作方式的例子。有些计算只由一个CPU/线程(母线程)执行。 在这段时间里,CPU的利用率很低。有些部分需要多个CPU/线程(平行区域)。 在这段时间里,CPU的利用率很高。如果在OpticStudio中为计算配置了N-cores,OpticStudio不会就获得N-cores。这是因为操作系统决定了应用程序可以使用多少个内核。OpticStudio将根据配置从Windows请求资源。在大多数情况下,OpticStudio并不能获得所有的资源。在计算方面,更多的内核并不意味着更快的计算。这取决于你在做什么样的计算。 如果计算不需要这么多的资源,而且核心/线程的数量超过了需要,那么将数据分配给每个线程的时间会更长。您可以设置OpticStudio在计算过程中可以使用的内核数量。 然而,如上所述,你将只得到所要求的一部分资源。有一个平行计算的理论叫做阿姆达尔定律。X轴代表处理器的数量。Y轴代表加速。不同的颜色代表方案/计算的视差部分的显示。可以看出,使用2到32个内核可以提高速度,但使用更多的内核并不能提高很多速度。就实际计算而言,它更为复杂。可能影响速度的因素有:核心数量、光学系统(有多少种计算可以并行进行)、OpticStudio可以获得的资源数量,由操作系统决定硬件规格等。以上只是可能影响速度的一般因素。 

Badge winners

  • Allow me to introduce myself
    Sean Turnerhas earned the badge Allow me to introduce myself
  • Allow me to introduce myself
    saifhas earned the badge Allow me to introduce myself
  • Visibly Un-Polarized
    chaasjeshas earned the badge Visibly Un-Polarized
  • Visibly Un-Polarized
    Sean Turnerhas earned the badge Visibly Un-Polarized
  • Allow me to introduce myself
    Davidhas earned the badge Allow me to introduce myself
Show all badges