Camera presets¶
getframes ships a library of camera configurations so you can start simulating
without hunting down datasheet numbers.
Listing presets¶
from getframes import available_presets
from getframes.presets import preset_info
available_presets()
# ['andor_ikon_m934', 'andor_ixon_ultra_888', 'generic_ccd', ...]
preset_info()
# [{'preset': 'andor_ikon_m934', 'name': 'Andor iKon-M 934',
# 'manufacturer': 'Andor', 'model': 'iKon-M 934', 'sensor_type': 'CCD'}, ...]
Loading a preset¶
import getframes as gf
cam = gf.Camera.from_preset("andor_ixon_ultra_888")
# Or get the raw config to tweak it:
cfg = gf.load_preset("andor_ixon_ultra_888")
warmer = cfg.replace(em_gain=100.0)
cam = gf.Camera(warmer)
Bundled cameras¶
| Preset | Sensor | Description |
|---|---|---|
andor_ikon_m934 |
CCD | Deep-cooled (−80 °C) back-illuminated scientific CCD |
andor_ixon_ultra_888 |
EMCCD | Single-photon-sensitive EMCCD |
leonardo_saphira |
EAPD | HgCdTe avalanche IR array (AO wavefront sensing) |
zwo_asi2600mm |
CMOS | Sony IMX571 cooled CMOS |
hamamatsu_orca_fusion |
sCMOS | Back-thinned sCMOS with per-pixel read noise |
generic_ccd |
CCD | Idealised CCD for teaching/testing |
generic_cmos |
CMOS | Idealised uncooled CMOS |
generic_emccd |
EMCCD | Idealised EMCCD |
generic_eapd |
EAPD | Idealised eAPD (avalanche gain, low excess noise) |
generic_scmos |
sCMOS | Idealised sCMOS (per-pixel read noise, nonlinearity) |
Verify before quantitative use
Preset values are representative of published specifications but are not a substitute for characterising your own hardware. Treat them as realistic starting points.
Adding your own preset¶
Presets are plain TOML files in src/getframes/presets/data/. To add a camera,
drop in a <slug>.toml file whose keys mirror
CameraConfig:
name = "My Camera"
manufacturer = "Acme"
model = "CAM-9000"
sensor_type = "CMOS"
resolution = [2048, 2048]
pixel_size_um = 5.0
quantum_efficiency = 0.85
full_well_e = 20000.0
bit_depth = 12
gain_e_per_adu = 1.0
bias_offset_adu = 250.0
read_noise_e = 2.0
dark_current_e_per_s = 0.3
dark_current_ref_temp_c = 20.0
dark_current_doubling_temp_c = 6.0
notes = "Where these numbers came from."
The loader discovers the file automatically — no code changes required. If you are working from a clone, the preset test suite will validate it loads correctly.