Parcourir la source

update experiment config

Jérôme BUISINE il y a 4 ans
Parent
commit
25991fd8b5

+ 53 - 1
links/config.py

@@ -11,4 +11,56 @@ experiment_list = [
 default_host = 'https://diran.univ-littoral.fr'
 
 links_data_folder = 'links/media/data'
-expe_data_folder  = 'links/media/expe'
+expe_data_folder  = 'links/media/expe'
+
+scenes_list = {
+    'MatchExtractsWithReference':
+    [
+        'p3d_arcsphere_800_800',
+        'p3d_bathroom_800_800',
+        'p3d_bedroom_800_800',
+        'p3d_bidir_800_800',
+        'p3d_bmw-m6_800_800',
+        'p3d_bunny-fur_800_800',
+        'p3d_car2_800_800',
+        'p3d_caustic_800_800',
+        'p3d_chopper-titan_800_800',
+        'p3d_classroom_800_800',
+        'p3d_coffee-splash_800_800',
+        'p3d_contemporary-bathroom_800_800',
+        'p3d_crown_800_800',
+        'p3d_dining-room_800_800',
+        'p3d_dragon_250_800_800',
+        'p3d_dragon_800_800',
+        'p3d_ecosys_800_800',
+        'p3d_ganesha_800_800',
+        'p3d_glass-of-water_800_800',
+        'p3d_glass_800_800',
+        'p3d_kitchen_800_800',
+        'p3d_lamp_800_800',
+        'p3d_landscape-view-0_800_800',
+        'p3d_landscape-view-1_800_800',
+        'p3d_landscape-view-2_800_800',
+        'p3d_landscape-view-3_800_800',
+        'p3d_landscape-view-4_800_800',
+        'p3d_living-room-2_800_800',
+        'p3d_living-room-3_800_800',
+        'p3d_living-room_800_800',
+        'p3d_pavilion-day_800_800',
+        'p3d_pavilion-night_800_800',
+        'p3d_sanmiguel_800_800',
+        'p3d_sanmiguel_cam18_800_800',
+        'p3d_sanmiguel_cam1_800_800',
+        'p3d_sanmiguel_cam3_800_800',
+        'p3d_staircase2_800_800',
+        'p3d_staircase_800_800',
+        'p3d_tt_800_800',
+        'p3d_tungsten_veach-mis_800_800',
+        'p3d_veach-ajar_800_800',
+        'p3d_villa-daylight_800_800',
+        'p3d_vw-van_800_800',
+        # 'p3d_water-caustic_800_800',
+        # 'p3d_whiteroom-daytime_800_800',
+        'p3d_whiteroom-night_800_800'
+    ]
+}

+ 1 - 1
links/generate/generate_experiment.py

@@ -36,7 +36,7 @@ def extract_data(line):
 
 def main():
 
-    parser = argparse.ArgumentParser(description="Compute specific dataset for model using of metric")
+    parser = argparse.ArgumentParser(description="Compute experiment data")
 
     parser.add_argument('--data', type=str, help='data links to use', required=True)
     parser.add_argument('--scenes', type=int, help="number of scenes", required=True)

+ 81 - 0
links/generate/generate_experiment_link_config.py

@@ -0,0 +1,81 @@
+# main imports
+import base64
+import json
+import re
+import argparse
+import sys, os
+import requests
+
+# modules imports
+sys.path.insert(0, '') # trick to enable import of main folder module
+
+# config imports
+import links.config  as cfg
+
+
+def encode_data(data):
+    json_data = json.dumps(data)
+    link_data = base64.b64encode(str(json_data).encode('utf-8'))
+    
+    return link_data
+
+
+def main():
+    # getting all scenes available name
+    scenes_list_url = cfg.default_host + '/api/listScenes'
+    res = requests.get(scenes_list_url)
+    data = json.loads(res.content)
+    scenes_name = data['data']
+
+    # getting all params
+    parser = argparse.ArgumentParser(description="Compute links for scenes of experiment")
+
+    parser.add_argument('--host', type=str, help='hostname choosen', default=cfg.default_host)
+    parser.add_argument('--experiment', type=str, help="experiment name to use", choices=cfg.experiment_list, required=True)
+    parser.add_argument('--experimentId', type=str, help="experiment id to use")
+    parser.add_argument('--output', type=str, help="output filename", required=True)
+
+    args = parser.parse_args()
+
+    p_host          = args.host
+    p_experiment    = args.experiment
+    p_experiment_id = args.experimentId
+    p_output        = args.output
+
+    p_scenes = None
+    
+    # generate link for each scene
+    if p_experiment in cfg.scenes_list:
+        p_scenes = cfg.scenes_list[p_experiment]
+    else:
+        print("Pas de scènes disponibles par défaut dans cette expérience")
+        exit(0)
+
+    links = []
+    for scene in p_scenes:
+
+        data = {
+            'hostConfig': p_host,
+            'experimentId': p_experiment_id,
+            'experimentName': p_experiment,
+            'sceneName': scene
+        }
+
+        generated_link_info = encode_data(data)
+        generated_link = p_host + '/#/?q=' + bytes(generated_link_info).decode("utf-8")
+        links.append(generated_link)
+
+    filename_path = os.path.join(cfg.links_data_folder, p_output)
+
+    if not os.path.exists(cfg.links_data_folder):
+        os.makedirs(cfg.links_data_folder)
+
+    with open(filename_path, 'w') as f:
+
+        for id, link in enumerate(links):
+            f.write(p_scenes[id] + ';' + p_experiment + ';' + p_experiment_id + ';' + link + '\n')
+
+    print("Links are saved into.. %s" % filename_path)
+
+if __name__== "__main__":
+    main()