zospy.analyses.wavefront.wavefront_map.WavefrontMap

zospy.analyses.wavefront.wavefront_map.WavefrontMap#

class zospy.analyses.wavefront.wavefront_map.WavefrontMap#

Bases: BaseAnalysisWrapper[DataFrame | None, WavefrontMapSettings]

Wavefront Map analysis.

Attributes:
MODE
analysis

The OpticStudio analysis object.

config_file

Path to the temporary configuration file.

oss

The OpticStudio system.

settings

Settings of the analysis.

text_output_file

Path to the temporary text output file.

Methods

__call__(oss, *args, **kwargs)

Run the analysis and return the results.

get_data_grid([cell_origin])

Get the data grids from the analysis result.

get_data_series()

Get the data series from the analysis result.

get_text_output()

Get the text output of the analysis.

parse_output(grammar, transformer, result_type)

Parse the text output of the analysis.

run(oss[, config_file, text_output_file, ...])

Run the analysis and return the results.

run_analysis()

Run the Wavefront Map analysis.

update_settings(*[, settings, settings_kws])

Update the settings of the analysis using a settings object or keyword arguments.

with_settings(settings)

Create a new analysis with the specified settings.

Warning

The ZOS-API returns a datagrid with an empty first row and first column. Given normalized within the wavefront map, the datagrid should span from x=-1 to x=1, and y=-1 to y=1. The provided datagrid.MinX and .MinY indeed point to (-1, -1), but the provided width the datagrid cells make the width of the entire datagrid 2 + 1*cell_width. The same holds for the height. Thus, ZOSPy drops the empty first row and column, resulting in a centered wavefront map ranging from -1 to 1 in both x and y.

__init__(*, field: int = 1, surface: Literal['Image'] | int = 'Image', wavelength: int = 1, show_as: constants.Analysis.ShowAs | str = 'Surface', rotation: constants.Analysis.Settings.Rotations | str = 'Rotate_0', sampling: constants.Analysis.SampleSizes | str = '64x64', polarization: constants.Analysis.Settings.Polarizations | str | None = None, reference_to_primary: bool = False, use_exit_pupil: bool = True, remove_tilt: bool = False, scale: float = 1.0, sub_aperture_x: float = 0.0, sub_aperture_y: float = 0.0, sub_aperture_r: float = 1.0, contour_format: str = '')#

Create a new analysis wrapper.

Settings can be changed by passing the settings as keyword arguments. Use the with_settings method to specify the settings using a settings object.

Parameters:
settings_kwsdict[str, any]

Arguments to set the settings of the analysis.

Raises:
ValueError

If settings is not a dataclass.

run_analysis() DataFrame#

Run the Wavefront Map analysis.

See also

WavefrontMapSettings

Settings for the Wavefront Map analysis.