LaplaceInterpolation.jl

LaplaceInterpolation.jl: A Julia package for fast interpolation on a grid - Published in JOSS (2022)

https://github.com/vishwas1984/laplaceinterpolation.jl

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

Artificial Intelligence and Machine Learning Computer Science - 40% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: vishwas1984
  • License: gpl-2.0
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage:
  • Size: 11.3 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 4
  • Open Issues: 3
  • Releases: 2
Created over 4 years ago · Last pushed almost 4 years ago
Metadata Files
Readme License Citation

README.md

Fast Interpolation for Volume Datasets

Build Status

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.

DOI

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

JOSS Publication

LaplaceInterpolation.jl: A Julia package for fast interpolation on a grid
Published
February 04, 2022
Volume 7, Issue 70, Page 3766
Authors
Vishwas Rao ORCID
Argonne National Laboratory
Charlotte L. Haley ORCID
Argonne National Laboratory
Mihai Anitescu
Argonne National Laboratory, University of Chicago
Editor
Viviane Pons ORCID
Tags
statistics spatial statistics space-time processes

Citation (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

All Time
  • Total Commits: 369
  • Total Committers: 10
  • Avg Commits per committer: 36.9
  • Development Distribution Score (DDS): 0.531
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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)
Top Labels
Issue Labels
Pull Request Labels