You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Renamed the reference density function to ref_density(), renamed the radial counting function (from proximity()) to radial_count(), and changed the reference density object class to reference_density.
The order of input data has completely changed and both ref_density() and benchmark() functions require data with x, y, predicted, and observed remote sensing variable order.
Complete re-write of the main C++ functions (for ref_density(), benchmark(), and radial_count()) using vectorised operations, including changing feature space distance calculations from double to float32, resulting in significant speed improvement (~10x) with no loss of accuracy.
The Eigen C++ library is adapted as the main matrix engine.
The dependency on KDtrees is dropped while keeping or even improving the speed.
The reference density now performs only one-way pairwise distance calculations. As a result, the raw reference density values are exactly halved compared to before. This has no impact on the normalised reference density or the final output.
The "corner value" in the reference density (previously calculated as the count of values) is no longer computed, since it is simply equal to the number of samples.
The calibrate() function no longer performs interpolation. The output is now fully fitted using a monotonic spline.
A fast spatial distance calculation is implemented (no difference for projected CRS with 0.01 meters accuracy).
The geographic distance for lat/long is now corrected for the latitude of the source cell, not just the radius transformation to degrees.
A new function (tiling()) is added for making raster tiles using raster or matrix data.
The NaN pixels are now directly handled within C++ code.
Expanded the test suite with additional C++-focused coverage, including edge cases and thread-consistency checks for core workflows.