optimization.variable.asphere_coeff

Asphere Coefficients Variable Module

This module contains the AsphereCoeffVariable class, which represents a variable for an aspheric coefficient in an optical system. The variable can be used in optimization problems to optimize the aspheric coefficients of an optical system.

Kramer Harrison, 2024

Classes

AsphereCoeffVariable(optic, surface_number, ...)

Represents a variable for an aspheric coefficient in an optical system.

class AsphereCoeffVariable(optic, surface_number, coeff_number, scaler=None, **kwargs)[source]

Represents a variable for an aspheric coefficient in an optical system.

Parameters:
  • optic (Optic) – The optic object associated with the variable.

  • surface_number (int) – The index of the surface in the optical system.

  • coeff_number (int) – The index of the aspheric coefficient.

  • scaler (Scaler) – The scaler to use for the variable. Defaults to a linear scaler with a factor that depends on the coefficient number and order.

  • **kwargs – Additional keyword arguments.

coeff_number

The index of the aspheric coefficient.

Type:

int

get_value()[source]

Get the current value of the aspheric coefficient.

Returns:

The current value of the aspheric coefficient.

Return type:

float

inverse_scale(scaled_value)

Inverse scale the value of the variable.

Parameters:

scaled_value – The scaled value to inverse scale

scale(value)

Scale the value of the variable for improved optimization performance.

Parameters:

value – The value to scale

update_value(new_value)[source]

Update the value of the aspheric coefficient.

Parameters:

new_value (float) – The new value of the aspheric coefficient.