Releases: GlacioHack/xdem
v0.2.3
Small release with small bug fix for using tqdm as optional dependency for progress bar, adding example data section and fix minor rendering issue in documentation.
What's Changed
- Fix broken equation due to lower syntax tolerance in MathJax by @rhugonnet in #903
- Remove filters (now in GeoUtils) by @adebardo in #905
- Allow untyped decorators and remove type ignores by @rhugonnet in #908
- ICrop value bounds for test data by @marinebcht in #890
- Improve examples.py and document the access to data by @marinebcht in #889
- Always prepare data in accuracy worflow (coreg/no coreg process) by @marinebcht in #873
- Secure use of optional dependency tqdm by @adebardo in #919
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #925
- Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #926
- Update version to
0.2.3by @rhugonnet in #927
Full Changelog: v0.2.2...v0.2.3
v0.2.2
Small release to fix a raster plotting bug from upstream, which significantly affected the documentation.
What's Changed
- Update to GeoUtils 0.2.5 to avoid Rasterio plotting bug by @rhugonnet in #900
- Update version to
0.2.2by @rhugonnet in #901
Full Changelog: v0.2.1...v0.2.2
v0.2.1
This small release adds support for Python 3.14 and Rasterio 1.5 (notably managing logging warnings for the latter).
What's Changed
- Fix link error in README by @rhugonnet in #886
- Add support for Python 3.14 by @rhugonnet in #894
- Update
pre-commithooks by @rhugonnet in #898 - Ensure test visibility on logging warnings by @rhugonnet in #897
- Update version to
0.2.1by @rhugonnet in #899
Full Changelog: v0.2.0...v0.2.1
v0.2.0
xDEM version 0.2 is the second minor release, notably marked by the merge in efforts with the team from demcompare (no longer maintained) to build a unified tool for elevation analysis! 🥳
It is the result of months of work to consolidate several features, in particular support for elevation point clouds (EPCs) and new terrain attributes. Parallel work on scalability with Dask and Multiprocessing is ongoing, and should soon be released in a 0.3.
This new version adds:
- Elevation point cloud objects (for vector files and preliminarily for LAS files) with relevant methods (coregistration, vertical referencing) that builds on the point cloud object of GeoUtils (to interface easily with rasters and vectors),
- Support for elevation point clouds in coregistration and bias-correction pipelines,
- New terrain attributes options, including different types of local derivatives (used for slope, aspect, ...), more rigorous curvature definitions and the addition of texture shading for DEM visualization,
- An experimental command-line interface for multi-step workflows such as DEM accuracy assessment,
- Statistical analysis features common to rasters and point clouds based on GeoUtils (being expanded with binning and spatial statistics).
Computationally, we started introducing parallel out-of-memory functionalities (for now through Multiprocessing, soon available also through Dask) for:
- Blockwise coregistration,
- Terrain attributes (that also benefit from a general performance improvement, and the option of using SciPy as engine instead of Numba).
Internally, xDEM has now defined a governance, nearly doubled its number of tests, robustified its packaging and minimized its required dependencies.
Its required dependencies are now only Rasterio, GeoPandas, SciPy (and soon Xarray), through GeoUtils.
A few changes might be required to adapt from previous versions (also seen in deprecation warnings):
- The
curvature()function is being deprecated in favor of other clearly defined curvatures, - The
slope_method=argument ofslope()andaspect()is being deprecated in favor of asurface_fit=argument for all surface derivatives (including curvatures), - The
spatialstats.nmad()function is being deprecator in favor ofgeoutils.stats.nmad(), - The
.save()function is being deprecated in favor of.to_file(), - Specify
DEM.interp_points(as_array=True)to mirror the previous behaviour of returning a 1D array of interpolated values, otherwise now returns an elevation point cloud by default, - The
Maskclass of GeoUtils is deprecated in favor ofRaster(is_mask=True)to declare a boolean-type Raster, but should keep working until 0.3.
What's Changed
- Make blockwise robust to block errors by @adebardo in #765
- Update setup.cfg by @adebardo in #766
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #769
- Remove unused
Coregmethods by @rhugonnet in #758 - Pin setuptools_scm max version to
9.0to avoid build failures by @adebardo in #772 - Add texture shading to available DEM terrain attributes by @friedrichknuth in #768
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #778
- Fix setup of MyPy temporarily and add
pre-committo dev-environment by @rhugonnet in #783 - Command line interface V0 by @adebardo in #767
- Unpin
coverageversion in CI for compatibility with Numba and LCOV coverage reporting by @rhugonnet in #791 - Relax precision of
ddemchecks, remove dependant tests and ensure safe tar extraction by @rhugonnet in #797 - Update maintainers/contributors and remove undefined authors categories by @rhugonnet in #776
- Remove
Maskclass usage by @rhugonnet in #798 - Robustify initial shift for N&K single method. by @marinebcht in #781
- First CLI review by user by @adebardo in #799
- Update setup.cfg by @adebardo in #802
- Update PyPI publish by @rhugonnet in #807
- Fix local versioning of
setuptools-scmduring PyPI publish by @rhugonnet in #808 - Move
setuptools-scmenvironment variable definition to build by @rhugonnet in #809 - Define local versioning of
setuptools-scmin global project parameters by @rhugonnet in #810 - Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #814
- Continue on error when coveralls.io is down by @adebardo in #813
- Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #816
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #817
- Run independent CI tests for base and optional environments by @rhugonnet in #820
- Adapt xDEM with latest GeoUtils by @marinebcht in #812
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #825
- New geomorphometry options - 'Florinsky' surface fit & refreshed geometric/directional curvatures by @trchudley in #777
- Raise new error when
vcrsuser input has no extension, and fix HTTP error catching during download attempt by @rhugonnet in #826 - Adding TestPyPI publish workflow by @adebardo in #829
- Lack shape consistency on fit and apply by @marinebcht in #819
- Blockwise multiprocessing bug and intersection in CLI by @adebardo in #803
- Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #836
- Bump actions/cache from 4 to 5 by @dependabot[bot] in #837
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #838
- Re-organize terrain module and further refine documentation by @rhugonnet in #832
- Update to latest GeoUtils version by @rhugonnet in #843
- Update save() to to_file() by @marinebcht in #822
- Add profiling decorator from GeoUtils by @rhugonnet in #848
- Adapt overlap size for out-of-memory terrain attributes by @rhugonnet in #845
- Downsampling DEM CLI by @adebardo in #815
- Include vcrs in DEM.info by @marinebcht in #830
- Improve CLI based on user feedback by @marinebcht in #834
- Fix workflow test with new
downsampleinput by @rhugonnet in #851 - Streamline documentation of new workflow/CLI pages by @rhugonnet in #852
- Add elevation point cloud
EPCclass by @rhugonnet in #664 - Documentation update before
0.2by @rhugonnet in #860 - Update management of optional dependencies by @rhugonnet in #863
- Add support for
scipy.ndimage.vectorized_filterin windowed attributes by @rhugonnet in #882 - Improve test speed and structure by @rhugonnet in #877
- Make Numba dependency optional and unskip coverage by @rhugonnet in #884
- Update version to
0.2.0by @rhugonnet in #885
New Contributors
- @marinebcht made their first contribution in #781
- @trchudley made their first contribution in #777
Full Changelog: v0.1.6...v0.2.0
v0.1.7a3
This pre-release fixes the publishing to PyPI by updating the 5-year-old related CI workflow.
What's Changed
- Update PyPI publish by @rhugonnet in #807
- Fix local versioning of
setuptools-scmduring PyPI publish by @rhugonnet in #808 - Move
setuptools-scmenvironment variable definition to build by @rhugonnet in #809 - Define local versioning of
setuptools-scmin global project parameters by @rhugonnet in #810
Full Changelog: v0.1.7a2...v0.1.7a3
v0.1.7a2
This is a second alpha pre-release for testing the implementation of a command line interface (CLI).
Detailed notes will be shared in the main release.
What's Changed
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #769
- Remove unused
Coregmethods by @rhugonnet in #758 - Pin setuptools_scm max version to
9.0to avoid build failures by @adebardo in #772 - Add texture shading to available DEM terrain attributes by @friedrichknuth in #768
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #778
- Fix setup of MyPy temporarily and add
pre-committo dev-environment by @rhugonnet in #783 - Command line interface V0 by @adebardo in #767
- Unpin
coverageversion in CI for compatibility with Numba and LCOV coverage reporting by @rhugonnet in #791 - Relax precision of
ddemchecks, remove dependant tests and ensure safe tar extraction by @rhugonnet in #797 - Update maintainers/contributors and remove undefined authors categories by @rhugonnet in #776
- Remove
Maskclass usage by @rhugonnet in #798 - Robustify initial shift for N&K single method. by @marinebcht in #781
- First CLI review by user by @adebardo in #799
- Update setup.cfg by @adebardo in #802
New Contributors
- @marinebcht made their first contribution in #781
Full Changelog: v0.1.7a1...v0.1.7a2
v0.1.7a1
v0.1.6
v0.1.5
This small release adds support for Python 3.13 and GeoPandas 1.1.
It also removes several dependencies (or moves them to be optional), including OpenCV, PyRansac3D, SciKit-GStat and SciKit-Image. It deprecates some old functions (nmad moved to GeoUtils, dem_coregistration workflow removed in favor of DEM.coregister_3d()).
Finally, it adds new coregistration methods (LZD, CPD and Python-based ICP), and improves the performance for terrain attribute generation also adding SciPy as a possible computing engine in addition to Numba (to avoid compile times).
What's Changed
- Add example file created during doc build to
.gitignoreby @rhugonnet in #733 - Use sklearn instead of pyransac3d by @adebardo in #727
- Finish replacing
nmadby version in GeoUtils by @adebardo in #732 - Add CPD, LZD and make ICP Python-based by @rhugonnet in #701
- Fix
DEMcasting toMaskby removingfrom_arrayoverloading by @rhugonnet in #741 - Remove SciKit-Image dependency by @rhugonnet in #742
- Update for GeoUtils 0.1.17 (and GeoPandas 1.1) by @rhugonnet in #745
- Remove
dem_coregistrationin favor ofDEM.coregister_3dby @adebardo in #735 - Make SciKit-GStat dependency optional by @rhugonnet in #746
- Add Python 3.13 support by @rhugonnet in #719
- Improve performance of terrain attributes and add SciPy engine support by @rhugonnet in #486
- Refactor filename for code of conduct by @rhugonnet in #748
- Update version number to
0.1.5by @rhugonnet in #752
Full Changelog: v0.1.4...v0.1.5
v0.1.4
Refactor the blockwise coregistration module. Add support for NumPy 2, implement filtering capabilities, enable COG (Cloud-Optimized GeoTIFF) format handling, incorporate multiprocessing for terrain attribute computations.
What's Changed
- Switching terrain attribute calculation to
float32by @vschaffn in #710 - Save file with driver COG by @belletva in #702
- Add min, max, mean and median filters by @quinto-clara in #711
- Update with GeoUtils 0.1.16 by @vschaffn in #718
- Add NumPy 2 support by @rhugonnet in #717
- Use automatic
packages.findlisting to avoid forgettingsetuptoolsmodules by @rhugonnet in #720 - Add multiprocessing for terrain attribute calculation by @vschaffn in #704
- Switch the
nmadof xDEM to thenmadof GeoUtils by @vschaffn in #716 - Refactor blockwise coregistration method by @adebardo in #707
- Fixing blockwise documentation and overlap by @adebardo in #723
- Update setup.cfg by @adebardo in #724
- Replace logging.warning to logging.info by @adebardo in #725
New Contributors
- @belletva made their first contribution in #702
- @quinto-clara made their first contribution in #711
Full Changelog: v0.1.3...v0.1.4