Does the GetResults method output the same results, that are saved to the .ZBF file?
Hi Nils,
Thanks for your your question here!
The line:
newPOP_Results = newPOP.GetResults();
retrieves the matrix data provided in the Text tab of the analysis window:
You may use the following line to access the data:
matrixData = newPOP_Results.DataGrids(1).Values.double;
You may find more instructions about how to process and plot these data in this from thread from my colleague Allie:
How do I output the image of an analysis in ZOS-API? · MyZemax
Besides, more information on how to access the header and meta data from the analysis window can be found here:
How can I pull Peak Irradiance or Total Hits from the Detector Viewer analysis in the API? · MyZemax
If you have further questions, please let us know!
Best,
Csilla
Hi ,
This post was really useful to get started quickly in Python, but I find it difficult to set the settings described by Ali in C#. Is there any similar help for that?
Regards,
Jose
Hi Jose
Sorry I'm not sure I understand your post. Are you looking for help regarding ZOS-API or regarding POP set-up in general?
Sandrine
Hi Sandrine,
It was about the ZOSAPI. I had trouble finding how to access the specific settings of the POP analysis in C# and editing them in an easy way, but I found the answer:
'...
using ZOSAPI.Analysis.PhysicalOptics;
...
IAS_PhysicalOpticsPropagation POPDef_Settings = POPDef.GetSettings() as IAS_PhysicalOpticsPropagation;
POPDef_Settings.Wavelength.SetWavelengthNumber(1);
....'
Regards,
Jose
Thank you for your reply, that will definitely help others.. Yes in C#, we need to cast the settings.
Nice example in MATLAB. How about C++. All I get for settings are things like SaveTo(cfgFile), not the settings I expect from reading the documentation. What am I doing wrong?
Hi! Sorry about the late reply. It seems that the settings are not implemented for C++. We will check with the developers and will let you know.
Hi again! I have submitted a bug regarding the POP setting in ZOS-API C++. I will let you know when we have a fix.
Hi! My colleagues have tested this and it is fixed in 22.2.1.
Hello,
I would like to know how to extract the fiber efficiency data from a POP analysis done via Matlab.
Thanks
Florence
Hi @Florence.Rigal
It can be read via the header data:
%Get POP results
newPOP_Results = newPOP.GetResults();
headerlines=string(newPOP_Results.HeaderData.Lines);
fiberline=headerlines(8);
Let me know if that solution works for you.
Hi Sandrine,
Thank you , but it does not seems to work for my file.
I did newPOP.ApplyAndWaitForCompletion();
newPOP_Results = newPOP.GetResults();
However, I managed to extract the coupling value using the merit function
POPD = ZOSAPI.Editors.MFE.MeritOperandType.POPD;
coupling = TheSystem.MFE.GetOperandValue(POPD, 0, 0, 0, 0, 0, 0, 0, 0);
Florence
Hi Nils,
Thanks for your your question here!
The line:
newPOP_Results = newPOP.GetResults();
retrieves the matrix data provided in the Text tab of the analysis window:
You may use the following line to access the data:
matrixData = newPOP_Results.DataGrids(1).Values.double;
You may find more instructions about how to process and plot these data in this from thread from my colleague Allie:
How do I output the image of an analysis in ZOS-API? · MyZemax
Besides, more information on how to access the header and meta data from the analysis window can be found here:
How can I pull Peak Irradiance or Total Hits from the Detector Viewer analysis in the API? · MyZemax
If you have further questions, please let us know!
Best,
Csilla
It looks like these links are no longer working.
I’m trying to use the API (in Python) to extract all of the E-Field data similar to what comes out of a ZBF, not just a single display set. The work around I’m using right now is to set the configuration settings to save an output zbf file and then read that, but wondering if there is a faster way.