Release Notes
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