nifty8.domains.lm_space module#
- class LMSpace(lmax, mmax=None)[source]#
Bases:
StructuredDomain
Represents a set of spherical harmonic coefficients.
Its harmonic partner spaces are
HPSpace
andGLSpace
.- Parameters:
lmax (int) – The maximum value of any spherical harmonic coefficient that is represented by this object. Must be .
mmax (int, optional) – The maximum value of any spherical harmonic coefficient that is represented by this object. If not supplied, it is set to lmax. Must be and lmax.
- check_codomain(codomain)[source]#
Raises TypeError if codomain is not a matching partner domain for self.
Notes
This function only checks whether codomain is of type
GLSpace
orHPSpace
.
- get_conv_kernel_from_func(func)[source]#
Creates a convolution kernel defined by a function.
Assumes the function to be radially symmetric, e.g. only dependant on theta in radians.
- Parameters:
func (function) – This function needs to take exactly one argument, which is colatitude in radians, and return the kernel amplitude at that colatitude.
- get_default_codomain()[source]#
Returns a
GLSpace
object, which is capable of storing an accurate representation of data residing on self.- Returns:
The partner domain
- Return type:
- get_fft_smoothing_kernel_function(sigma)[source]#
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.
- Parameters:
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.
- Returns:
A smoothing operation that multiplies values with a Gaussian kernel.
- Return type:
function (array-like -> array-like)
- get_k_length_array()[source]#
k vector lengths, if applicable.
Returns the length of the k vector for every pixel. This method is only implemented for harmonic domains.
- Returns:
An array containing the k vector lengths
- Return type:
- get_unique_k_lengths()[source]#
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.
- Type:
bool
- property lmax#
maximum allowed
The maximum value of any spherical harmonic coefficient that is represented in this domain.
- Type:
int
- property mmax#
maximum allowed
The maximum value of any spherical harmonic coefficient that is represented in this domain.
- Type:
int
- 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.
- Type:
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.
- Type:
tuple of int
- property size#
total number of pixels.
Equivalent to the products over all entries in the domain’s shape.
- Type:
int