Browse Source

add stats extraction data

Jérôme BUISINE 2 months ago
parent
commit
de8f7c5f42
3 changed files with 69 additions and 1 deletions
  1. 13 0
      myfile.csv
  2. 1 1
      utils/convert_folder.sh
  3. 55 0
      utils/extract_stats.py

+ 13 - 0
myfile.csv

@@ -0,0 +1,13 @@
+50_shades_of_grey;0;12;16;22;26;32;38;46;54;62;70;72;78;88;94;102;
+p3d_pavilion-day-view2_part6;3500;1920;1580;1260;460;820;1980;1140;240;660;1140;660;440;680;760;1140;
+p3d_landscape-view4_part6;240;240;220;200;160;140;180;160;900;200;1280;2320;2840;2120;2300;2680;
+p3d_bedroom-view1_part6;5860;5800;4380;5180;6620;5060;4280;3980;4860;4500;3360;4280;5880;4060;4600;5020;
+p3d_landscape-view0_part6;60;20;20;20;40;60;80;80;600;960;200;260;100;120;100;60;
+p3d_eponge-fractal-5-view0_part6;20;40;40;20;40;60;40;40;40;80;80;40;40;40;80;40;
+p3d_dragon_250-view0_part6;740;640;880;820;920;640;620;680;1360;1480;1540;1180;1040;1080;860;1100;
+p3d_living-room-2-view1_part6;6060;4540;4800;7740;6220;5520;5660;5360;6100;4600;6880;5160;8140;6340;5920;8100;
+p3d_kitchen-view0_part6;5360;5320;3760;4880;3940;6700;6000;3620;4440;5980;5900;5620;5940;5840;3820;4420;
+p3d_landscape-view3_part6;1140;1500;1740;2180;580;760;800;1760;980;1220;1060;1320;640;800;1400;1040;
+p3d_staircase2-view1_part6;2320;2720;2900;3140;3560;4320;5000;5480;2960;2140;2920;2620;2300;780;420;400;
+p3d_kitchen-view1_part6;4820;7100;6400;6440;6420;5340;5000;6520;5220;7840;7380;6060;5620;6140;8260;5640;
+p3d_bedroom-view0_part6;6240;7460;5600;5340;4780;4660;5120;3380;5640;6840;5080;4740;4080;4940;7420;4320;

+ 1 - 1
utils/convert_folder.sh

@@ -43,7 +43,7 @@ do
 
     if [[ "$folder" == ${prefix}* ]]; then
 
-        output_scene_folder=$output_folder/${folder}_${width}_${height}
+        output_scene_folder=$output_folder/${folder}_part6
         mkdir -p $output_scene_folder
 
         for file in $(ls ${folder_path}*)

+ 55 - 0
utils/extract_stats.py

@@ -0,0 +1,55 @@
+# main imports
+import os, sys
+import argparse
+import json
+
+
+def main():
+    """
+    main function which is ran when launching script
+    """ 
+    parser = argparse.ArgumentParser(description="Extract scenes data and save thresholds into .csv")
+
+    parser.add_argument('--file', type=str, help='image to convert', required=True)
+    parser.add_argument('--output', type=str, help='output csv filename', required=True)
+
+    args = parser.parse_args()
+
+    p_file   = args.file
+    p_output = args.output
+
+    f = open(p_file)
+    json_data = json.load(f)
+
+    dict_data = {}
+
+    for element in json_data:
+
+        scene = element['msg']['sceneName']
+
+        if scene not in dict_data:
+            dict_data[scene] = {}
+
+        extracts = element['msg']['extracts']
+
+        for extract in extracts:
+            if extract['index'] not in dict_data[scene]:
+                dict_data[scene][extract['index']] = (extract['quality'], 1)
+            else:
+                dict_data[scene][extract['index']] = (dict_data[scene][extract['index']][0] + extract['quality'], dict_data[scene][extract['index']][1] + 1)
+            
+    
+    output_file = open(p_output, 'w')
+    for scene in dict_data:
+        output_file.write(scene + ';')
+
+        for extract in dict_data[scene]:
+            thresholds_data = dict_data[scene][extract]
+            output_file.write(str(int(thresholds_data[0] / thresholds_data[1])) + ';')
+
+        output_file.write('\n')
+
+
+
+if __name__ == "__main__":
+    main()