Release Notes¶
Version 0.5.10 (2024-06-19)¶
- Bug Fixes
Cope with numpy-2.0 changes (https://github.com/ubarsc/python-fmask/pull/79)
Version 0.5.9 (2024-03-13)¶
- Bug Fixes:
Convert from bool to uint8 before writing a mask as latest RIOS no longer supports writing bool arrays
- Enhancements:
Add support for entrypoints using “pip install”. These entrypoints cannot have an extension so to reduce confusion the documentation has been updated to cover using these new entrypoints (no ‘.py’). The conda package will be similarly updated. The old scripts remain as they are, although they now emit a warning.
Version 0.5.8 (2022-12-22)¶
- Bug Fixes
Cope with numpy-1.24 removal of deprecated type symbols like numpy.bool
Better handling of gdal exception use/non-use
- Enhancements
Use gdal.Driver.Delete to remove temporary files in Sentinel-2 cmdline script
Use gdal internal function calls to avoid use of os.system()
Version 0.5.7 (2022-02-11)¶
- Enhancements
Minor changes to support Landsat-9 from USGS
Version 0.5.6 (2021-10-19)¶
- Enhancements
Cope with ESA’s sudden inclusion of radiometric offsets in their Sentinel-2 reflectance imagery. Using earlier python-fmask versions with the new ESA files will result in incorrect answers.
Version 0.5.5 (2020-09-01)¶
- Bug Fixes
Cope with the axis swapping behavour of GDAL 3.x.
Display proper error messages if missing gdalwarp or gdal_merge.py.
- Enhancements
Improve readability of code in masking step.
Allow sentinel2Stacked to be called directly from Python.
Version 0.5.4 (2019-08-06)¶
- Bug Fixes
Removed the “darkness” test, suggested by Franz (2015), which had inadvertently been added from a test branch into version 0.5.0. This test aims to remove a certain type of false positive cloud, but larger tests suggest that it removes more true positives, and so should not have been included.
Added new logic to cope with cases of nearly 100% cloud cover. In cases where only very small amounts of land are visible, the dynamic threshold for the “clear land probability” is too contaminated to be usable. If less than 3% of the image is clear land, then a fallback threshold is used instead. This avoids images which are entirely covered in cloud from being classed as almost entirely cloud-free. This particularly affected Sentinel-2, where the thermal is not available to catch these cases anyway.
- Documentation
Added a disclaimer to the front page, emphasizing that all errors are ours, and the authors of the original papers bear no responsibility.
Added a note to the front page that we have done some testing of the proposed Fmask4 changes from Qiu et al, 2019, and are unsure whether they help or not, so have not implemented them.
Version 0.5.3 (2019-01-15)¶
- Bug Fixes
Fixed problem with new error checks which broke Landsat-7 case
Version 0.5.2 (2018-12-12)¶
- Bug Fixes
Fix issue with entry points on Windows
- Enhancements
Ensure temporary files are removed on Windows
Version 0.5.1 (2018-11-26)¶
- Enhancements
Added better support for Conda packaging on Windows
Upgraded license to GPL v3
Version 0.5.0 (2018-10-18)¶
- Enhancements
For Sentinel-2, added support for parallax test to remove false cloud in bright (typically urban) areas, as per Frantz (2018). Optional, defaults to off. Thanks to Vincent Schut for assistance in kicking that across the line.
For Sentinel-2, added command line switch to directly use the SAFE directory as provided by ESA, to avoid the need to manually stack up the individual bands externally.
For Sentinel-2, turn off the (cloud prob > 99%) test, as suggested by Zhu (2015). It is in effect for Landsat.
Version 0.4.5 (2017-07-12)¶
- Bug Fixes:
Handling old formats of USGS MTL files
Fixes for numpy 1.13
Version 0.4.4 (2017-04-04)¶
- Enhancements
Added commandline options to set cloud probability threshold, and the two reflectance thresholds used for the snow mask.
Call gdal.UseExceptions(), so that when bad things happen, they are more likely to be reported accurately by the exception message, and reduce confusion for users.
Version 0.4.3 (2016-11-26)¶
- Bug Fixes:
Fix 32 bit builds
Fix help message for fmask_usgsLandsatStacked.py
- Enhancements
Helper .bat file for Windows to expand wildcards
Changes to ‘nodata’ handling to make processing in parallel possible with RIOS
Version 0.4.2 (2016-09-01)¶
- Bug Fixes
Fixed fall-back default values for Landsat brightness temperature equation constants, as required when processing older USGS files which do not have these present in the MTL file.
For Sentinel-2 only, added a work-around for the alarming random null pixels which ESA leave in the cirrus band. This avoids leaving corresponding null pixels in the resulting output masks.
Version 0.4.0 (2016-06-10)¶
- Bug fixes
Proper null mask taken from all reflective bands combined, not just the blue band
Trap seg-faults in valueindexes C code
Use null value of 32767 for Landsat TOA image
Cope when Sentinel-2 metadata only has sensor angles for a subset of bands.
- Enhancements
Landsat angles code is now in a module, with a main program wrapper, consistent with the rest of the package
Added --cloudbufferdistance, --shadowbufferdistance and --mincloudsize options to main program wrappers (both Landsat and Sentinel-2) to give user control over these parameters
Version 0.3.0 (2016-03-21)¶
- Bug fixes
Added code for estimating per-pixel Landsat sun and sensor angles, to allow proper shadow tracking, as per original code
Full use of Sentinel-2 metadata XML, including per-pixel angles grid