Skip to content

Pynkowski is a Python package to compute Minkowski Functionals, as well as their expected values for different fields.

License

Notifications You must be signed in to change notification settings

javicarron/pynkowski

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pynkowski

A Python package to compute Minkowski Functionals and other higher order statistics of input fields, as well as their expected values for different kinds of fields.

The statistics currently supported by this package are:

  • Minkowski functionals.
  • Maxima and minima distributions.

The formats currently supported for input data are the following:

  • Scalar HEALPix maps, as the ones used by healpy, such as $T, \kappa, P^2$ (see paper 1).
  • Polarisation HEALPix maps in the $SO(3)$ formalism (coming soon, see paper 2).
  • 2D and 3D numpy arrays (coming soon).

The theoretical expectation of some statistics is currently supported for the following theoretical fields:

  • Gaussian fields (such as CMB $T$ or the initial density field, see paper 1).
  • $\chi^2$ fields (such as CMB $P^2$, see paper 1).
  • Spin 2 maps in the $SO(3)$ formalism (coming soon, see paper 2).

We are actively working on the implementation of more statistics, data formats, and theoretical fields. If you want to contribute, we welcome and appreciate pull requests. If you have any comments or suggestions, please feel free to contact us by email (1 and 2) or by opening a discussion thread or issue.

The repository can be found on https://github.com/javicarron/pynkowski.

Installation

This package can be installed with:

pip install pynkowski

The dependencies are:

Documentation

The documentation can be found on https://javicarron.github.io/pynkowski.

This package is divided into three modules: stats, data, and theory. Each module has a submodule for each kind of object, plus a general utilities submodule and a base submodule for the definition of the base class. In this way, extending the code to a new usecase is reduced to creating a new submodule. The structure is the following:

The documentation for each submodule can be found by clicking on the links above or navigating the menu on the left.

Example notebooks

Authors

This package has been developed by Javier Carrón Duque and Alessandro Carones.