Camera Handle

class huira.swir8.CameraModelHandle
__init__(*args, **kwargs)
configure_sensor_from_pitch(self: huira._huira.swir8.CameraModelHandle, resolution: tuple[int, int], pitch_x: object, pitch_y: object = None, cx: float | None = None, cy: float | None = None) None

Configure sensor using a resolution tuple (width, height) and pixel pitch. pitch_y defaults to pitch_x (square pixels). cx/cy default to center.

configure_sensor_from_size(self: huira._huira.swir8.CameraModelHandle, resolution: tuple[int, int], width: object, height: object = None, cx: float | None = None, cy: float | None = None) None

Configure sensor using a resolution tuple (width, height) and physical size. height defaults to maintaining square pixels. cx/cy default to center.

delete_distortion(self: huira._huira.swir8.CameraModelHandle) None
delete_psf(self: huira._huira.swir8.CameraModelHandle) None
disable_harvey_shack_scatter(self: huira._huira.swir8.CameraModelHandle) None
disable_veiling_glare(self: huira._huira.swir8.CameraModelHandle) None
enable_depth_of_field(self: huira._huira.swir8.CameraModelHandle, depth_of_field: bool = True) None
enable_psf_convolution(self: huira._huira.swir8.CameraModelHandle, convolve_psf: bool = True) None
focal_length(self: huira._huira.swir8.CameraModelHandle) huira._huira.Millimeter
fstop(self: huira._huira.swir8.CameraModelHandle) float
get_diopters(self: huira._huira.swir8.CameraModelHandle) huira._huira.Diopter
get_focus_distance(self: huira._huira.swir8.CameraModelHandle) huira._huira.Meter
make_frame_buffer(self: huira._huira.swir8.CameraModelHandle) huira::FrameBuffer<huira::SpectralBins<8ul, 900, 2500> >
set_brown_conrady_distortion(self: huira._huira.swir8.CameraModelHandle, coeffs: huira._huira.BrownCoefficients) None
set_diopters(self: huira._huira.swir8.CameraModelHandle, diopters: object) None

Set the camera diopter (accepts units of diopters)

set_focal_length(self: huira._huira.swir8.CameraModelHandle, focal_length: object) None

Set the focal length (accepts any distance unit)

set_focus_distance(self: huira._huira.swir8.CameraModelHandle, focus_distance: object) None

Set the focus distance (accepts any distance unit)

set_fstop(self: huira._huira.swir8.CameraModelHandle, fstop: float) None
set_harvey_shack_scatter(self: huira._huira.swir8.CameraModelHandle, scatter_fraction: float, falloff_exponent: float, r0: float = 0.5, radius: float = 0.0) None

Add Harvey-Shack scattered-light wings to the total system PSF: ‘scatter_fraction’ of the energy follows a power-law halo with the given falloff exponent (typically 2-3), shoulder radius r0 (pixels), and optional hard cutoff radius (0 = none).

set_intrinsic_matrix(self: huira._huira.swir8.CameraModelHandle, intrinsic_matrix: glm::mat<3, 3, float, (glm::qualifier)0>, resolution: tuple[int, int], anchor_focal_length: object) None

Explicitly set the 3x3 intrinsic matrix with a resolution tuple and physical focal length anchor.

set_intrinsics(self: huira._huira.swir8.CameraModelHandle, fx: float, fy: float, cx: float, cy: float, resolution: tuple[int, int], anchor_focal_length: object) None

Explicitly set mathematical intrinsics with a resolution tuple and physical focal length anchor.

set_measured_psf(self: huira._huira.swir8.CameraModelHandle, data: huira::Image<huira::SpectralBins<8ul, 900, 2500> >, samples_per_pixel: float, radius: int = 0, banks: int = 16) None

Use a measured (user-supplied) PSF as the camera’s core PSF. ‘data’ is an Image of centered PSF samples; ‘samples_per_pixel’ is the measurement sampling density per sensor pixel per axis. radius=0 auto-selects the largest stamping radius covered by the measurement (capped at 64).

set_opencv_distortion(self: huira._huira.swir8.CameraModelHandle, coeffs: huira._huira.OpenCVCoefficients) None
set_owen_distortion(self: huira._huira.swir8.CameraModelHandle, coeffs: huira._huira.OwenCoefficients) None
set_psf_convolution_radius(self: huira._huira.swir8.CameraModelHandle, radius: int) None

Set the radius (pixels) of the whole-image PSF convolution kernel, independent of the polyphase stamping radius. Large frame-wide radii are supported.

set_sensor_bias_level(self: huira._huira.swir8.CameraModelHandle, bias_level: float) None
set_sensor_bit_depth(self: huira._huira.swir8.CameraModelHandle, bit_depth: int) None
set_sensor_conversion_gain(self: huira._huira.swir8.CameraModelHandle, gain: float) None
set_sensor_dark_current(self: huira._huira.swir8.CameraModelHandle, dark_current: float) None
set_sensor_full_well_capacity(self: huira._huira.swir8.CameraModelHandle, fwc: float) None
set_sensor_gain_db(self: huira._huira.swir8.CameraModelHandle, gain_db: float) None
set_sensor_pixel_pitch(self: huira._huira.swir8.CameraModelHandle, *args, **kwargs) None
set_sensor_quantum_efficiency(*args, **kwargs)

Overloaded function.

  1. set_sensor_quantum_efficiency(self: huira._huira.swir8.CameraModelHandle, qe: float) -> None

Set quantum efficiency (scalar, e.g. 0.7)

  1. set_sensor_quantum_efficiency(self: huira._huira.swir8.CameraModelHandle, qe: huira._huira.swir8.SpectralBins) -> None

Set quantum efficiency (spectral)

set_sensor_read_noise(self: huira._huira.swir8.CameraModelHandle, read_noise: float) None
set_sensor_resolution(self: huira._huira.swir8.CameraModelHandle, *args, **kwargs) None
set_sensor_rotation(self: huira._huira.swir8.CameraModelHandle, angle: object) None

Set sensor rotation (accepts any angle unit, e.g. Radian, Degree)

set_sensor_simulate_noise(self: huira._huira.swir8.CameraModelHandle, simulate_noise: bool) None
set_sensor_size(self: huira._huira.swir8.CameraModelHandle, *args, **kwargs) None
set_sensor_unity_db(self: huira._huira.swir8.CameraModelHandle, unity_db: float) None
set_veiling_glare(self: huira._huira.swir8.CameraModelHandle, alpha: float) None

Redistribute the given fraction of total collected energy uniformly across the image (veiling glare).

use_aperture_psf(*args, **kwargs)

Overloaded function.

  1. use_aperture_psf(self: huira._huira.swir8.CameraModelHandle, value: bool) -> None

  2. use_aperture_psf(self: huira._huira.swir8.CameraModelHandle, radius: int = 64, banks: int = 16) -> None

use_blender_convention(self: huira._huira.swir8.CameraModelHandle, value: bool = True) None
valid(self: huira._huira.swir8.CameraModelHandle) bool