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.