class RGSpace(shape, distances=None, harmonic=False, _realdistances=None)[source]#

Bases: StructuredDomain

Represents a regular Cartesian grid.

  • shape (int or tuple of int) – Number of grid points or numbers of gridpoints along each axis.

  • distances (None or float or tuple of float, optional) –

    Distance between two grid points along each axis.

    By default (distances=None):
    • If harmonic==True, all distances will be set to 1

    • If harmonic==False, the distance along each axis will be set to the inverse of the number of points along that axis.

  • harmonic (bool, optional) – Whether the space represents a grid in position or harmonic space. Default: False.


Topologically, a n-dimensional RGSpace is a n-Torus, i.e. it has periodic boundary conditions.


Return repr(self).


Raises TypeError if codomain is not a matching partner domain for self.

property distances#

Distance between grid points along each axis. The n-th entry of the tuple is the distance between neighboring grid points along the n-th dimension.


tuple of float


Creates a convolution kernel defined by a function.

Assumes the function to be radially symmetric, e.g. only dependant on distance.


func (function) – This function needs to take exactly one argument, which is distance from center (in the same units as the RGSpace distances), and return the kernel amplitude at that distance.


Returns a RGSpace object representing the (position or harmonic) partner domain of self, depending on self.harmonic.


The partner domain

Return type:



Helper for Gaussian smoothing.

This method, which is only implemented for harmonic domains, helps to smoothe fields that are defined on a domain that has this domain as its harmonic partner. The returned function does a pointwise evaluation of a zero-centered Gaussian on the field values, which corresponds to a convolution with a Gaussian kernel with sigma standard deviation in position space.


sigma (float) – A real number representing a physical scale on which the smoothing takes place. Mathematically sigma is the standard deviation of a convolution with a normalized, zero-centered Gaussian that takes place in position space.


A smoothing operation that multiplies values with a Gaussian kernel.

Return type:

function (array-like -> array-like)


k vector lengths, if applicable.

Returns the length of the k vector for every pixel. This method is only implemented for harmonic domains.


An array containing the k vector lengths

Return type:



Sorted unique k-vector lengths, if applicable.

Returns an array of floats containing the unique k vector lengths for this domain. This method is only implemented for harmonic domains.

property harmonic#

True iff this domain is a harmonic domain.



property scalar_dvol#

uniform pixel volume, if applicable

Returns the volume factors of this domain as a floating point scalar, if the volume factors are all identical, otherwise returns None.


float or None

property shape#

number of pixels along each axis

The shape of the array-like object required to store information defined on the domain.


tuple of int

property size#

total number of pixels.

Equivalent to the products over all entries in the domain’s shape.