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 (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 (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.
This package can be installed with:
pip install pynkowski
The dependencies are:
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.
- Minkowski Functionals of a CMB temperature map and comparison with theory.
- Minkowski Functionals of a CMB polarization P² map and comparison with theory.
This package has been developed by Javier Carrón Duque and Alessandro Carones.