CBERSFuse — QGIS Plugin

Plugin version: 1.0.4. Integrated processing routine: 2.2.0.

Designed for QGIS 4.0.x / Qt6, including QGIS 4.0.3.

Developer: Esdras Andrade, Institute of Geography, Development and Environment, Federal University of Alagoas (UFAL).

Installation

  1. In QGIS, open Plugins → Manage and Install Plugins.

  2. Select Install from ZIP.

  3. Select CBERSFuse_QGIS4_v1.0.4.zip without extracting it.

  4. Click Install Plugin and enable CBERSFuse.

The plugin can be accessed via Raster → CBERSFuse → RGB Composition + PAN Fusion, through the toolbar button, and from the Processing Toolbox.

Installation is performed within QGIS, including when QGIS is installed via Flatpak. In that case, select directories that the application is permitted to access. Do not install dependencies in the system Python environment: the routine uses the libraries provided by QGIS.

The standalone script may be retained; it appears under the Scripts provider, whereas the plugin uses its own provider. To avoid displaying duplicate tools, you can remove the previous script from the Processing scripts directory.

Usage

Select the folder containing the five extracted bands and a new output folder. Filenames must follow the pattern CBERS_4A_WPM_..._BAND0.tif through ..._BAND4.tif. All bands belonging to one scene must be located in the same folder. Searching subfolders is optional.

Defaults: R=B3, G=B2, B=B1, cubic resampling, and loading the pansharpened image. For false-color composition, use R=B4, G=B3, B=B2.

Output product

Saved to output folder

Loaded into project

B1/B2/B3/B4 band stack at 8 m

Yes

No

RGB composition at 8 m

Yes

No

RGB + PAN pansharpened composition at 2 m

Yes

Yes, if the option is selected

 

The display style follows QGIS conventions and is stored in .qml files alongside the raster files. There is no reference layer or contrast percentile parameter. Existing GeoTIFF files are not overwritten. A JSON log records the processing run. Building visualization pyramids is optional and increases processing time and storage requirements.

Method and Requirements

WPM: BAND0 is panchromatic at 2 m; BAND1 is blue, BAND2 green, BAND3 red, and BAND4 near-infrared (NIR), all at 8 m. The routine uses GDAL's Weighted Brovey method, with four multispectral bands and GDAL's default equal weights. RGB channels are selected after pansharpening, as in the script version whose results were validated by the user.

The multispectral bands must share the same pixel grid. All bands must use the same projected coordinate reference system (CRS), with units in meters, and have compatible data types and NoData values. The tool checks these metadata properties but neither corrects nor verifies image coregistration. L4 products are recommended.

For spectral indices and quantitative spectral analyses, retain the original data. The 2 m product does not provide spatial information equivalent to a native 0.5 m acquisition.

QGIS dependencies: PyQGIS, osgeo.gdal/osr, Processing, and the gdal:pansharp and gdal:rearrange_bands algorithms. No additional external Python packages are required.

Code Structure

File

Purpose

__init__.py

QGIS classFactory entry point

metadata.txt

Plugin identification and compatibility metadata

plugin.py

Toolbar button, Raster menu, help, and activation/deactivation lifecycle

processing_provider/provider.py

Registration of the cbers4awpm provider

processing_provider/algorithm.py

Processing routine 2.2.0

help.html

Help accessible from the menu

icon.png and icon.svg

Plugin icon and vector source

tests/smoke_qgis.py

Registration check in an actual QGIS installation

 

Algorithm ID: cbers4awpm:cbers4a_wpm_qgis4.

The plugin also makes the algorithm available for batch processing and use in processing models.

Verification

The package was checked for syntax, ZIP structure, metadata, preservation of the algorithm, and the provider registration/removal lifecycle and actions in simulated tests. QGIS and GDAL were not available in the packaging environment; installation and execution of version 1.0.0 were confirmed by the user in their local QGIS installation. Update 1.0.4 replaces assertions in the optional QGIS smoke check with explicit exceptions; image processing is unchanged.

After installation, an optional check can be performed in the QGIS Python Console using tests/smoke_qgis.py. It checks provider registration, parameters, and availability of the GDAL algorithms; it does not process imagery.

Maintenance

To install an update, use Install from ZIP again and restart QGIS if necessary. When the plugin is disabled, its toolbar button, menu entry, and provider are removed; previously saved raster products remain available.

The package includes author contact information, public source-code and issue-tracker links, and the GNU GPL version 3 license for repository submission.

Official References