Source code for anesthetic.read.nestedfit

"""Read NestedSamples from Nested_Fit chains."""
import os
import numpy as np
from anesthetic.read.getdist import read_paramnames
from anesthetic.samples import NestedSamples


[docs] def read_nestedfit(root, *args, **kwargs): """Read Nested_Fit chain files. Parameters ---------- root : str root specify the directory only, no specific roots, The files read files are ``nf_output_points.txt`` and ``nf_output_diag.txt``. """ dead_file = os.path.join(root, 'nf_output_points.txt') birth_file = os.path.join(root, 'nf_output_diag.dat') data_dead = np.loadtxt(dead_file) data_birth = np.loadtxt(birth_file) weight, logL, data = np.split(data_dead, [1, 2], axis=1) logL_birth = data_birth[:, 0] root_getdist = os.path.join(root, 'nf_output_points') columns, labels = read_paramnames(root_getdist) # No specific labeling is implemented in nested_fit labels = columns columns = kwargs.pop('columns', columns) labels = kwargs.pop('labels', labels) kwargs['label'] = kwargs.get('label', os.path.basename(root)) return NestedSamples(data=data, columns=columns, logL=logL, logL_birth=logL_birth, labels=labels, *args, **kwargs)