Skip to main content

NIFTy - Numerical Information Field Theory

pipeline status coverage report

NIFTy project homepage: https://ift.pages.mpcdf.de/nifty

Summary

Description

NIFTy, "Numerical Information Field Theory", is a versatile library designed to enable the development of signal inference algorithms that operate regardless of the underlying grids (spatial, spectral, temporal, …) and their resolutions. Its object-oriented framework is written in Python, although it accesses libraries written in C++ and C for efficiency.

NIFTy offers a toolkit that abstracts discretized representations of continuous spaces, fields in these spaces, and operators acting on these fields into classes. This allows for an abstract formulation and programming of inference algorithms, including those derived within information field theory. NIFTy's interface is designed to resemble IFT formulae in the sense that the user implements algorithms in NIFTy independent of the topology of the underlying spaces and the discretization scheme. Thus, the user can develop algorithms on subsets of problems and on spaces where the detailed performance of the algorithm can be properly evaluated and then easily generalize them to other, more complex spaces and the full problem, respectively.

The set of spaces on which NIFTy operates comprises point sets, n-dimensional regular grids, spherical spaces, their harmonic counterparts, and product spaces constructed as combinations of those. NIFTy takes care of numerical subtleties like the normalization of operations on fields and the numerical representation of model components, allowing the user to focus on formulating the abstract inference procedures and process-specific model properties.

Installation

Detailed installation instructions can be found in the NIFTy Documentation for:

Run the tests

To run the tests, additional packages are required:

sudo apt-get install python3-pytest-cov

Afterwards the tests (including a coverage report) can be run using the following command in the repository root:

pytest-3 --cov=nifty8 test

First Steps

For a quick start, you can browse through the informal introduction or dive into NIFTy by running one of the demonstrations, e.g.:

python3 demos/getting_started_1.py

Acknowledgements

Please consider acknowledging NIFTy in your publication(s) by using a phrase such as the following:

"Some of the results in this publication have been derived using the NIFTy package (https://gitlab.mpcdf.mpg.de/ift/NIFTy)"

and a citation to one of the publications.

Licensing terms

The NIFTy package is licensed under the terms of the GPLv3 and is distributed without any warranty.

Contributors

NIFTy8

  • Andrija Kostic
  • David Outland
  • Gordian Edenhofer
  • Jakob Roth
  • Lukas Platz
  • Margret Westerkamp
  • Martin Reinecke
  • Massin Guerdi
  • Matteo Guardiani
  • Philipp Arras
  • Philipp Frank
  • Reimar Heinrich Leike
  • Torsten Enßlin
  • Vincent Eberle

NIFTy7

  • Andrija Kostic
  • Gordian Edenhofer
  • Jakob Knollmüller
  • Jakob Roth
  • Lukas Platz
  • Matteo Guardiani
  • Martin Reinecke
  • Philipp Arras
  • Philipp Frank
  • Reimar Heinrich Leike
  • Simon Ding
  • Vincent Eberle

NIFTy6

NIFTy5

  • Christoph Lienhard
  • Gordian Edenhofer
  • Jakob Knollmüller
  • Julia Stadler
  • Julian Rüstig
  • Lukas Platz
  • Martin Reinecke
  • Max-Niklas Newrzella
  • Natalia
  • Philipp Arras
  • Philipp Frank
  • Philipp Haim
  • Reimar Heinrich Leike
  • Sebastian Hutschenreuter
  • Silvan Streit
  • Torsten Enßlin

NIFTy4

NIFTy3

  • Daniel Pumpe
  • Jait Dixit
  • Jakob Knollmüller
  • Martin Reinecke
  • Mihai Baltac
  • Natalia
  • Philipp Arras
  • Philipp Frank
  • Reimar Heinrich Leike
  • Matevz Sraml
  • Theo Steininger
  • csongor

NIFTy2

  • Jait Dixit
  • Theo Steininger
  • csongor

NIFTy1

  • Johannes Buchner
  • Marco Selig
  • Theo Steininger

Metadata

Release files for nifty8 8.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nifty8 8.4
File Size Uploaded
nifty8-8.4.tar.gz 291.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nifty8 8.4
File Interpreter ABI Platform
nifty8-8.4-py3-none-any.whl Python 3 none any Details

Total release size: 630.3 kB

Release files / nifty8-8.4.tar.gz

Download URL nifty8-8.4.tar.gz
Size 291.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d67541b79fc739e72e839843de762cc5049a48ddcbe0a5a7ac451cf767a3208f
BLAKE2b-256 checksum
How to use checksums
4916198b5f17bd0b7d187203da0c71afc67684827f253145e24a4f3bd55c2ee8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release files / nifty8-8.4-py3-none-any.whl

Download URL nifty8-8.4-py3-none-any.whl
Size 339.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f9e151d2ff8e4f8cce3d1616cc8e3ec064575497ac39aa004ab209b111dc91a
BLAKE2b-256 checksum
How to use checksums
b3622612fec289183ad2ea1ad8c366870104b3f89d1d3f999065053aa87eb818
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release history Release notifications | RSS feed

8.5.7

2 release files

8.5.6

2 release files

8.5.5

2 release files

8.5.4

2 release files

8.5.3

2 release files

8.5.2

2 release files

8.5.1

2 release files

8.5

2 release files

This release

8.4 This release

2 release files

8.3

2 release files

8.2

2 release files

8.1

2 release files

8.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page