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.

clean_tmp()[source]#

Clean the temporary directory of the current pair

clear()[source]#

Clear this pair’s cache

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.

extent = <methodtools._LruCacheWire object>[source]#
footprint = <methodtools._LruCacheWire object>[source]#
full_name: str#

Mosaic full name.

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

get_prods() list[source]#

Get all the products as a list.

Returns:

Products list

Return type:

list

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

Parameters:

band (Union[BandNames, str]) – EOReader band (optical, SAR, clouds, DEM)

Returns:

True if the products has the specified band

Return type:

bool

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.

Parameters:

bands (Union[list, BandNames, str]) – EOReader bands (optical, SAR, clouds, DEM)

Returns:

True if the products has the specified band

Return type:

bool

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.

Parameters:

attr (str) – Attribute to be checked. Must be available in EOReader’s Product

Returns:

True if this attribute is the same for all products constituting the mosaic.

Return type:

bool

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.

nof_prods: int#

Number of products.

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.

read_mtd()[source]#

Read the pair’s metadata, but not implemented for now.

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 or rioxarray.to_raster() (such as compress)

Returns:

Stack as a DataArray

Return type:

xr.DataArray