Source code for tssearch.utils.distances_settings

import json
import tssearch


[docs]def load_json(json_path): """Loads the json file given by filename. Parameters ---------- json_path : string Json path Returns ------- Dict Dictionary """ return json.load(open(json_path))
[docs]def get_distances_by_type(domain=None, json_path=None): """Creates a dictionary with the features settings by domain. Parameters ---------- domain : string Available domains: "statistical"; "spectral"; "temporal" If domain equals None, then the features settings from all domains are returned. json_path : string Directory of json file. Default: package features.json directory Returns ------- Dict Dictionary with the features settings """ if json_path is None: json_path = tssearch.__path__[0] + "/distances/distances.json" if domain not in ["elastic", "lockstep", "time", None]: raise SystemExit("No valid domain. Choose: lockstep, elastic, time or None (for all distances settings).") dict_features = load_json(json_path) if domain is None: return dict_features else: return {domain: dict_features[domain]}
[docs]def get_distance_dict(dist_list): json_path = tssearch.__path__[0] + "/distances/distances.json" dict_features = load_json(json_path) select_distances = {} for d in dist_list: if d in dict_features["elastic"]: d_type = "elastic" elif d in dict_features["lockstep"]: d_type = "lockstep" elif d in dict_features["time"]: d_type = "time" else: continue if d_type not in select_distances: select_distances[d_type] = {} select_distances[d_type][d] = dict_features[d_type][d] return select_distances