diff --git a/util.py b/util.py index e5e8168..6ce4e1d 100644 --- a/util.py +++ b/util.py @@ -122,6 +122,28 @@ def find_mtags_for_tag(block, tag): return mtags +def mtag_settings_to_yaml(mtag, pos_index): + assert(isinstance(mtag, nix.pycore.multi_tag.MultiTag)) + assert(0 <= pos_index < mtag.positions.shape[0]) + + yaml = "" + if mtag.metadata is not None: + yaml = nix_metadata_to_yaml(mtag.metadata) + for i in range(len(mtag.features)): + feat = mtag.features[i] + feat_data = mtag.retrieve_feature_data(pos_index, i) + + if len(feat_data.shape) == 1: + feat_name = feat.data.label if feat.data.label and len(feat.data.label) > 0 else feat.data.name + feat_unit = feat.data.unit if feat.data.unit and len(feat.data.unit) > 0 else "" + if feat_data.shape[0] == 1: + feat_content = "%s %s" % (feat_data[0], feat_unit) + else: + feat_content = "[" + ','.join(map(str, feat_data[:])) + "] %s" % feat_unit + yaml += "\t%s: %s\n" % (feat_name, feat_content) + return yaml + + if __name__ == "__main__": nix_file = "../../science/high_freq_chirps/data/2018-11-09-aa-invivo-1/2018-11-09-aa-invivo-1.nix" f = nix.File.open(nix_file, nix.FileMode.ReadOnly)