enpt.processors.orthorectification package

Submodules

enpt.processors.orthorectification.orthorectification module

EnPT module ‘orthorectification’ for transforming an EnMAP image from sensor to map geometry based on a pixel- and band-wise coordinate-layer (geolayer).

class enpt.processors.orthorectification.orthorectification.Orthorectifier(config: EnPTConfig)[source]

Bases: object

Create an instance of Orthorectifier.

_get_common_extent(enmap_ImageL1: EnMAPL1Product_SensorGeo, tgt_epsg: int, enmap_grid: bool = True) Tuple[float, float, float, float][source]

Get common target extent for VNIR and SWIR.

Para enmap_ImageL1:

Parameters:
  • tgt_epsg

  • enmap_grid

Returns:

static get_enmap_coordinate_grid_ll(lon: float, lat: float)[source]

Return EnMAP-like (30x30m) longitude/latitude pixel grid specs at the given position.

run_transformation(enmap_ImageL1: EnMAPL1Product_SensorGeo) EnMAPL2Product_MapGeo[source]
static validate_input(enmap_ImageL1: EnMAPL1Product_SensorGeo)[source]
class enpt.processors.orthorectification.orthorectification.VNIR_SWIR_Stacker(vnir: GeoArray, swir: GeoArray, vnir_wvls: list | ndarray, swir_wvls: list | ndarray)[source]

Bases: object

Get an instance of VNIR_SWIR_Stacker.

Parameters:
  • vnir

  • swir

  • vnir_wvls

  • swir_wvls

_get_stack_average(filterwidth: int = 3) Tuple[ndarray, ndarray][source]

Stack bands and use averaging to compute the spectral information in the VNIR/SWIR overlap.

Parameters:

filterwidth – number of bands to be included in the averaging - must be an uneven number

_get_stack_order_by_wvl() Tuple[ndarray, ndarray][source]

Stack bands ordered by wavelengths.

_get_stack_swir_only() Tuple[ndarray, ndarray][source]

Stack bands while removing overlapping VNIR bands.

_get_stack_vnir_only() Tuple[ndarray, ndarray][source]

Stack bands while removing overlapping SWIR bands.

_validate_input()[source]
compute_stack(algorithm: str) GeoArray[source]

Stack VNIR and SWIR bands with respect to their spectral overlap.

Parameters:

algorithm – ‘order_by_wvl’: keep spectral bands unchanged, order bands by wavelength ‘average’: average the spectral information within the overlap ‘vnir_only’: only use the VNIR bands (cut overlapping SWIR bands) ‘swir_only’: only use the SWIR bands (cut overlapping VNIR bands)

Returns:

the stacked data cube as GeoArray instance

Module contents

EnPT module ‘orthorectification’ for transforming an EnMAP image from sensor to map geometry based on a pixel- and band-wise coordinate-layer (geolayer).

class enpt.processors.orthorectification.Orthorectifier(config: EnPTConfig)[source]

Bases: object

Create an instance of Orthorectifier.

_get_common_extent(enmap_ImageL1: EnMAPL1Product_SensorGeo, tgt_epsg: int, enmap_grid: bool = True) Tuple[float, float, float, float][source]

Get common target extent for VNIR and SWIR.

Para enmap_ImageL1:

Parameters:
  • tgt_epsg

  • enmap_grid

Returns:

static get_enmap_coordinate_grid_ll(lon: float, lat: float)[source]

Return EnMAP-like (30x30m) longitude/latitude pixel grid specs at the given position.

run_transformation(enmap_ImageL1: EnMAPL1Product_SensorGeo) EnMAPL2Product_MapGeo[source]
static validate_input(enmap_ImageL1: EnMAPL1Product_SensorGeo)[source]
class enpt.processors.orthorectification.VNIR_SWIR_Stacker(vnir: GeoArray, swir: GeoArray, vnir_wvls: list | ndarray, swir_wvls: list | ndarray)[source]

Bases: object

Get an instance of VNIR_SWIR_Stacker.

Parameters:
  • vnir

  • swir

  • vnir_wvls

  • swir_wvls

_get_stack_average(filterwidth: int = 3) Tuple[ndarray, ndarray][source]

Stack bands and use averaging to compute the spectral information in the VNIR/SWIR overlap.

Parameters:

filterwidth – number of bands to be included in the averaging - must be an uneven number

_get_stack_order_by_wvl() Tuple[ndarray, ndarray][source]

Stack bands ordered by wavelengths.

_get_stack_swir_only() Tuple[ndarray, ndarray][source]

Stack bands while removing overlapping VNIR bands.

_get_stack_vnir_only() Tuple[ndarray, ndarray][source]

Stack bands while removing overlapping SWIR bands.

_validate_input()[source]
compute_stack(algorithm: str) GeoArray[source]

Stack VNIR and SWIR bands with respect to their spectral overlap.

Parameters:

algorithm – ‘order_by_wvl’: keep spectral bands unchanged, order bands by wavelength ‘average’: average the spectral information within the overlap ‘vnir_only’: only use the VNIR bands (cut overlapping SWIR bands) ‘swir_only’: only use the SWIR bands (cut overlapping VNIR bands)

Returns:

the stacked data cube as GeoArray instance