physical_apertures.rectangular

Rectangular Aperture Module

This module contains the RectangularAperture class, which represents a rectangular aperture that clips rays based on their position.

Kramer Harrison, 2025

Classes

RectangularAperture(x_min, x_max, y_min, y_max)

Represents a rectangular aperture that clips rays based on their position.

class RectangularAperture(x_min, x_max, y_min, y_max)[source]

Represents a rectangular aperture that clips rays based on their position.

x_min

The minimum x-coordinate allowed for the rays.

Type:

float

x_max

The maximum x-coordinate allowed for the rays.

Type:

float

y_min

The minimum y-coordinate allowed for the rays.

Type:

float

y_max

The maximum y-coordinate allowed for the rays.

Type:

float

clip(rays: RealRays)

Clips the given rays based on the aperture’s shape.

Parameters:

rays (RealRays) – List of rays to be clipped.

Returns:

List of clipped rays.

Return type:

list

contains(x, y)[source]

Checks if the given point is inside the aperture.

Parameters:
  • x (np.ndarray) – The x-coordinate of the point.

  • y (np.ndarray) – The y-coordinate of the point.

Returns:

Boolean array indicating if the point is inside the

aperture

Return type:

np.ndarray

property extent

Returns the extent of the aperture.

Returns:

The extent of the aperture in the x and y directions.

Return type:

tuple

classmethod from_dict(data)[source]

Create an aperture from a dictionary representation.

Parameters:

data (dict) – The dictionary representation of the aperture.

Returns:

The aperture object.

Return type:

RectangularAperture

scale(scale_factor)[source]

Scales the aperture by the given factor.

Parameters:

scale_factor (float) – The factor by which to scale the aperture.

to_dict()[source]

Convert the aperture to a dictionary.

Returns:

The dictionary representation of the aperture.

Return type:

dict

view(nx: int = 256, ny: int = 256, ax: Axes | None = None, buffer: float = 1.1, **kwargs) tuple[Figure, Axes]

Visualize the aperture.

Parameters:
  • nx (int) – The number of points in the x-direction.

  • ny (int) – The number of points in the y-direction.

  • ax (Axes) – The axes to plot on.

  • buffer (float) – The buffer around the aperture.

  • **kwargs – Additional keyword arguments to pass to the plot function.

Returns:

A tuple containing the figure and axes objects.

Return type:

tuple