Contenido principal

SurfaceTiltTuning

R2026b

Tuning parameter for surface tilt

Since R2026b

    Description

    Add-On Required: This feature requires the Optical Design and Simulation Library for Image Processing Toolbox add-on.

    A SurfaceTiltTuning object defines a tuning parameter for the tilt of one or more surfaces for use as a compensator during optimization in sensitivity and tolerance analysis.

    Creation

    Description

    comp = optics.optimize.SurfaceTiltTuning(propertyName,bound) creates a tuning parameter for the specified surface tilt property with bounds defined by bound. The tuning parameter applies to all top-level surfaces.

    comp = optics.optimize.SurfaceTiltTuning(propertyName,bound,TargetIndex=targetIdx) applies the tuning to only the surfaces specified by targetIdx.

    Note

    This functionality requires Optimization Toolbox™.

    example

    Input Arguments

    expand all

    Surface tilt property, specified as "TiltX", "TiltY", or "TiltZ".

    Data Types: char | string

    Tuning bounds, specified as a numeric scalar or a 1-by-2 numeric vector of the form [min max].

    • Scalar — Specifies a percentage bound relative to the nominal value. Percentage bounds have no effect when the nominal value is zero.

    • 1-by-2 vector — Specifies offset bounds [min max] relative to the nominal value.

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Surface indices to target, specified as a vector of positive integers. By default, the tuning parameter applies to all surfaces that belong to optical components, excluding system-level surfaces. The indices must correspond to surface indices in the SurfaceTable property of the optical system. Tuning for surfaces of nested components is not supported.

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Properties

    expand all

    This property is read-only.

    Name of the tuned property, represented as "TiltX", "TiltY", or "TiltZ".

    Target surface indices, represented as a vector of positive integers. By default, the tuning parameter applies to all surfaces that belong to optical components, excluding system-level surfaces.

    Tuning bounds, represented as a 1-by-2 numeric vector of the form [lb ub] where lb and ub are the lower bound and upper bound, respectively. When you specify bound as a scalar, this is of the form [-bound +bound].

    This property is read-only.

    Bound interpretation type, represented as "Percentage" when you specify bound as a scalar, or "Absolute" when you specify bound as a 1-by-2 vector.

    Examples

    collapse all

    Import an optical system into the workspace.

    opsys = zmximport("CookeTriplet.zmx");

    Define a surface tilt tuning parameter ranging from -0.5 to 0.5 for Y-tilt of the 3rd top-level surface.

    comp = optics.optimize.SurfaceTiltTuning(TiltY=0.5,TargetIndex=3)
    comp = 
      SurfaceTiltTuning with properties:
    
        TargetProperty: "TiltY"
           TargetIndex: 3
                Bounds: [-0.5000 0.5000]
             BoundType: "Percentage"
    
    

    Version History

    Introduced in R2026b