Skip to main content

We recently implemented the Geometric Image Analysis in ZOSPy 1.30. While doing so, we noticed that the setting PlotScale seems not to exposed in the ZOS-API for this analysis. Is that correct?

@Luc.van Vught You’re correct that it’s not implemented.  The ZOS-API Syntax Help is created using a tool called Doxygen and this tool reads the ZOS-API source code directly and formats it into the Interface references you see.  There is no PlotScale in the IAS_GeometricImageAnalysis interface and no inherited properties either:

The PlotScale field doesn’t actually change the calculation (if you look at the Text Tab, the raw values are still the same).  The PlotScale only changes the displayed image on the Graph Tab.  Therefore, the PlotScale will only help with the Interactive Extension since this is only changes the display.  There are other aspects of the display (like cutting panes, zoom, and panning for a 3D Layout). 

You can think of OpticStudio as having 3 layers: the Core, the Engine, and the GUI.  The Engine is the internal API that acts like the glue/communication layer between the Core and the GUI.  The ZOS-API is an external facing API and has somewhere around 85% code coverage (give or take).  Since the ZOS-API never talks to the GUI, anything that is implemented only in the GUI (red box below) is unlikely to show up in the ZOS-API.  

As for the Interactive Extension, this was originally a debugging tool for the developers when creating the ZOS-API to make sure everything was working correctly.  The engineering staff quickly realized the power of this and renamed the tool to Interactive Extension.  Although the development team might be able to hook up the PlotScale, since the ZOS-API doesn’t have complete code coverage yet, I think the development team will work on connecting the ZOS-API to the Core before adding visualization effects. 

 


@MichaelH thank you for the elaborate reply! I understand that the relevance of this missing field is relatively low as it does not change the calculation, but wanted to report it due to two reasons:

  1. Other analyses do have parameters that solely affect the displayed image, so it was a small inconsistency. As I expected it to be there, I spent some time debugging the API, which other users might also do at some point (and I hope they will now find this post!),
  2. There seem to be more inconsistencies in the API of Geometric Image Analysis, see also this post

Again, I fully understand that the missing PlotScale field is of low relevance, and thank you for the elaborate explanation!


Reply