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
In QGIS, open Plugins → Manage and Install Plugins.
Select Install from ZIP.
Select CBERSFuse_QGIS4_v1.0.4.zip without extracting it.
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