Exemplo n.º 1
0
def update_recording_v14_v18(rec_dir):
    logger.info("Updating recording from v1.4 to v1.8")
    legacy_topic_mapping = {
        'notifications': 'notify',
        'gaze_positions': 'gaze',
        'pupil_positions': 'pupil'
    }

    with fm.Incremental_Legacy_Pupil_Data_Loader(rec_dir) as loader:
        for old_topic, values in loader.topic_values_pairs():
            new_topic = legacy_topic_mapping.get(old_topic, old_topic)
            with fm.PLData_Writer(rec_dir, new_topic) as writer:
                for datum in values:
                    if new_topic == 'notify':
                        datum['topic'] = 'notify.' + datum['subject']
                    elif new_topic == 'pupil':
                        datum['topic'] += '.{}'.format(datum['id'])
                    elif new_topic.startswith('surface'):
                        datum['topic'] = 'surfaces.' + datum['name']
                    elif new_topic == 'blinks' or new_topic == 'fixations':
                        datum['topic'] += 's'

                    writer.append(datum)

    meta_info_path = os.path.join(rec_dir, "info.csv")
    with open(meta_info_path, 'r', encoding='utf-8') as csvfile:
        meta_info = csv_utils.read_key_value_file(csvfile)
        meta_info['Data Format Version'] = 'v1.8'
    update_meta_info(rec_dir, meta_info)
Exemplo n.º 2
0
def update_recording_v14_v18(rec_dir):
    logger.info("Updating recording from v1.4 to v1.8")
    legacy_topic_mapping = {
        "notifications": "notify",
        "gaze_positions": "gaze",
        "pupil_positions": "pupil",
    }

    with fm.Incremental_Legacy_Pupil_Data_Loader(rec_dir) as loader:
        for old_topic, values in loader.topic_values_pairs():
            new_topic = legacy_topic_mapping.get(old_topic, old_topic)
            with fm.PLData_Writer(rec_dir, new_topic) as writer:
                for datum in values:
                    if new_topic == "notify":
                        datum["topic"] = "notify." + datum["subject"]
                    elif new_topic == "pupil":
                        datum["topic"] += ".{}".format(datum["id"])
                    elif new_topic.startswith("surface"):
                        datum["topic"] = "surfaces." + datum["name"]
                    elif new_topic == "blinks" or new_topic == "fixations":
                        datum["topic"] += "s"

                    writer.append(datum)

    _update_info_version_to("v1.8", rec_dir)
Exemplo n.º 3
0
def update_recording_v14_v18(rec_dir):
    logger.info("Updating recording from v1.4 to v1.8")
    legacy_topic_mapping = {
        "notifications": "notify",
        "gaze_positions": "gaze",
        "pupil_positions": "pupil",
    }

    with fm.Incremental_Legacy_Pupil_Data_Loader(rec_dir) as loader:
        for old_topic, values in loader.topic_values_pairs():
            new_topic = legacy_topic_mapping.get(old_topic, old_topic)
            with fm.PLData_Writer(rec_dir, new_topic) as writer:
                for datum in values:
                    if new_topic == "notify":
                        datum["topic"] = "notify." + datum["subject"]
                    elif new_topic == "pupil":
                        datum["topic"] += ".{}".format(datum["id"])
                    elif new_topic.startswith("surface"):
                        datum["topic"] = "surfaces." + datum["name"]
                    elif new_topic == "blinks" or new_topic == "fixations":
                        datum["topic"] += "s"

                    writer.append(datum)

    meta_info_path = os.path.join(rec_dir, "info.csv")
    with open(meta_info_path, "r", encoding="utf-8") as csvfile:
        meta_info = csv_utils.read_key_value_file(csvfile)
        meta_info["Data Format Version"] = "v1.8"
    update_meta_info(rec_dir, meta_info)