Series#

class Series(paths: list, id: str = None, output_path: str | CloudPath | Path = None, remove_tmp: bool = True, overlap_check: GeometryCheck | str = GeometryCheck.EXTENT, contiguity_check: GeometryCheck | str = GeometryCheck.EXTENT, alignement: Alignment | str = Alignment.FIRST, coregister: bool = False, reference_mosaic: Mosaic | int = None, **kwargs)[source]#

Bases: Set

Class of series

__init__(paths: list, id: str = None, output_path: str | CloudPath | Path = None, remove_tmp: bool = True, overlap_check: GeometryCheck | str = GeometryCheck.EXTENT, contiguity_check: GeometryCheck | str = GeometryCheck.EXTENT, alignement: Alignment | str = Alignment.FIRST, coregister: bool = False, reference_mosaic: Mosaic | int = None, **kwargs)[source]#

Output path of the pairs.

clean_tmp()#

Clean the temporary directory of the current product

clear()#

Clear this product’s cache

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_band_file_name(band: BandNames, pixel_size: float = None, size: list | tuple = None, suffix: str = 'tif', **kwargs) str#

Get the filename of any band, managing windows and other args.

Parameters:
  • band (BandNames) – Wanted band

  • pixel_size (float) – Band pixel size in meters

  • size (tuple | list) – Size of the array (width, height). Not used if pixel_size is provided.

  • kwargs – Additional arguments

Returns:

Band file name

Return type:

str

get_bands_to_load(bands, out_suffix='tif', **kwargs) -> (<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_mosaics() list[Mosaic][source]#

Get all the mosaics contained in the set as a list.

Returns:

Mosaic list

Return type:

list[Mosaic]

get_prods() list[Product]#

Get all the products as a list.

Returns:

Products list

Return type:

list

has_band(band: str | SpectralBandNames | SarBandNames | CloudsBandNames | DemBandNames | BandNames) bool#

Does this moasic have products with the specified band ?

By band, we mean:

  • satellite band

  • index

  • DEM band

  • cloud band

Parameters:

band (BandType) – EOReader band (optical, SAR, clouds, DEM)

Returns:

True if the products has the specified band

Return type:

bool

has_bands(bands: list | str | SpectralBandNames | SarBandNames | CloudsBandNames | DemBandNames | BandNames) 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 (BandsType) – EOReader bands (optical, SAR, clouds, DEM)

Returns:

True if the products has the specified band

Return type:

bool

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(bands: list | str | SpectralBandNames | SarBandNames | CloudsBandNames | DemBandNames | BandNames = None, pixel_size: float = None, resampling: Resampling = Resampling.bilinear, **kwargs) Dataset[source]#

Load the bands and compute the wanted spectral indices.

Parameters:
  • bands (BandsType) – Wanted bands

  • pixel_size (float) – Pixel size of the returned Dataset. If not specified, use the mosaic’s pixel size.

  • resampling (Resampling) – Resampling method

  • **kwargs – Other arguments used to load bands

Returns:

Wanted bands as xr.Datasets

Return type:

xr.Dataset

post_init(**kwargs)#

Post initialization as the set level.

read_mtd()[source]#

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

stack(bands: list, pixel_size: float = None, stack_path: str | CloudPath | Path = None, save_as_int: bool = False, **kwargs) DataArray[source]#

Stack bands and index of a series.

Parameters:
  • bands (list) – Bands and index combination

  • pixel_size (float) – Stack pixel size. If not specified, use the product pixel size.

  • stack_path (AnyPathStrType) – 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

alignment#

Series alignment (on first mosaic, on last mosaic, on a hypothetical mean product).

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

coregister#

Do we need to coregister the time series?

crs#

CRS of the mosaic. If not provided in kwargs, using the first product’s crs.

default_pixel_size: int#

by default it is the coarsest pixel size of the set.

Type:

Default pixel size of the set

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

Mosaic full name.

id: str#

ID of the series

is_optical: bool#

All products of this set are Optical data.

is_sar: bool#

All products of this set are SAR data.

mosaics#

Mosaics composing the series.

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.

property reference_mosaic: Mosaic#

Reference mosaic

same_constellation#

Is the mosaic constituted of the same constellation?

same_crs#

Is the mosaic constituted of the same sensor type?