Pair#
- class Pair(reference_paths: list | str | CloudPath | Path | Mosaic, secondary_paths: list | str | CloudPath | Path | Mosaic | None = None, id: str | None = None, output_path: str | CloudPath | Path | None = None, remove_tmp: bool = True, overlap_check: GeometryCheck | str = GeometryCheck.EXTENT, contiguity_check: GeometryCheck | str = GeometryCheck.EXTENT, **kwargs)[source]#
Bases:
Set
Class of two-products pair
- __init__(reference_paths: list | str | CloudPath | Path | Mosaic, secondary_paths: list | str | CloudPath | Path | Mosaic | None = None, id: str | None = None, output_path: str | CloudPath | Path | None = None, remove_tmp: bool = True, overlap_check: GeometryCheck | str = GeometryCheck.EXTENT, contiguity_check: GeometryCheck | str = GeometryCheck.EXTENT, **kwargs)[source]#
Output path of the pairs.
- condensed_name#
Mosaic condensed name, a mix based on the dates and constellations of the components of the mosaic.
- constellations#
List of unique constellations constituting the set
- crs#
CRS of the mosaic. If not provided in kwargs, using the first product’s crs.
- get_attr(attr: str, **kwargs) Any #
Get attribute, either from kwargs or from the first product (default)
- Parameters:
attr (str) – Wanted attribute
**kwargs – Other args
- Returns:
Attribute result
- Return type:
Any
- get_bands_to_load(bands, out_suffix='tif') -> (<class 'list'>, <class 'dict'>)#
- get_first_prod() Product #
Get first product, which should be coherent with all others
- Returns:
First reference product
- Return type:
Product
- has_band(band: BandNames | str) bool #
Does this moasic have products with the specified band ?
By band, we mean:
satellite band
index
DEM band
cloud band
- has_bands(bands: list | BandNames | str) bool #
Does this moasic have products with the specified bands ?
By band, we mean:
satellite band
index
DEM band
cloud band
See
has_band
for a code example.
- has_secondary#
Does the pair have a secondary mosaic? (Pair with only one reference is allowed)
- id: str#
ID of the reference product, given by the creator of the mosaic. If not, a mix based on the dates and constellations of its components.
- is_homogeneous(attr: str) bool #
Check if the given attribute is the same for all products constituting the mosaic.
- load(reference_bands: list | ~eoreader.bands.band_names.BandNames | str | None = None, secondary_bands: list | ~eoreader.bands.band_names.BandNames | str | None = None, diff_bands: list | ~eoreader.bands.band_names.BandNames | str | None = None, pixel_size: float | None = None, diff_method: ~eosets.pair.DiffMethod = DiffMethod.REFERENCE_SECONDARY, resampling: ~rasterio.enums.Resampling = Resampling.bilinear, **kwargs) -> (<class 'xarray.core.dataset.Dataset'>, <class 'xarray.core.dataset.Dataset'>, <class 'xarray.core.dataset.Dataset'>)[source]#
Load the bands and compute the wanted spectral indices for reference, secondary and diff.
- Parameters:
reference_bands (Union[list, BandNames, str]) – Wanted reference bands
secondary_bands (Union[list, BandNames, str]) – Wanted secondary bands
diff_bands (Union[list, BandNames, str]) – Wanted diff bands
pixel_size (float) – Pixel size of the returned Datasets. If not specified, use the pair’s pixel size.
diff_method (DiffMethod) – Difference method for the computation of diff_bands
resampling (Resampling) – Resampling method
kwargs – Other arguments used to load bands
- Returns:
Reference, secondary and diff wanted bands as xr.Datasets
- Return type:
(xr.Dataset, xr.Dataset, xr.Dataset)
- nodata#
Nodata of the mosaic. If not provided in kwargs, using the first product’s nodata.
- property output: CloudPath | Path#
Output directory of the set
- Returns:
Output path of the set
- Return type:
AnyPathType
- pixel_size#
Pixel size of the set. If not provided in kwargs, using the first product’s pixel size.
- reference_id#
ID of the reference product
- reference_mosaic#
Reference mosaic (unique date and contiguous). The one on which the secondary will be aligned.
- same_constellation#
Is the mosaic constituted of the same constellation?
- same_crs#
Is the mosaic constituted of the same sensor type?
- secondary_id#
ID of the secondary product
- secondary_mosaic#
Secondary mosaic (unique date and contiguous). The one which will be aligned on the reference.
- stack(reference_bands: list | BandNames | str | None = None, secondary_bands: list | BandNames | str | None = None, diff_bands: list | BandNames | str | None = None, pixel_size: float | None = None, diff_method: DiffMethod = DiffMethod.REFERENCE_SECONDARY, stack_path: str | CloudPath | Path | None = None, save_as_int: bool = False, **kwargs) DataArray [source]#
Stack bands and index of a pair.
- Parameters:
reference_bands (Union[list, BandNames, str]) – Bands and index combination for the reference mosaic
secondary_bands (Union[list, BandNames, str]) – Bands and index combination for the secondary mosaic
diff_bands (Union[list, BandNames, str]) – Bands and index combination for the difference between reference and secondary mosaic
pixel_size (float) – Stack pixel size. If not specified, use the pair’s pixel size.
stack_path (Union[str, AnyPathType]) – Stack path
save_as_int (bool) – Convert stack to uint16 to save disk space (and therefore multiply the values by 10.000)
**kwargs – Other arguments passed to
load
orrioxarray.to_raster()
(such ascompress
)
- Returns:
Stack as a DataArray
- Return type:
xr.DataArray