Membership module

Membership module#

The asteca.Membership class allows estimating the membership probabilities for all the stars in a given observed field. There are currently two methods included in this class: asteca.Membership.bayesian() and asteca.Membership.fastmp().

The bayesian() method was described in detail in the article where ASteCA was originally introduced. The method requires (ra, dec) data and will use any extra data dimensions stored in the Cluster object, i.e.: photometry, proper motions, and parallax. At least one extra data dimension beyond (ra, dec) is required (three dimensions total minimum). This method can produce membership probabilities on photometric data alone.

The fastmp() method was described in detail in the article where the Unified Cluster Catalogue (UCC) was introduced. The method requires proper motions, and parallax data dimensions stored in the Cluster object. Photometric data is not employed.

Important

The only advantage of the bayesian() method over the fastmp() method is that the former works with photometric data. Hence it should only be used in cases were only photometric data is available, as fastmp() is not only much faster but also more precise in those cases where proper motions and/or parallax data is available.

To use these methods we need to estimate the cluster’s number of members as described in the Number of members section, which is done by calling the asteca.Cluster.get_nmembers() method.

With the N_cluster attribute in place in a Cluster object, here called my_field, you can and apply either the bayesian() or the fastmp() method (both part of the Membership class) as follows:

# Run `fastmp` method
my_field.membership.fastmp()

# Run `bayesian` method
my_field.membership.bayesian()

The per-star membership probabilities arrays are stored in the probs attribute of the my_field object.

Following the obtention of the membership probabilities, the next step is to apply a selection criterion to filter out likely non-members from the dataset. This can be achieved using the asteca.Membership.select_members() method, which allows users to retain only those stars that meet specific membership probability thresholds or to limit the number of accepted members based on their probabilities.

This operation generates a new Cluster object, by modifying the existing my_field object:

# Apply membership selection method
my_cluster = my_field.membership.select_members()

Upon execution all internal arrays of my_field (such as coordinates, magnitudes, and kinematic data) are modified to match the accepted subset of most probable members. The resulting data is stored in the new my_cluster object.

A step-by-step example is shown in the Membership probabilities tutorial.