def loadFromFile(self, fileName): """ loads from fileName, a plain text .paramnames file or a "full" yaml file """ self.filenameLoadedFrom = os.path.split(fileName)[1] extension = os.path.splitext(fileName)[-1] if extension == '.paramnames': with open(fileName) as f: self.names = [ ParamInfo(line) for line in [s.strip() for s in f] if line != '' ] elif extension.lower() in ('.yaml', '.yml'): info_params = load_info_params(fileName) # first sampled, then derived self.names = [ ParamInfo(param + " " + ((info or {}).get("latex", param))) for param, info in info_params.items() if is_sampled_param(info) ] self.names += [ ParamInfo(param + " " + ((info or {}).get("latex", param))) for param, info in info_params.items() if is_derived_param(info) ]
def loadFromFile(self, fileName): """ loads from fileName, a plain text .paramnames file or a "full" yaml file """ self.filenameLoadedFrom = os.path.split(fileName)[1] extension = os.path.splitext(fileName)[-1] if extension == '.paramnames': with open(fileName) as f: self.names = [ ParamInfo(line) for line in [s.strip() for s in f] if line != '' ] elif extension.lower() in ('.yaml', '.yml'): from getdist.yaml_format_tools import yaml_load_file, get_info_params from getdist.yaml_format_tools import is_sampled_param, is_derived_param from getdist.yaml_format_tools import _p_label, _p_renames info_params = get_info_params(yaml_load_file(fileName)) # first sampled, then derived self.names = [ ParamInfo(name=param, label=(info or {}).get(_p_label, param), renames=(info or {}).get(_p_renames)) for param, info in info_params.items() if is_sampled_param(info) ] self.names += [ ParamInfo(name=param, label=(info or {}).get(_p_label, param), renames=(info or {}).get(_p_renames), derived=True) for param, info in info_params.items() if is_derived_param(info) ]
def loadFromFile(self, fileName): self.filenameLoadedFrom = os.path.split(fileName)[1] extension = os.path.splitext(fileName)[-1] if extension in ('.ranges', '.bounds'): with open(fileName) as f: for line in f: strings = [text.strip() for text in line.split()] if len(strings) == 3: self.setRange(strings[0], strings[1:]) elif extension in ('.yaml', '.yml'): info_params = load_info_params(fileName) for p, info in info_params.items(): # Sampled if is_sampled_param(info): info_lims = dict([[l,info["prior"].get(l)] for l in ["min", "max", "loc", "scale"]]) if info_lims["min"] != None or info_lims["max"] != None: lims = [info["prior"].get("min"), info["prior"].get("max")] elif info_lims["loc"] != None or info_lims["scale"] != None: dist = info["prior"].pop("dist", "uniform") pdf_dist = getattr(import_module("scipy.stats", dist), dist) lims = pdf_dist.interval(1, **info["prior"]) # Derived elif is_derived_param(info): lims = (lambda i: [i.get("min", -np.inf), i.get("max", np.inf)])(info or {}) # Fixed else: continue self.setRange(p, lims)
def loadFromFile(self, fileName): """ loads from fileName, a plain text .paramnames file or a "full" yaml file """ self.filenameLoadedFrom = os.path.split(fileName)[1] extension = os.path.splitext(fileName)[-1] if extension == '.paramnames': with open(fileName) as f: self.names = [ParamInfo(line) for line in [s.strip() for s in f] if line != ''] elif extension.lower() in ('.yaml', '.yml'): from getdist.yaml_format_tools import yaml_load_file, get_info_params from getdist.yaml_format_tools import is_sampled_param, is_derived_param from getdist.yaml_format_tools import _p_label, _p_renames info_params = get_info_params(yaml_load_file(fileName)) # first sampled, then derived self.names = [ParamInfo(name=param, label=(info or {}).get(_p_label, param), renames=(info or {}).get(_p_renames)) for param, info in info_params.items() if is_sampled_param(info)] self.names += [ParamInfo(name=param, label=(info or {}).get(_p_label, param), renames=(info or {}).get(_p_renames), derived=True) for param, info in info_params.items() if is_derived_param(info)]