"""Tools for converting to other outputs."""
import numpy as np
[docs]
def to_getdist(samples):
"""Convert from anesthetic to getdist samples.
Parameters
----------
samples : :class:`anesthetic.samples.Samples`
anesthetic samples to be converted
Returns
-------
getdist_samples : :class:`getdist.mcsamples.MCSamples`
getdist equivalent samples
"""
try:
import getdist
except ModuleNotFoundError:
raise ImportError("You need to install getdist to use to_getdist")
labels = np.char.strip(samples.get_labels().astype(str), '$')
samples = samples.drop_labels()
ranges = samples.agg(['min', 'max']).T.apply(tuple, axis=1).to_dict()
return getdist.mcsamples.MCSamples(samples=samples.to_numpy(),
weights=samples.get_weights(),
loglikes=-samples.logL.to_numpy(),
names=samples.columns,
ranges=ranges,
labels=labels)