de_twin.detector.CameraModel#

class de_twin.detector.CameraModel(name: 'str', de_model: 'str', sensor_shape: 'tuple[int, int]', pixel_um: 'float', bit_depth: 'int', bytes_per_pixel: 'int', topology: 'str' = 'single', num_parts: 'int' = 1, sensor_family: 'str' = 'ADELE', hardware_counting: 'bool' = False, full_frame_time_s: 'float' = 0.010821, hw_quanta: 'int' = 1, saturation_adu: 'int' = 2192, segment_shape: 'tuple[int, int]' = (2048, 256), supports_hw_roi_x: 'bool' = False, adu_table: 'tuple[tuple[float, float], ...]' = ((80.0, 1379.0), (120.0, 791.0), (200.0, 316.0), (300.0, 206.0)), adu_cv: 'float' = 0.7, charge_spread: 'float' = 0.2, read_noise_adu: 'float' = 9.0, dark_offset_adu: 'float' = 360.0, dark_current_adu_per_s: 'float' = 5.0, dsnu_adu: 'float' = 3.0, fpn_column_adu: 'float' = 4.0, fpn_pattern: 'bool' = True, gain_pixel_sigma: 'float' = 0.015, gain_column_sigma: 'float' = 0.005, gain_radial: 'float' = 0.04, gain_stitch: 'float' = 0.02, hot_pixel_fraction: 'float' = 2e-05, hot_dark_current_adu_per_s: 'tuple[float, float]' = (20000.0, 200000.0), dead_pixel_fraction: 'float' = 1e-05, bad_column_fraction: 'float' = 0.0005, cluster_area_px: 'float' = 2.5, false_event_rate: 'float' = 2e-06, reference_ht_kv: 'float' = 300.0, aliases: 'tuple[str, ...]' = ())[source]#

Bases: object

Parameters:
__init__(name, de_model, sensor_shape, pixel_um, bit_depth, bytes_per_pixel, topology='single', num_parts=1, sensor_family='ADELE', hardware_counting=False, full_frame_time_s=0.010821, hw_quanta=1, saturation_adu=2192, segment_shape=(2048, 256), supports_hw_roi_x=False, adu_table=((80.0, 1379.0), (120.0, 791.0), (200.0, 316.0), (300.0, 206.0)), adu_cv=0.7, charge_spread=0.2, read_noise_adu=9.0, dark_offset_adu=360.0, dark_current_adu_per_s=5.0, dsnu_adu=3.0, fpn_column_adu=4.0, fpn_pattern=True, gain_pixel_sigma=0.015, gain_column_sigma=0.005, gain_radial=0.04, gain_stitch=0.02, hot_pixel_fraction=2e-05, hot_dark_current_adu_per_s=(20000.0, 200000.0), dead_pixel_fraction=1e-05, bad_column_fraction=0.0005, cluster_area_px=2.5, false_event_rate=2e-06, reference_ht_kv=300.0, aliases=())#
Parameters:
Return type:

None

Methods

__init__(name, de_model, sensor_shape, ...)

adu_per_electron_at(ht_kv)

Total ADU per primary electron at ht_kv (log-log interpolation of the HT table).

charge_spread_at(ht_kv)

Neighbour weight of the 3-tap charge kernel; mildly larger at low HT (heuristic).

with_(**changes)

Attributes

name: str#
de_model: str#
sensor_shape: tuple[int, int]#
pixel_um: float#
bit_depth: int#
bytes_per_pixel: int#
topology: str = 'single'#
num_parts: int = 1#
sensor_family: str = 'ADELE'#
hardware_counting: bool = False#
full_frame_time_s: float = 0.010821#
hw_quanta: int = 1#
saturation_adu: int = 2192#
segment_shape: tuple[int, int] = (2048, 256)#
supports_hw_roi_x: bool = False#
adu_table: tuple[tuple[float, float], ...] = ((80.0, 1379.0), (120.0, 791.0), (200.0, 316.0), (300.0, 206.0))#
adu_cv: float = 0.7#
charge_spread: float = 0.2#
read_noise_adu: float = 9.0#
dark_offset_adu: float = 360.0#
dark_current_adu_per_s: float = 5.0#
dsnu_adu: float = 3.0#
fpn_column_adu: float = 4.0#
fpn_pattern: bool = True#
gain_pixel_sigma: float = 0.015#
gain_column_sigma: float = 0.005#
gain_radial: float = 0.04#
gain_stitch: float = 0.02#
hot_pixel_fraction: float = 2e-05#
hot_dark_current_adu_per_s: tuple[float, float] = (20000.0, 200000.0)#
dead_pixel_fraction: float = 1e-05#
bad_column_fraction: float = 0.0005#
cluster_area_px: float = 2.5#
false_event_rate: float = 2e-06#
reference_ht_kv: float = 300.0#
aliases: tuple[str, ...] = ()#
property sensor_w: int#
property sensor_h: int#
property max_value: int#
property dtype#
property max_fps: float#

delivered frames at hw_quanta).

Type:

Fastest full-sensor frame rate (counting cameras

property adu_per_electron: float#
adu_per_electron_at(ht_kv)[source]#

Total ADU per primary electron at ht_kv (log-log interpolation of the HT table).

Parameters:

ht_kv (float)

Return type:

float

charge_spread_at(ht_kv)[source]#

Neighbour weight of the 3-tap charge kernel; mildly larger at low HT (heuristic).

Parameters:

ht_kv (float)

Return type:

float

with_(**changes)[source]#
Return type:

CameraModel