LaplaceInterpolation.jl
LaplaceInterpolation.jl: A Julia package for fast interpolation on a grid - Published in JOSS (2022)
Science Score: 100.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
6 of 10 committers (60.0%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Scientific Fields
Repository
Basic Info
Statistics
- Stars: 2
- Watchers: 1
- Forks: 4
- Open Issues: 3
- Releases: 2
Metadata Files
README.md
Fast Interpolation for Volume Datasets
This code performs Laplace and Matern interpolation where missing data are on a one, two, or three dimensional grid. Matern kernels generalize the radial basis function approach to interpolation, but interpolation using these kernels involves systems of equations that are dense. By using the Green's function representation, and substituting the finite-difference operator, we replace the dense operator with a sparse one and thus obtain an approximation to the kernel.
TL;DR: Substituting a discrete Laplace approximation to Matern kernel reduces the computational complexity of gridded interpolation from $M^3$ (if $M$ is the product of the size of the data in each dimension of a hyperrectangular d-dimensional dataset) to $M$, and hence proceeds extremely fast.
Installation
This package is unregistered, so please install using
pkg> add https://github.com/vishwas1984/LaplaceInterpolation.jl
Notebooks
Jupyter Notebooks which illustrate the speed and accuracy of the approximation
are located in the /Notebooks directory.
To run the examples yourself, clone the repo, navigate to the Notebooks
directory, start julia and use
julia> using Pkg
] activate .
julia> Pkg.add(url="https://github.com/vishwas1984/LaplaceInterpolation.jl")
julia> Pkg.instantiate()
julia> include("run_notebooks.jl")
which will start a jupyter notebook for you, with all relevant dependencies.
Examples
Please refer to the Examples notebooks for useage. Github displays notebooks with output, if you do not wish to run them yourself.
Sample results
Below we show an example of a three dimensional x-ray scattering experiment on a crystalline structure in which peaks at integer locations are removed from the dataset and interpolated. The plot shows a one-dimensional cut of the 3D data along the h-axis. The image on the left shows the data with and without interpolation (the original data is in red, Green and Orange respectively show Laplace and Matern interpolated data). The right hand side image is a blown-up version of that on the left, using a linear scale in the y-axis.
Bragg Peaks | Matern and Laplace Interpolation
:-------------------------:|:--------------------------------:
| 
For large three-dimensional datasets such as this one, an RBF kernel interpolation fails on a laptop computer with contemporary (2021) architecture. The gridded interpolation approach we give here can tackle the above $9,000,000 \times 9,000,000$ problem on the same computer with ease.
Similar Packages
Laplacians.jl authored by Dan Spielman.
Acknowledging this work
This work appears in the Journal of Open Source Software. Clicking "Cite this repository" on the right hand side (under "About") will format a bibliography entry for you.
Contributing
Contributions are welcome in the form of issues, pull requests. Support questions can be directed to vhebbur at anl.gov.
Funding
This material is based upon work supported by the U.S. Department of Energy, Office of Science, Office of Basic Energy Sciences.
Owner
- Login: vishwas1984
- Kind: user
- Repositories: 7
- Profile: https://github.com/vishwas1984
JOSS Publication
LaplaceInterpolation.jl: A Julia package for fast interpolation on a grid
Authors
Argonne National Laboratory, University of Chicago
Tags
statistics spatial statistics space-time processesCitation (Citation.cff)
cff-version: 0.1.2
message: "If you use this software, please cite it as below."
authors:
- family-names: "Rao"
given-names: "Vishwas"
orcid: "https://orcid.org/0000-0002-4395-6075"
- family-names: "Haley"
given-names: "Charlotte L."
orcid: "https://orcid.org/0000-0003-3996-773X"
- family-names: "Anitescu"
given-names: "Mihai"
title: "LaplaceInterpolation.jl"
version: 0.1.2
doi: 10.5281/zenodo.5942603
date-released: 2021-06-01
url: "https://github.com/vishwas1984/LaplaceInterpolation.jl"
preferred-citation:
type: article
authors:
- family-names: "Rao"
given-names: "Vishwas"
orcid: "https://orcid.org/0000-0002-4395-6075"
- family-names: "Haley"
given-names: "Charlotte L."
orcid: "https://orcid.org/0000-0003-3996-773X"
- family-names: "Anitescu"
given-names: "Mihai"
doi: "10.21105/joss.03766"
journal: "Journal of Open Source Software"
month: 02
start: 3766
title: "LaplaceInterpolation.jl: A Julia package for fast interpolation on a grid"
issue: 70
volume: 7
year: 2022
GitHub Events
Total
- Issues event: 1
Last Year
- Issues event: 1
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Charlotte Haley | h****e@g****m | 173 |
| vishwasrao | v****o@v****l | 85 |
| vishwas1984 | v****o@v****u | 68 |
| clhaley | h****y@a****v | 19 |
| vishwas1984 | v****o@v****u | 6 |
| vishwasrao | v****o@v****n | 6 |
| Vishwas Rao | v****o@n****v | 5 |
| Charlotte Haley | c****y@n****v | 4 |
| Vishwas Rao | v****r@m****v | 2 |
| Vishwas Rao | v****o@n****v | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 3
- Total pull requests: 3
- Average time to close issues: about 1 month
- Average time to close pull requests: 1 minute
- Total issue authors: 2
- Total pull request authors: 3
- Average comments per issue: 1.67
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- wkearn (2)
- amontoison (1)
Pull Request Authors
- haleycl (1)
- lootie (1)
- vishwas1984 (1)
