domains.rst 1.36 KB
Newer Older
Martin Reinecke's avatar
Martin Reinecke committed
1 2
NIFTy's domain classes
======================
Martin Reinecke's avatar
Martin Reinecke committed
3

Martin Reinecke's avatar
Martin Reinecke committed
4 5 6
.. currentmodule:: nifty4


Martin Reinecke's avatar
Martin Reinecke committed
7 8
Abstract base class
-------------------
Martin Reinecke's avatar
Martin Reinecke committed
9

Martin Reinecke's avatar
Martin Reinecke committed
10
:class:`Domain` is the abstract ancestor for all of NIFTy's domains.
Martin Reinecke's avatar
Martin Reinecke committed
11

Martin Reinecke's avatar
Martin Reinecke committed
12

Martin Reinecke's avatar
Martin Reinecke committed
13 14
Unstructured domains
--------------------
Martin Reinecke's avatar
Martin Reinecke committed
15 16 17 18 19 20

Domains can be either *structured* (i.e. there is geometrical information
associated with them, like position in space and volume factors),
or *unstructured* (meaning that the data points have no associated manifold).

Unstructured domains can be described by instances of NIFTy's
Martin Reinecke's avatar
Martin Reinecke committed
21
:class:`UnstructuredDomain` class.
Martin Reinecke's avatar
Martin Reinecke committed
22 23


Martin Reinecke's avatar
Martin Reinecke committed
24 25
Structured domains
------------------
Martin Reinecke's avatar
Martin Reinecke committed
26 27 28 29

In contrast to unstructured domains, these domains have an assigned geometry.
NIFTy requires these domains to provide the volume elements of their grid cells.
The additional methods are described in the abstract class
Martin Reinecke's avatar
Martin Reinecke committed
30
:class:`StructuredDomain`.
Martin Reinecke's avatar
Martin Reinecke committed
31

Martin Reinecke's avatar
Martin Reinecke committed
32
NIFTy comes with several concrete subclasses of :class:`StructuredDomain`.
Martin Reinecke's avatar
Martin Reinecke committed
33

Martin Reinecke's avatar
Martin Reinecke committed
34
:class:`RGSpace` represents a regular Cartesian grid with an arbitrary
Martin Reinecke's avatar
Martin Reinecke committed
35 36 37
number of dimensions, which is supposed to be periodic in each dimension.
This domain can be constructed to represent either position or harmonic space.

Martin Reinecke's avatar
Martin Reinecke committed
38 39
:class:`HPSpace` and :class:`GLSpace` describe pixelisations of the
2-sphere; their counterpart in harmonic space is :class:`LMSpace`, which
Martin Reinecke's avatar
Martin Reinecke committed
40 41
contains spherical harmonic coefficients.

Martin Reinecke's avatar
Martin Reinecke committed
42
:class:`PowerSpace` is used to describe one-dimensional power spectra.