Hello! I am trying to retrieve data about wavefront via ZOS-API in Matlab. Since I need to iterate through different positions of mirror, I am using coordinate breaks and iterate through them using arrays and FOR cycle:
decenter = =-0.5:0.1:0.5];
tilt = =-0.2:0.04:0.2];
for i = 1:tilt_length
for j = 1:decenter_length
disp(pi j]);
TheSystem.LDE.GetSurfaceAt(3).GetCellAt(13).DoubleValue = decenter(j); % I set decenter here in the coordinate break (surface 3)
TheSystem.LDE.GetSurfaceAt(3).GetCellAt(14).DoubleValue = tilt(i); % I set tilt here
newWin = TheSystem.Analyses.New_WavefrontMap(); % Requesting new window
newWin_Settings = newWin.GetSettings(); % Requesting settings
newWin_Settings.Wavelength.SetWavelengthNumber(1); % Setting wavelength number
newWin_Settings.Field.SetFieldNumber(1); % Setting field number
newWin_Settings.Sampling = ZOSAPI.Analysis.SampleSizes.S_1024x1024; % Setting sampling
newWin.ApplyAndWaitForCompletion(); % Applying the settings
newWin_Results = newWin.GetResults(); %
wavefrontmap = newWin_Results.DataGrids(1).Values.double; % Exporting the wavefront map with decenter and tilt
end
end
It iterates for some time, but then gets an error:
Dot indexing is not supported for variables of this type.
Error occurs when the code tries to set wavelength number. It reproduces every time (for this specific arrays of decenter and tilt it happens when (i,j) = (9, 11).). However, it executes smoothly if I use these values directly. While debugging, I found out, that newWin_Settings = newWin.GetSettings() for some reason returns empty array, so I can’t address any settings at all. Is there any way to avoid the error? Thank you.