eomatch.finder.sat2sat.Sat2SatMUFinder#
- class eomatch.finder.sat2sat.Sat2SatMUFinder(*args: Any, **kwargs: Any)[source]#
Finder for collocated pairs of satellite image products.
Wraps the full satellite-to-satellite matchup discovery pipeline:
Run
orbitx(or load a cached NetCDF) to obtain crossover events.Filter events against the spatial/temporal bounds in the context config.
Convert each event to a
MatchupEvent.For each event, query
scrappiper platform, check geometric overlap, and buildMatchupobjects.Return the full list of
MatchupEventobjects, each carrying itsMatchupSet.
Example usage:
from eomatch import EOMatchContext from eomatch.finder.sat2sat import Sat2SatMUFinder ctx = EOMatchContext("my_config.yaml") finder = Sat2SatMUFinder(context=ctx) events = finder.finder()
- __init__(context: dict | str | None = None) None#
Initialise the finder.
- Parameters:
context –
EOMatchContext(or a dict/path accepted by the parentBaseProcessor) supplying runtime configuration. Defaults toEOMatchContext().
Methods
__init__([context])Initialise the finder.
all_products_overlap(products)Return
Trueif every pair of products in products has a non-empty geometric intersection.filter_events(data)Filter a list of raw orbitx events against the bounds in the context config.
filter_overlapping_products(productitem, ...)Return the subset of productitemset whose geometry overlaps productitem.
finder()Run the full matchup discovery pipeline.
Return an
orbitxmatchup dataset, either from a cached NetCDF or by running the propagator.has_products(product_array)Return
Trueif product_array is non-None and non-empty.run_scrappi(query[, context])Execute a single scrappi query and return the matching products.
to_matchup_event(events)Convert raw orbitx event dicts to
MatchupEventobjects.to_matchup_set(mu_events)Query scrappi for each event and build per-event
MatchupSetobjects.