Astronomical Dendrograms in Python¶
The astrodendro
package provides an easy way to compute dendrograms of
observed or simulated Astronomical data in Python.
About dendrograms¶
The easiest way to think of a dendrogram is to think of a tree that represents the hierarchy of the structures in your data. If you consider a two-dimensional map of a hierarchical structure that looks like:
the equivalent dendrogram/tree representation would look like:
A dendrogram is composed of two types of structures: branches, which are structures which split into multiple sub-structures, and leaves, which are structures that have no sub-structure. Branches can split up into branches and leaves, which allows hierarchical structures to be adequately represented. The term trunk is used to refer to a structure that has no parent structure.
Mapping these terms back onto the structure gives the following:
For an example of use of dendrograms on real data, see Goodman, A. et al (2009).
Documentation¶
Reporting issues and getting help¶
Please help us improve this package by reporting issues via GitHub. You can also open an issue if you need help with using the package.
Developers¶
This package was developed by:
Thomas Robitaille
Chris Beaumont
Adam Ginsburg
Braden MacDonald
Erik Rosolowsky
Acknowledgments¶
Thanks to the following users for using early versions of this package and providing valuable feedback:
Katharine Johnston
Citing astrodendro¶
If you make use of this package in a publication, please consider adding the following acknowledgment:
This research made use of astrodendro, a Python package to compute dendrograms of Astronomical data (http://www.dendrograms.org/)
If you make use of the analysis code (Computing Dendrogram Statistics) or read/write FITS files, please also consider adding an acknowledgment for Astropy (see http://www.astropy.org for the latest recommended citation).
Public API¶
astrodendro Package¶
Functions¶
|
Utility for computing neighbours on datasets with periodic boundaries. |
|
Iterate over a collection of position-position (PP) structures, extracting several quantities from each, and building a catalog. |
|
Iterate over a collection of position-position-velocity (PPV) structures, extracting several quantities from each, and building a catalog. |
Classes¶
|
|
This class is used to compute and represent a dendrogram for a given dataset. |
|
|
A class to plot a dendrogram object. |
|
A structure in the dendrogram, for example a leaf or a branch. |
astrodendro.analysis Module¶
Functions¶
|
Iterate over a collection of position-position-velocity (PPV) structures, extracting several quantities from each, and building a catalog. |
|
Iterate over a collection of position-position (PP) structures, extracting several quantities from each, and building a catalog. |
Classes¶
|
Compute properties of structures in a position-position (PP) cube. |
|
Compute properties of structures in a position-position-velocity (PPV) cube. |
|
|
astrodendro.pruning Module¶
The pruning module provides several functions to perform common
pruning via the is_independent
keyword in the Dendrogram
compute()
method.
Examples:
#prune unless leaf peak value >= 5
Dendrogram.compute(data, is_independent=min_peak(5))
#prune unless leaf contains 10 pixels
Dendrogram.compute(data, is_independent=min_npix(10))
#apply both criteria
is_independent = all_true((min_peak(5), min_npix(10)))
Dendrogram.compute(data, is_independent=is_independent)
Functions¶
|
Combine several |
|
Critieria that leaves contain at least one of a list of seed positions |
|
Minimum delta criteria |
|
Minimum npix criteria |
|
Minimum peak criteria |
|
Minimum sum criteria |
astrodendro.structure_collection Module¶
Classes¶
|