Sensors
Sensor and platform configurations representing satellite, UAV, and ground-based observing systems together with their associated instrument types.
s2gos_simulator.config.sensors.BaseSensor
pydantic-model
Bases: BaseModel
Base sensor configuration.
Fields:
-
id(Optional[str]) -
platform_type(PlatformType) -
viewing(ViewingType) -
srf(Optional[SRFType]) -
produces(List[Literal['radiance', 'irradiance', 'hdrf', 'brf', 'bhr']]) -
samples_per_pixel(int) -
noise_model(Optional[Dict[str, Any]])
Validators:
-
resolve_srf_preset→srf
Attributes
id
pydantic-field
id: Optional[str] = None
Unique sensor identifier (auto-generated if not provided)
noise_model
pydantic-field
noise_model: Optional[Dict[str, Any]] = None
Noise model configuration
platform_type
pydantic-field
platform_type: PlatformType
Platform type identifier
produces
pydantic-field
produces: List[
Literal["radiance", "irradiance", "hdrf", "brf", "bhr"]
] = ["radiance"]
List of radiative quantities to be produced by this sensor configuration
samples_per_pixel
pydantic-field
samples_per_pixel: int = 64
Number of Monte Carlo samples per pixel
srf
pydantic-field
srf: Optional[SRFType] = None
Spectral response function
viewing
pydantic-field
viewing: ViewingType
Viewing geometry configuration
s2gos_simulator.config.sensors.SatelliteSensor
pydantic-model
Bases: BaseSensor
Satellite sensor configuration.
Fields:
-
id(Optional[str]) -
srf(Optional[SRFType]) -
produces(List[Literal['radiance', 'irradiance', 'hdrf', 'brf', 'bhr']]) -
samples_per_pixel(int) -
noise_model(Optional[Dict[str, Any]]) -
platform_type(Literal[SATELLITE]) -
viewing(AngularViewing) -
platform(SatellitePlatform) -
instrument(SatelliteInstrument) -
band(str) -
film_resolution(Tuple[int, int]) -
target_center_lat(float) -
target_center_lon(float) -
target_size_km(Union[float, Tuple[float, float]]) -
for_reference_only(bool)
Validators:
-
resolve_srf_preset→srf -
validate_and_set_defaults
Attributes
band
pydantic-field
band: str
Band identifier (validated against instrument-specific enum)
film_resolution
pydantic-field
film_resolution: Tuple[int, int]
Pixel grid dimensions (width, height) for 2D imaging
for_reference_only
pydantic-field
for_reference_only: bool = False
If True, this sensor is used for geometry specification only (e.g., for PixelHDRF/PixelBRF coordinate mapping) and will NOT be simulated. Use this when you already have satellite data and only need the sensor's geometry (lat/lon, resolution, viewing angles) for pixel index mapping. The sensor remains accessible for coordinate queries but is excluded from Eradiate measure translation.
instrument
pydantic-field
instrument: SatelliteInstrument
Satellite instrument identifier
pixel_size_m
property
pixel_size_m: Tuple[float, float]
Calculate ground pixel size in meters.
Returns:
| Type | Description |
|---|---|
Tuple[float, float]
|
Tuple of (pixel_size_x_m, pixel_size_y_m) in meters per pixel |
platform
pydantic-field
platform: SatellitePlatform
Satellite platform identifier
platform_type
pydantic-field
platform_type: Literal[SATELLITE] = SATELLITE
Platform type (always 'satellite')
target_center_lat
pydantic-field
target_center_lat: float
Target center latitude in WGS84 decimal degrees
target_center_lon
pydantic-field
target_center_lon: float
Target center longitude in WGS84 decimal degrees
target_size_km
pydantic-field
target_size_km: Union[float, Tuple[float, float]]
Target area size: float for square (km), tuple for rectangular (width_km, height_km)
viewing
pydantic-field
viewing: AngularViewing
Viewing geometry (zenith/azimuth angles)
Functions
validate_and_set_defaults
pydantic-validator
validate_and_set_defaults()
Validate platform/instrument/band combination and set defaults.
s2gos_simulator.config.sensors.UAVSensor
pydantic-model
Bases: BaseSensor
UAV sensor configuration.
Fields:
-
id(Optional[str]) -
srf(Optional[SRFType]) -
produces(List[Literal['radiance', 'irradiance', 'hdrf', 'brf', 'bhr']]) -
samples_per_pixel(int) -
noise_model(Optional[Dict[str, Any]]) -
platform_type(Literal[UAV]) -
instrument(UAVInstrumentType) -
viewing(Union[LookAtViewing, AngularFromOriginViewing]) -
fov(Optional[float]) -
resolution(Optional[List[int]]) -
post_processing(Optional[PostProcessingOptions])
Validators:
-
resolve_srf_preset→srf -
validate_instrument_config -
generate_default_id
Attributes
fov
pydantic-field
fov: Optional[float] = None
Field of view in degrees (required for perspective_camera)
instrument
pydantic-field
instrument: UAVInstrumentType
UAV instrument type
platform_type
pydantic-field
platform_type: Literal[UAV] = UAV
Platform type (always 'uav')
post_processing
pydantic-field
post_processing: Optional[PostProcessingOptions] = None
Post-processing pipeline options (spatial averaging, SRF, circular mask, etc.)
resolution
pydantic-field
resolution: Optional[List[int]] = None
Film resolution [width, height] (required for perspective_camera)
viewing
pydantic-field
viewing: Union[LookAtViewing, AngularFromOriginViewing]
Viewing geometry
Functions
generate_default_id
pydantic-validator
generate_default_id()
Auto-generates an ID based on instrument and altitude if missing.
s2gos_simulator.config.sensors.GroundSensor
pydantic-model
Bases: BaseSensor
Ground sensor configuration.
Fields:
-
id(Optional[str]) -
srf(Optional[SRFType]) -
produces(List[Literal['radiance', 'irradiance', 'hdrf', 'brf', 'bhr']]) -
samples_per_pixel(int) -
noise_model(Optional[Dict[str, Any]]) -
platform_type(Literal[GROUND]) -
instrument(GroundInstrumentType) -
viewing(Union[LookAtViewing, AngularFromOriginViewing, HemisphericalViewing, DistantViewing]) -
fov(Optional[float]) -
resolution(Optional[List[int]]) -
post_processing(Optional[PostProcessingOptions])
Validators:
-
resolve_srf_preset→srf -
set_instrument_defaults -
validate_compatibility_and_id
Attributes
fov
pydantic-field
fov: Optional[float] = None
Field of view in degrees (for camera-like instruments: HYPSTAR, perspective_camera, dhp_camera)
instrument
pydantic-field
instrument: GroundInstrumentType
Ground instrument type
platform_type
pydantic-field
platform_type: Literal[GROUND] = GROUND
Platform type (always 'ground')
post_processing
pydantic-field
post_processing: Optional[PostProcessingOptions] = None
Post-processing pipeline options (spatial averaging, SRF, circular mask, etc.)
resolution
pydantic-field
resolution: Optional[List[int]] = None
Film resolution [width, height] (for camera-like instruments: HYPSTAR, perspective_camera, dhp_camera)
viewing
pydantic-field
viewing: Union[
LookAtViewing,
AngularFromOriginViewing,
HemisphericalViewing,
DistantViewing,
]
Viewing geometry
s2gos_simulator.config.sensors.SatellitePlatform
Bases: str, Enum
Supported satellite platforms.
s2gos_simulator.config.sensors.SatelliteInstrument
Bases: str, Enum
Supported satellite instruments.
s2gos_simulator.config.sensors.GroundInstrumentType
Bases: str, Enum
Enum for ground instrument types for robustness.
s2gos_simulator.config.sensors.UAVInstrumentType
Bases: str, Enum
Enum for UAV-mounted instrument types.