Hi harry,
If those codes are not in available in MODIFYSETTINGS, I doubt you’ll be able to do it in ZPL.
The first thing to do to check how the settings of an analysis in the ZOS-API can be modified is to check the HasAnalysisSpecificSettings property. If you run the code below (Python):
# New Geometric MTF Analysis
geo_mtf = TheSystem.Analyses.New_GeometricMtf()
# Check if settings are implemented
if geo_mtf.HasAnalysisSpecificSettings:
print('Geometric MTF has its settings implemented in the ZOS-API')
You should get the following result:
Geometric MTF has its settings implemented in the ZOS-API
What this means is that the settings of Geometric MTF are directly available from the ZOS-API. You can find them in the ZOS-API Syntax Help (ZOSAPI.Analysis.Settings.Mtf.IAS_GeometricMtf Interface Reference):
Properties |
| IAS_Field | Field [get] |
| IAS_Wavelength | Wavelength [get] |
| SampleSizes | SampleSize [get, set] |
| bool | MultiplyByDiffractionLimit [get, set] |
| bool | ScatterRays [get, set] |
| bool | UseDashes [get, set] |
| bool | UsePolarization [get, set] |
| double | MaximumFrequency [get, set] |
This is a small Python example for you:
# New Geometric MTF Analysis
geo_mtf = TheSystem.Analyses.New_GeometricMtf()
# Get settings of analysis
geo_mtf_set = geo_mtf.GetSettings()
# Modify wield
field = 1
geo_mtf_set.Field.SetFieldNumber(field)
# Modify wavlenegth
wave = 1
geo_mtf_set.Wavelength.SetWavelengthNumber(wave)
# Modify sampling
sampling = ZOSAPI.Analysis.SampleSizes.S_32x32
geo_mtf_set.SampleSize = sampling
# Use polarization
geo_mtf_set.UsePolarization = True
# Apply settings
geo_mtf.ApplyAndWaitForCompletion()
I hope this helps, and take care,
David