pybsm.radiance.functional.reflectance_to_photoelectrons
- pybsm.radiance.functional.reflectance_to_photoelectrons(*, atm: ndarray, sensor: Sensor, int_time: float, target_temp: int = 300) tuple[ndarray, ndarray, ndarray]
Provides a mapping between reflectance on the ground and photoelectrons collected in the sensor well.
Provides a mapping between reflectance (0 to 1 in 100 steps) on the ground and photoelectrons collected in the sensor well for a given atmosphere. The target is assumed to be fully illuminated and spectrally flat. The target reflects the solar illumination at a rate corresponding to its assumed reflectance. But, this function also considers the finite temperature of the target and the radiative emission from the target itself. This function also considers the thermal emission from the imaging system itself (cold shield, cold stop, optical glass), which is relevant in system that are sensitive to the thermal emission wavebands. Dark current is included.
- Parameters:
atm – atmospheric data as defined in utils.loadDatabaseAtmosphere; the slant range between the target and sensor are implied by this choice
sensor – sensor parameters as defined in the pybsm sensor class
int_time – camera integration time (s)
target_temp – float Temperature of the target (Kelvin)
- Returns:
- ref :
array of reflectance values (unitless) from 0 to 1 in 100 steps
- pe :
photoelectrons generated during the integration time corresponding to the reflectance values in ref
- spectral_weights :
2xN arraylike details of the relative spectral contributions to the collected signal, which is useful for wavelength-weighted OTF calculations; the first row is the wavelength (m) and the second row is the relative contribution to the signal from the associated column-paired wavelength
- Raises:
- IndexError:
if atm is not a 2D array