PRO Production

Workflow-grade Pro analysis with audit-ready outputs.

workflow pro

## Workflow Narrative

Multi-Sensor Fusion Monitoring

### Problem It Solves

Where do optical and SAR signals jointly support actionable change alerts, and where is confidence high enough to triage immediately?

### Who It Is For

- Multi-source monitoring teams combining optical and SAR evidence.

### Primary User

National/regional EO monitoring programs, environmental observatories, and risk intelligence teams.

### What It Does

- Fuses optical change, SAR stability cues, and terrain context into one disturbance-monitoring product.
- Produces sensor-agreement and fused-probability outputs for confidence-first screening.
- Emits high-confidence change zones suitable for direct review and reporting.

### How It Works

- Runs `remote_sensing_change_detection` and `sar_analysis_readiness` as upstream stages.
- Computes a per-pixel agreement score from optical confidence plus SAR consistency/coherence cues.
- Combines normalized change strength and agreement into fused change probability.
- Indicative formula: $P_{fused} = w_c \cdot |\Delta_{optical}|_{norm} + w_a \cdot A_{sensor}$.

### Why It Wins

- Prevents one-sensor overconfidence by explicitly encoding cross-sensor agreement into final change probability.

### Typical Buying Trigger

Operations teams need lower-false-alarm change monitoring in cloudy/seasonally variable regions where single-sensor methods are unstable.

### Typical Presets

- fast: lower-overhead configuration for broader candidate capture.
- balanced: default setting for operational triage.
- conservative: stricter thresholding for high-specificity alerting.

## Inputs

Parameter | Optional | Description
--- | --- | ---
baseline_bundle, baseline_red_band_index, baseline_nir_band_index | no | Baseline multispectral bundle and red/NIR band selectors used to compute baseline vegetation response.
change_bundle, change_red_band_index, change_nir_band_index | no | Change-date multispectral bundle and red/NIR band selectors used for signed change estimation.
input_sar, input_dem | no | SAR scene and terrain model used for radiometric terrain correction and readiness metrics.
optional pair_sar | yes | Optional second SAR scene used when pair/coherence diagnostics are enabled.
optional thermal_bundle, thermal_band_index | yes | Optional thermal raster and 0-based band index used for three-modality diagnostics.
profile: fast | balanced | conservative | no | Processing profile controlling sensitivity, quality strictness, and runtime tradeoffs.
harmonization_mode | yes | Cross-sensor bias harmonization mode: off, robust, or conservative.
high_confidence_threshold, max_zone_features | no | Threshold and feature-cap controls for extracting high-confidence change zones.
vector_output_format | yes | Output vector format for zones: gpkg, geojson, or shp.

## Outputs

Parameter | Type | Description
--- | --- | ---
fused_change_probability | GeoTIFF | Cross-sensor fused probability of meaningful environmental change.
sensor_agreement | GeoTIFF | Agreement surface indicating where sensors support the same change interpretation.
terrain_context | GeoTIFF | Derived terrain context layer used by fused change interpretation.
uncertainty_inflation | GeoTIFF | Per-pixel uncertainty inflation diagnostic from cross-modality fusion.
high_confidence_change_zones | GeoPackage | Vector zones representing high-confidence change hotspots.
thermal_input_contract | JSON | Thermal coverage and weighting contract generated when the workflow runs.
modality_contribution_diagnostics | JSON | Relative modality contribution diagnostics for optical/SAR/thermal sources.
summary | JSON | Machine-readable summary report containing run metadata, QA diagnostics, and key metrics.
html_report | HTML | Human-readable customer-facing report generated from the summary contract for stakeholder review and QA traceability.

## Python Example

    import whitebox_workflows as wbw

    wbe = wbw.WbEnvironment(include_pro=True, tier="pro")

    fused, agreement, terrain, uncertainty, zones, thermal_contract, modality_diagnostics, summary = wbe.multi_sensor_fusion_monitoring(
        baseline_bundle="data/baseline_bundle.tif",
        baseline_red_band_index=0,
        baseline_nir_band_index=1,
        change_bundle="data/change_bundle.tif",
        change_red_band_index=0,
        change_nir_band_index=1,
        input_sar="data/sar_a.tif",
        input_dem="data/dem.tif",
        pair_sar="data/sar_b.tif",
        thermal_bundle="data/thermal.tif",
        thermal_band_index=0,
        profile="balanced",
        harmonization_mode="robust",
        vector_output_format="gpkg",
        high_confidence_threshold=0.8,
        max_zone_features=25000,
        output_prefix="output/ms_fusion",
    )

    print(fused)
    print(agreement)
    print(terrain)
    print(uncertainty)
    print(zones)
    print(thermal_contract)
    print(modality_diagnostics)
    print(summary)

## License Notice

Use of this function requires a license for Whitebox Workflows Professional (WbW-Pro). Please visit www.whiteboxgeo.com to purchase a license.

## Project Links

WbW Homepage User Manual Support WbW