Recent Releases of Pyinterpolate

Pyinterpolate - Torun

The package was updated to version 1.0 in June 2025. There are breaking API changes, so please, refer to the CHANGELOG to know more about the changes. Right now, the package in version 1.0.0 is in the beta stage, which means that it is stable but be careful with the production use. There might be some minor bugs, and large swaths of code are not optimized yet. If you find any bugs, please report them in the issue tracker.

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky 11 months ago

Pyinterpolate - v0.5.4

2025-01-04

version 0.5.4

  • (python) removed Python 3.8 from the supported versions,
  • (debug) fixed DivisionByZeroWarning when the semivariogram range is equal to 0

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky over 1 year ago

Pyinterpolate - 0.5.3

version 0.5.3

(logic) debugged variance error calculations for Area-to-Point Poisson Kriging

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky over 1 year ago

Pyinterpolate - 0.5.2

Updated dependencies (GeoPandas without version constrains, numpy < 2, and pylibtiff >= 0.6.1)

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky almost 2 years ago

Pyinterpolate - v 0.5.1

2024-02-19

version 0.5.1 (pre production development)

  • (enhancement) interpolate_raster() function takes allow_approx_solutions parameter, and it protects from LinAlgError that might occur if interpolation points are duplicated (due to the floating point number representation).
  • (refactoring) calc_point_to_point_distance function refactored to point_distance, changed input parameters' schema,
  • (refactoring) new selection method for unequally spaced bins: select_values_between_lags
  • (debug) np.float type casting has been changed to float

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky over 2 years ago

Pyinterpolate - v 0.5.0.post1-updated-docs

Release 0.5.0.post1 with updated docs

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky over 2 years ago

Pyinterpolate - v0.5.0.post1 - Mykolaiv

version 0.5

  • (feature) to_tiff() function which writes kriging output from the interpolate_raster() function to tiff and tfw files,
  • (debug) safe theoretical variogram models,
  • (enhancement) model_types parameter can be string only (in the future the name of this parameter will be changed),
  • (dependencies) fixed dependencies (hdbscan and scikit-learn),
  • (enhancement) updated tutorials, we slightly changed their structure,
  • (dependencies) End of support for Python 3.7,
  • (invalid) Warning when user tries to use .plot() method of the ExperimentalVariogram class,
  • (invalid) Default direction and tolerance are None instead of floats,
  • (invalid) Removed unnecessary warning from the .autofit() method.

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky almost 3 years ago

Pyinterpolate - v0.4.2 - Kharkiv

Welcome to the new release of Pyinterpolate!

This release brings multiple new functionalities:

  • Cluster detection with DBSCAN,
  • Cluster aggregation,
  • Gridding algorithm,
  • Grid aggregation,
  • Theoretical Variogram calculates Spatial Dependence Index,
  • Indicator Kriging,
  • Blocks and PointSupport read all files supported by GeoPandas.

The package is stable now, and future changes will focus on the speed and the new spatial interpolation algorithms.

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky about 3 years ago

Pyinterpolate - Kyiv v2 (0.3.7)

Update of the Kyiv release!

0.3.7 * (enhancement) added logging to Poisson Kriging ATP process, * (test) added functional test for smooth_blocks function, * (debug) too broad exception in download_air_quality_poland is narrowed to KeyError, * (enhancement) log points that cannot be assigned to any area in PointSupport class, * (enhancement) transform_ps_to_dict() function takes custom parameters for lon, lat, value and index, * (test) check_limits() function tests, * (test) plotting function of the VariogramCloud() class is tested and slightly changed to return True if everything has worked fine, * (tutorials) new tutorial about ExperimentalVariogram and VariogramCloud classes, * (test) new tests for calculate_average_semivariance() function from block module, * (enhancement) function inblock_semivariance has been optimized, * (docs) updated __init__.py of variogram.theoretical module, * (enhancement) scatter plot represented as a swarm plot in VariogramCloud, * (enhancement) added directional kriging for ATA and ATP Poisson Kriging, * (debug) warning for directional kriging functions, * (enhancement) initialization of KrigingObject dataclass, * (ci/cd) added new workflow tests for MacOS and Ubuntu, * (enhancement) added logging to Simple Kriging process.

0.3.6 - (enhancement) Directional Centroid-based Poisson Kriging, - (debug) Added origin (unknown point) to calculate directional Kriging and directional Centroid-based Poisson Kriging, - (docs) Directional Ordinary Kriging tutorial, - (engancement) logging of area to area PK function, - (enhancement) tests package moved outside the main package, - (feature) ordinary kriging from covariance terms, - (feature) area-to-area PK from covariance terms, - (debug) area-to-area PK debugged, - (feature) area-to-point PK from covariance terms, - (debug) area-to-point PK debugged, - (feature) centroid-based PK from covariance terms, - (debug) centroid-based PK debugged. - updated and debugged directional variograms, - updated and debugged Ordinary Kriging and Simple Kriging, - faster Directional Variogram calculations.

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky over 3 years ago

Pyinterpolate - Kyiv

The major release of pyinterpolate!

It brings many changes: - First, from now on, we will name releases after the most prominent cities of Ukraine. The first, and the biggest, is Kyiv, the Ukrainian capital - Calculations are faster, much faster than in release 0.2.5, - API is enhanced, there are new classes and functions for semivariogram modeling and analysis, and for the complex data structures that are storing blocks and point support for Poisson Kriging and areal deconvolution, - API is cleaner, - paths are shorter, - and the package works with any Python version from 3.7 up!

Generally speaking, it is the best surprise for the end of Summer.

If you are a newbie, I recommend going to tutorials to check what you can do. If you are a seasoned user, I recommend digging into the API (and tutorials) - some functions and classes are renamed, some are removed, and there are new additions.

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky over 3 years ago

Pyinterpolate - Huygens Crater v2

The new release with the major fix of bug related to the prediction error variance calculation. It was wrong in the previous releases of the package (but it didn't affect predictions, just error variance terms).

Changes:

  • neighbors selection (lags counting) has been changed,
  • TheoreticalSemivariogram searches for optimal sill in a grid search algorithm,
  • corrected error in Krige class; now calculation of error variance is correct,
  • updated paper and package docs.

Predicted values have lower variance of predictions, and they are better because optimal sill is derived from the grid search. (In the previous releases, the sill was fixed and equal to data variance).

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky over 4 years ago

Pyinterpolate - Huygens Crater

The new release with the major fix of bug related to the prediction error variance calculation. It was wrong in the previous releases of the package (but it didn't affect predictions, just error variance terms).

Changes:

  • neighbors selection (lags counting) has been changed,
  • TheoreticalSemivariogram searches for optimal sill in a grid search algorithm,
  • corrected error in Krige class; now calculation of error variance is correct.

Now predicted values have a lower variance of predictions and they are better due to the fact, that optimal sill is derived from the grid search. (In the previous releases sill was fixed and equal to data variance).

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky over 4 years ago

Pyinterpolate - Gale Crater

In general, this update fixes bugs related to the Kriging interpolation. The algorithm has chosen n-closest neighbors without consideration about their range. Now it is fixed but oridnary_kriging() and simple_kriging() methods are invoked with three new parameters, one that controls the range of neighbors search, the other that controls the minimum number of neighbors if the algorithm doesn't detect any neighbor in the range and the last parameter that controls max number of neighbors (it is important from the computational time). Additionally, a few changes created by the new contributors during Hacktoberfest, are included in this release.

Changelog:

  • self.points_values chenged to self.points_array in TheoreticalSemivariogram class,
  • NaN values are tested and checked in calc_semivariance_from_pt_cloud() function,
  • new semivariogram models included in the package: cubic, circular, power,
  • corrected calculation of the closest neighbors for kriging interpolation,
  • changed prepare_kriging_data() function,
  • the new optional parameter check_coordinates (bool) of calc_point_to_point_distance() function to control the coordinates uniqueness tests. This test is very resource-consuming and should be avoided in a normal work and it should be performed before data injection into the modeling pipeline.
  • the new dev/profiling/ directory to test and profile parts of a code.

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky over 4 years ago

Pyinterpolate - Jezero Crater

2021-05-13

version 0.2.3

  • more parameters to store (and access) in TheoreticalSemivariogram class,
  • error weighting against the linear regression model (ax + b),
  • global mean for Simple Kriging as a required parameter,
  • tqdm progress bar to RegularizedSemivariogram.transform() and interpolate_raster() functions,
  • refactored Semivariogram Regularization: ranges are controlled by algorithm, not an user,
  • added pull request template,
  • added issues templates,
  • bug in spherical semivariogram model,
  • experimental variogram as points (not a solid line),
  • inverse distance weighting function: algorithm, tests, documentation and new tutorial,
  • changed output names of regularized data (ArealKriging.regularize_data) from estimated value to reg.est and from estimated prediction error to reg.err,
  • error related to the id column as a string removed,
  • TheoreticalSemivariogram params attribute changed to nugget, sill and range attributes.

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky about 5 years ago

Pyinterpolate - Arabia Terra

The first release of pyinterpolate package! This package originated from public health / urban spaces analysis and it's role is to provide access to Poisson Kriging and Kriging interpolation techniques for wider audience.

The most important features of a package: - semivariogram deconvolution procedure: you can upsample your choropleth maps to the resolution of point support grid, - Area to Point and Area to Area Poisson Kriging, - Ordinary and Simple Kriging, - Smooth surface interpolation, - Semivariogram estimation and analysis, - Variogram cloud calculations and outliers removal.

In future package will be updated with the new interpolation techniques and semivariogram analysis tools up.

Name of release Arabia Terra (https://en.wikipedia.org/wiki/Arabia_Terra) is taken from Martian region which lies in the north part of Mars.

UPDATES:

2021-03-10: Directional semivariograms, corrected broken dependency in README.md. 2021-03-03: New tutorials, variogram point cloud analysis, outliers detection and removal. 2020-12-26: Module io renamed to io_ops to avoid any conflicts with Python's core package io. Semivariance calculation functions do not require passing arrays or lists of lags by an user, 2020-11-25: Updated package paths and corrected typos in docstrings.

Scientific Software - Peer-reviewed - Python
Published by SimonMolinsky over 5 years ago