0.1.13
Loading...
Searching...
No Matches
pyhelios.RadiationModel.CameraProperties Class Reference

Camera properties for radiation model cameras. More...

Detailed Description

Camera properties for radiation model cameras.

This class encapsulates the properties needed to configure a radiation camera, providing sensible defaults and validation for camera parameters. Updated for Helios v1.3.60 with camera_zoom support.

Definition at line 103 of file RadiationModel.py.

Public Member Functions

 __init__ (self, camera_resolution=None, focal_plane_distance=1.0, lens_diameter=0.05, HFOV=20.0, FOV_aspect_ratio=0.0, lens_focal_length=0.05, sensor_width_mm=35.0, model="generic", lens_make="", lens_model="", lens_specification="", exposure="auto", shutter_speed=1.0/125.0, white_balance="auto", camera_zoom=1.0)
 Initialize camera properties with defaults matching C++ CameraProperties.
 
 to_array (self)
 Convert to array format expected by C++ interface.
 
 __repr__ (self)
 

Public Attributes

 focal_plane_distance = float(focal_plane_distance)
 
 lens_diameter = float(lens_diameter)
 
 HFOV = float(HFOV)
 
 FOV_aspect_ratio = float(FOV_aspect_ratio)
 
 lens_focal_length = float(lens_focal_length)
 
 sensor_width_mm = float(sensor_width_mm)
 
 shutter_speed = float(shutter_speed)
 
 camera_zoom = float(camera_zoom)
 
 model = str(model)
 
 lens_make = str(lens_make)
 
 lens_model = str(lens_model)
 
 lens_specification = str(lens_specification)
 
 exposure = str(exposure)
 
 white_balance = str(white_balance)
 

Constructor & Destructor Documentation

◆ __init__()

pyhelios.RadiationModel.CameraProperties.__init__ ( self,
camera_resolution = None,
focal_plane_distance = 1.0,
lens_diameter = 0.05,
HFOV = 20.0,
FOV_aspect_ratio = 0.0,
lens_focal_length = 0.05,
sensor_width_mm = 35.0,
model = "generic",
lens_make = "",
lens_model = "",
lens_specification = "",
exposure = "auto",
shutter_speed = 1.0/125.0,
white_balance = "auto",
camera_zoom = 1.0 )

Initialize camera properties with defaults matching C++ CameraProperties.

Parameters
camera_resolutionCamera resolution as (width, height) tuple or list. Default: (512, 512)
focal_plane_distanceDistance from viewing plane to focal plane (working distance). Default: 1.0
lens_diameterDiameter of camera lens (0 = pinhole camera). Default: 0.05
HFOVHorizontal field of view in degrees. Default: 20.0
FOV_aspect_ratioRatio of horizontal to vertical FOV. Default: 0.0 (auto-calculate from resolution)
lens_focal_lengthCamera lens optical focal length in meters (physical, not 35mm equiv). Default: 0.05 (50mm)
sensor_width_mmPhysical sensor width in mm. Default: 35.0 (full-frame)
modelCamera model name (e.g., "Nikon D700", "Canon EOS 5D"). Default: "generic"
lens_makeLens manufacturer (e.g., "Canon", "Nikon"). Default: ""
lens_modelLens model name (e.g., "AF-S NIKKOR 50mm f/1.8G"). Default: ""
lens_specificationLens specification (e.g., "50mm f/1.8"). Default: ""
exposureExposure mode - "auto", "ISOXXX" (e.g., "ISO100"), or "manual". Default: "auto"
shutter_speedCamera shutter speed in seconds (e.g., 0.008 for 1/125s). Default: 0.008 (1/125s)
white_balanceWhite balance mode - "auto" or "off". Default: "auto"
camera_zoomCamera optical zoom multiplier. 1.0 = no zoom, 2.0 = 2x zoom. Scales effective HFOV: effective_HFOV = HFOV / camera_zoom. Default: 1.0

Definition at line 126 of file RadiationModel.py.

Member Function Documentation

◆ __repr__()

pyhelios.RadiationModel.CameraProperties.__repr__ ( self)

Definition at line 224 of file RadiationModel.py.

◆ to_array()

pyhelios.RadiationModel.CameraProperties.to_array ( self)

Convert to array format expected by C++ interface.

Note
Returns numeric fields only. String fields (model, lens_make, etc.) are currently initialized with defaults in the C++ wrapper and cannot be set via this interface. Use the upcoming camera library methods for full metadata control.
Returns
List of 10 float values: [resolution_x, resolution_y, focal_distance, lens_diameter, HFOV, FOV_aspect_ratio, lens_focal_length, sensor_width_mm, shutter_speed, camera_zoom]

Definition at line 210 of file RadiationModel.py.

Member Data Documentation

◆ camera_zoom

pyhelios.RadiationModel.CameraProperties.camera_zoom = float(camera_zoom)

Definition at line 167 of file RadiationModel.py.

◆ exposure

pyhelios.RadiationModel.CameraProperties.exposure = str(exposure)

Definition at line 195 of file RadiationModel.py.

◆ focal_plane_distance

pyhelios.RadiationModel.CameraProperties.focal_plane_distance = float(focal_plane_distance)

Definition at line 160 of file RadiationModel.py.

◆ FOV_aspect_ratio

pyhelios.RadiationModel.CameraProperties.FOV_aspect_ratio = float(FOV_aspect_ratio)

Definition at line 163 of file RadiationModel.py.

◆ HFOV

pyhelios.RadiationModel.CameraProperties.HFOV = float(HFOV)

Definition at line 162 of file RadiationModel.py.

◆ lens_diameter

pyhelios.RadiationModel.CameraProperties.lens_diameter = float(lens_diameter)

Definition at line 161 of file RadiationModel.py.

◆ lens_focal_length

pyhelios.RadiationModel.CameraProperties.lens_focal_length = float(lens_focal_length)

Definition at line 164 of file RadiationModel.py.

◆ lens_make

pyhelios.RadiationModel.CameraProperties.lens_make = str(lens_make)

Definition at line 192 of file RadiationModel.py.

◆ lens_model

pyhelios.RadiationModel.CameraProperties.lens_model = str(lens_model)

Definition at line 193 of file RadiationModel.py.

◆ lens_specification

pyhelios.RadiationModel.CameraProperties.lens_specification = str(lens_specification)

Definition at line 194 of file RadiationModel.py.

◆ model

pyhelios.RadiationModel.CameraProperties.model = str(model)

Definition at line 191 of file RadiationModel.py.

◆ sensor_width_mm

pyhelios.RadiationModel.CameraProperties.sensor_width_mm = float(sensor_width_mm)

Definition at line 165 of file RadiationModel.py.

◆ shutter_speed

pyhelios.RadiationModel.CameraProperties.shutter_speed = float(shutter_speed)

Definition at line 166 of file RadiationModel.py.

◆ white_balance

pyhelios.RadiationModel.CameraProperties.white_balance = str(white_balance)

Definition at line 196 of file RadiationModel.py.


The documentation for this class was generated from the following file: