## processor.BurstProcessor


Batch processor for Sentinel-1 bursts and burst pairs.


Usage

``` python
processor.BurstProcessor(
    file_manager, config=None, *, show_progress=True, continue_on_error=True
)
```


Runs one SNAP GPT job per burst or pair with progress tracking, skips products that already exist with the requested settings, records failures per item, and returns an [OperationSummary](summary.OperationSummary.md#s1bursts.summary.OperationSummary). Takes bursts and burst pairs, as collections or lists, rather than product classes.


## Parameters


`file_manager: FileManager`  
File manager resolving input SLC and output product paths.

`config: SNAPConfig | None = None`  
Runtime configuration for SNAP GPT processing; defaults to [SNAPConfig()](snap_client.SNAPConfig.md#s1bursts.snap_client.SNAPConfig).

`show_progress: bool = ``True`  
Whether to show progress bars.

`continue_on_error: bool = ``True`  
Whether to continue processing after an error. `True`, the default, attempts every item and records each failure in the summary, so one bad burst does not end a long job; `False` raises at the first error, once the items already running have finished, without starting the queued ones. Follow a run with [OperationSummary.raise_on_failure()](summary.OperationSummary.md#s1bursts.summary.OperationSummary.raise_on_failure) to fail once all items have been attempted.


## Methods

| Name | Description |
|----|----|
| [create_backscatter()](#create_backscatter) | Create backscatter products from bursts, terrain-flattened (RTC) or geocoded (GTC). |
| [create_coherences()](#create_coherences) | Create coherence products from burst pairs. |

------------------------------------------------------------------------


#### create_backscatter()


Create backscatter products from bursts, terrain-flattened (RTC) or geocoded (GTC).


Usage

``` python
create_backscatter(self, bursts: Iterable[Burst], crs: CRSInput | Literal['auto'], config: GTCConfig, overwrite: bool = False) -> OperationSummary[GTCProduct]
create_backscatter(self, bursts: Iterable[Burst], crs: CRSInput | Literal['auto'], config: RTCConfig | None = None, overwrite: bool = False) -> OperationSummary[RTCProduct]
```


The type of `config` selects the product. [RTCConfig](snap_graph.RTCConfig.md#s1bursts.snap_graph.RTCConfig), the default, gives terrain-flattened gamma-0 backscatter ([RTCProduct](product.RTCProduct.md#s1bursts.product.RTCProduct)), called Normalised Radar Backscatter (NRB) in CEOS-ARD and RTC-S1 by OPERA. [GTCConfig](snap_graph.GTCConfig.md#s1bursts.snap_graph.GTCConfig) gives beta-0 backscatter that is geocoded only, not terrain-flattened ([GTCProduct](product.GTCProduct.md#s1bursts.product.GTCProduct)).


##### Parameters


`bursts: Iterable[Burst]`  
Bursts to process, such as a [BurstCollection](burst.BurstCollection.md#s1bursts.burst.BurstCollection) or a list of [Burst](burst.Burst.md#s1bursts.burst.Burst) objects.

`crs: CRSInput | Literal[``"auto"]`  
The coordinate reference system of the geocoded output, a WGS 84 / UTM zone, north or south, which product file names record. Given as a CRS object, an authority string such as `"EPSG:32632"` or an EPSG code, or `"auto"` to process each burst in the UTM zone that holds its footprint ([utm_zone](burst.Burst.md#s1bursts.burst.Burst.utm_zone)). Use `"auto"` for bursts processed on their own, such as a time series, and the target cell's `crs` for products meant for a composite: an input in another zone than the cell raises [InconsistentInputsError](errors.InconsistentInputsError.md#s1bursts.errors.InconsistentInputsError) when composited.

`config: RTCConfig | GTCConfig | None = None`  
Graph-shape configuration, [RTCConfig](snap_graph.RTCConfig.md#s1bursts.snap_graph.RTCConfig) or [GTCConfig](snap_graph.GTCConfig.md#s1bursts.snap_graph.GTCConfig); defaults to [RTCConfig()](snap_graph.RTCConfig.md#s1bursts.snap_graph.RTCConfig) (Copernicus 30m DEM, multilook `(5, 1)`).

`overwrite: bool = ``False`  
Whether to overwrite existing products. Without it, every existing product is checked against `config` before any item is processed, and skipped if its recorded settings match.


##### Returns


`OperationSummary`  
Summary of processing results, holding [RTCProduct](product.RTCProduct.md#s1bursts.product.RTCProduct) or [GTCProduct](product.GTCProduct.md#s1bursts.product.GTCProduct) as `config` selects.


##### Raises


`TypeError`  
If `config` is neither an [RTCConfig](snap_graph.RTCConfig.md#s1bursts.snap_graph.RTCConfig) nor a [GTCConfig](snap_graph.GTCConfig.md#s1bursts.snap_graph.GTCConfig).

`ValueError`  
If `crs` is not a WGS 84 / UTM zone, raised before any item is processed. Under `"auto"`, a footprint outside the UTM zones fails its item alone, recorded as a [NoUTMZoneError](errors.NoUTMZoneError.md#s1bursts.errors.NoUTMZoneError).

`BurstMapUnavailableError`  
With `"auto"`, if an item carries no footprint and the burst map has not been downloaded, which every such item would meet.

`(OSError, SnapProcessingError or RasterWriteError)`  
If the disk is full, over quota or read-only, which would fail every remaining item alike: an `OSError` saying so, or an error caused by one or whose message or GPT output says so.

`ProductSettingsMismatchError`  
If a product exists with other settings than `config` or from another SNAP version, or without recording all of them, and `overwrite` is `False`. An undetermined SNAP version is not compared. Every product existing when the call starts is checked before any item is processed, so for those it is raised before any GPT run; a product written by another process meanwhile is checked when its item is reached.

`OSError or RasterioError`  
If a product exists, `overwrite` is `False`, and it cannot be read to check its settings; checked up front in the same way.


------------------------------------------------------------------------


#### create_coherences()


Create coherence products from burst pairs.


Usage

``` python
create_coherences(pairs, crs, *, config=None, overwrite=False)
```


##### Parameters


`pairs: Iterable[BurstPair]`  
Burst pairs to process, such as a [BurstPairCollection](burst.BurstPairCollection.md#s1bursts.burst.BurstPairCollection) or a list of [BurstPair](burst.BurstPair.md#s1bursts.burst.BurstPair) objects.

`crs: CRSInput | Literal[``"auto"]`  
The coordinate reference system of the geocoded output, a WGS 84 / UTM zone, north or south, which product file names record. Given as a CRS object, an authority string such as `"EPSG:32632"` or an EPSG code, or `"auto"` to process each pair in the UTM zone that holds its footprint ([utm_zone](burst.Burst.md#s1bursts.burst.Burst.utm_zone)). Use `"auto"` for pairs processed on their own, such as a time series, and the target cell's `crs` for products meant for a composite: an input in another zone than the cell raises [InconsistentInputsError](errors.InconsistentInputsError.md#s1bursts.errors.InconsistentInputsError) when composited.

`config: CoherenceConfig | None = None`  
Graph-shape configuration; defaults to [CoherenceConfig()](snap_graph.CoherenceConfig.md#s1bursts.snap_graph.CoherenceConfig) (25x5 window, Copernicus 30m DEM).

`overwrite: bool = ``False`  
Whether to overwrite existing products. Without it, every existing product is checked against `config` before any item is processed, and skipped if its recorded settings match.


##### Returns


`OperationSummary`  
Summary of processing results.


##### Raises


`ValueError`  
If `crs` is not a WGS 84 / UTM zone, raised before any item is processed. Under `"auto"`, a footprint outside the UTM zones fails its item alone, recorded as a [NoUTMZoneError](errors.NoUTMZoneError.md#s1bursts.errors.NoUTMZoneError).

`BurstMapUnavailableError`  
With `"auto"`, if an item carries no footprint and the burst map has not been downloaded, which every such item would meet.

`(OSError, SnapProcessingError or RasterWriteError)`  
If the disk is full, over quota or read-only, which would fail every remaining item alike: an `OSError` saying so, or an error caused by one or whose message or GPT output says so.

`ProductSettingsMismatchError`  
If a product exists with other settings than `config` or from another SNAP version, or without recording all of them, and `overwrite` is `False`. An undetermined SNAP version is not compared. Every product existing when the call starts is checked before any item is processed, so for those it is raised before any GPT run; a product written by another process meanwhile is checked when its item is reached.

`OSError or RasterioError`  
If a product exists, `overwrite` is `False`, and it cannot be read to check its settings; checked up front in the same way.
