nbodykit.source.catalogmesh.fkp.
FKPCatalogMesh
(source, BoxSize, Nmesh, dtype, selection, comp_weight, fkp_weight, nbar, position='Position')[source]¶Bases: nbodykit.source.catalogmesh.species.MultipleSpeciesCatalogMesh
A subclass of
MultipleSpeciesCatalogMesh
designed to paint a FKPCatalog
to
a mesh.
The multiple species here are data
and randoms
CatalogSource
objects, where randoms
is a catalog of randomly distributed objects
with no instrinsic clustering that defines the survey volume.
Internally, all of the columns in data
and randoms
are stored,
with names prefixed by data/
or randoms/
.
Parameters: |
|
---|
Attributes
actions |
The actions to apply to the interpolated density field, optionally included the compensation correction. |
attrs |
A dictionary storing relevant meta-data about the MeshSource. |
columns |
All columns in the CatalogSource, including those hard-coded into the class’s defintion and override columns provided by the user. |
compensated |
Boolean flag to indicate whether to correct for the windowing kernel introduced when interpolating the discrete particles to a continuous field. |
csize |
The total, collective size of the CatalogSource, i.e., summed across all ranks. |
hardcolumns |
The names of the hard-coded columns in the source. |
interlaced |
Whether to use interlacing when interpolating the density field. |
size |
The number of local particles. |
use_cache |
If set to True , use the built-in caching features of dask to cache data in memory. |
window |
String specifying the name of the interpolation kernel when gridding the density field. |
Methods
CompensateCIC (w, v) |
Return the Fourier-space kernel that accounts for the convolution of |
CompensateCICAliasing (w, v) |
Return the Fourier-space kernel that accounts for the convolution of |
CompensateTSC (w, v) |
Return the Fourier-space kernel that accounts for the convolution of the gridded field with the TSC window function in configuration space. |
CompensateTSCAliasing (w, v) |
Return the Fourier-space kernel that accounts for the convolution of |
Selection () |
A boolean column that selects a subset slice of the CatalogSource. |
Value () |
When interpolating a CatalogSource on to a mesh, the value of this array is used as the Value that each particle contributes to a given mesh cell. |
Weight () |
The column giving the weight to use for each particle on the mesh. |
apply (func[, kind, mode]) |
Return a view of the mesh, with actions updated to |
compute (*args, **kwargs) |
Our version of dask.compute() that computes multiple delayed dask collections at once. |
copy () |
Return a copy of the CatalogSource object |
get_hardcolumn (col) |
Return a hard-coded column |
make_column (array) |
Utility function to convert a numpy array to a dask.array.Array . |
normalization (name) |
Compute the power spectrum normalization, using either the data or randoms source. |
paint ([mode, Nmesh]) |
Paint the density on the mesh and apply any transformation functions specified in actions . |
preview ([axes, Nmesh, root]) |
Gather the mesh into as a numpy array, with (reduced) resolution. |
read (columns) |
Return the requested columns as dask arrays. |
save (output[, dataset, mode]) |
Save the mesh as a BigFileMesh on disk, either in real or complex space. |
shotnoise (name) |
Compute the power spectrum shot noise, using either the data or randoms source. |
to_complex_field ([out]) |
Convert the mesh source to the Fourier-space field, returning a pmesh.pm.ComplexField object. |
to_field ([mode, out]) |
Return the mesh as a pmesh Field object, either in Fourier space or configuration space, based on mode . |
to_mesh ([Nmesh, BoxSize, dtype, interlaced, …]) |
Convert the CatalogSource to a MeshSource, using the specified parameters. |
to_real_field () |
Paint the FKP density field, returning a RealField . |
update_csize () |
Set the collective size, csize . |
view () |
Return a “view” of the MeshSource, in the spirit of numpy’s ndarray view. |
weighted_total (name) |
Compute the weighted total number of objects, using either the |
CompensateCIC
(w, v)¶Return the Fourier-space kernel that accounts for the convolution of the gridded field with the CIC window function in configuration space
Note
see equation 18 (with p=2) of Jing et al 2005
Parameters: |
|
---|
CompensateCICAliasing
(w, v)¶Return the Fourier-space kernel that accounts for the convolution of the gridded field with the CIC window function in configuration space, as well as the approximate aliasing correction
Note
see equation 20 of Jing et al 2005
Parameters: |
|
---|
CompensateTSC
(w, v)¶Return the Fourier-space kernel that accounts for the convolution of the gridded field with the TSC window function in configuration space.
Note
see equation 18 (with p=3) of Jing et al 2005
Parameters: |
|
---|
CompensateTSCAliasing
(w, v)¶Return the Fourier-space kernel that accounts for the convolution of the gridded field with the TSC window function in configuration space, as well as the approximate aliasing correction
Note
see equation 20 of Jing et al 2005
Parameters: |
|
---|
Selection
()¶A boolean column that selects a subset slice of the CatalogSource.
By default, this column is set to True
for all particles.
Value
()¶When interpolating a CatalogSource on to a mesh, the value of this array is used as the Value that each particle contributes to a given mesh cell.
The mesh field is a weighted average of Value
, with the weights
given by Weight
.
By default, this array is set to unity for all particles.
Weight
()¶The column giving the weight to use for each particle on the mesh.
The mesh field is a weighted average of Value
, with the weights
given by Weight
.
By default, this array is set to unity for all particles.
__delitem__
(col)¶Delete a column; cannot delete a “hard-coded” column
__getitem__
(key)¶If indexed by a species name, return a CatalogMesh object holding only the data columns for that species with the same parameters as the current object.
If not a species name, this has the same behavior as
CatalogSource.__getitem__()
.
__len__
()¶Length of a mesh source is zero
__setitem__
(col, value)¶Add columns to the CatalogSource, overriding any existing columns
with the name col
.
actions
¶The actions to apply to the interpolated density field, optionally included the compensation correction.
apply
(func, kind='wavenumber', mode='complex')¶Return a view of the mesh, with actions
updated to
apply the specified function, either in Fourier space or
configuration space, based on mode
Parameters: |
|
---|---|
Returns: | a view of the mesh object with the |
Return type: |
attrs
¶A dictionary storing relevant meta-data about the MeshSource.
columns
¶All columns in the CatalogSource, including those hard-coded into the class’s defintion and override columns provided by the user.
compensated
¶Boolean flag to indicate whether to correct for the windowing kernel introduced when interpolating the discrete particles to a continuous field.
See the documentation for further details.
compute
(*args, **kwargs)¶Our version of dask.compute()
that computes
multiple delayed dask collections at once.
This should be called on the return value of read()
to converts any dask arrays to numpy arrays.
If use_cache
is True
, this internally caches data, using
dask’s built-in cache features.
Parameters: | args (object) – Any number of objects. If the object is a dask collection, it’s computed and the result is returned. Otherwise it’s passed through unchanged. |
---|
Notes
The dask default optimizer induces too many (unnecesarry) IO calls – we turn this off feature off by default. Eventually we want our own optimizer probably.
copy
()¶Return a copy of the CatalogSource object
Returns: | the new CatalogSource object holding the copied data columns |
---|---|
Return type: | CatalogCopy |
csize
¶The total, collective size of the CatalogSource, i.e., summed across all ranks.
It is the sum of size
across all available ranks.
get_hardcolumn
(col)¶Return a hard-coded column
hardcolumns
¶The names of the hard-coded columns in the source.
interlaced
¶Whether to use interlacing when interpolating the density field.
See the documentation for further details.
See also: Section 3.1 of Sefusatti et al. 2015
logger
= <logging.Logger object>¶make_column
(array)¶Utility function to convert a numpy array to a dask.array.Array
.
normalization
(name)[source]¶Compute the power spectrum normalization, using either the
data
or randoms
source.
This computes:
References
see Eqs. 13,14 of Beutler et al. 2014, “The clustering of galaxies in the SDSS-III Baryon Oscillation Spectroscopic Survey: testing gravity with redshift space distortions using the power spectrum multipoles”
paint
(mode='real', Nmesh=None)¶Paint the density on the mesh and apply
any transformation functions specified in actions
.
The return type of the pmesh
Field object is specified by
mode
. This calls to_field()
to convert the mesh to a Field.
See the documentation on painting for more details on painting catalogs to a mesh.
Parameters: | |
---|---|
Returns: | either a RealField of ComplexField, with the functions in
|
Return type: |
preview
(axes=None, Nmesh=None, root=0)¶Gather the mesh into as a numpy array, with (reduced) resolution. The result is broadcast to all ranks, so this uses \(\mathrm{Nmesh}^3\) per rank.
Parameters: | |
---|---|
Returns: | out – An numpy array holding the real density field. |
Return type: | array_like |
read
(columns)¶Return the requested columns as dask arrays.
Parameters: | columns (list of str) – the names of the requested columns |
---|---|
Returns: | the list of column data, in the form of dask arrays |
Return type: | list of dask.array.Array |
save
(output, dataset='Field', mode='real')¶Save the mesh as a BigFileMesh
on disk, either in real or complex space.
Parameters: |
---|
shotnoise
(name)[source]¶Compute the power spectrum shot noise, using either the
data
or randoms
source.
This computes:
References
see Eq. 15 of Beutler et al. 2014, “The clustering of galaxies in the SDSS-III Baryon Oscillation Spectroscopic Survey: testing gravity with redshift space distortions using the power spectrum multipoles”
size
¶The number of local particles.
to_complex_field
(out=None)¶Convert the mesh source to the Fourier-space field,
returning a pmesh.pm.ComplexField
object.
Not implemented in the base class, unless object is a view.
to_field
(mode='real', out=None)¶Return the mesh as a pmesh
Field object, either in Fourier
space or configuration space, based on mode
.
This will call to_real_field()
or to_complex_field()
based on mode
.
Parameters: | mode ('real' or 'complex') – the return type of the field |
---|---|
Returns: | either a RealField of ComplexField, storing the value of the field on the mesh |
Return type: | RealField , ComplexField |
to_mesh
(Nmesh=None, BoxSize=None, dtype='f4', interlaced=False, compensated=False, window='cic', weight='Weight', value='Value', selection='Selection', position='Position')¶Convert the CatalogSource to a MeshSource, using the specified parameters.
Parameters: |
|
---|---|
Returns: | mesh – a mesh object that provides an interface for gridding particle data onto a specified mesh |
Return type: |
to_real_field
()[source]¶Paint the FKP density field, returning a RealField
.
Given the data
and randoms
catalogs, this paints:
This computes the following meta-data attributes in the process of
painting, returned in the attrs
attributes of the returned
RealField object:
weighted_total()
data.W
to randoms.W
normalization()
shotnoise()
randoms.shotnoise
and data.shotnoise
For further details on the meta-data, see the documentation.
Returns: | the field object holding the FKP density field in real space |
---|---|
Return type: | RealField |
update_csize
()¶Set the collective size, csize
.
This function should be called in __init__()
of a subclass,
after size
has been set to a valid value (not NotImplemented
)
use_cache
¶If set to True
, use the built-in caching features of dask
to cache data in memory.
view
()¶Return a “view” of the MeshSource, in the spirit of numpy’s ndarray view.
This returns a new MeshSource whose memory is owned by self
.
weighted_total
(name)[source]¶Compute the weighted total number of objects, using either the
data
or randoms
source:
This is the sum of the completeness weights:
window
¶String specifying the name of the interpolation kernel when gridding the density field.
See the documentation for further details.
Note
Valid values must be in pmesh.window.methods