From ec417408e44837b3ce655a5ee910a153ae73a465 Mon Sep 17 00:00:00 2001
From: Gduret <guillaume.duret@ec-lyon.fr>
Date: Thu, 2 Mar 2023 16:22:46 +0100
Subject: [PATCH] compute statistics

---
 compute_features.py | 66 ++++++++++++++++++++++++---------------------
 1 file changed, 36 insertions(+), 30 deletions(-)

diff --git a/compute_features.py b/compute_features.py
index bbd857d..8033155 100644
--- a/compute_features.py
+++ b/compute_features.py
@@ -12,7 +12,6 @@ from fps_alg import process2
 import os
 
 
-
 def process_compute(data_name, camera, camera_resized, new_size, Nb_camera, World_begin, Nb_world, list_categories, occ_target, vis):
     transformation = np.matrix([[0.0000000, -1.0000000, 0.0000000],
                                 [0.0000000, 0.0000000, -1.0000000],
@@ -50,36 +49,43 @@ def process_compute(data_name, camera, camera_resized, new_size, Nb_camera, Worl
 
             for categories in list_categories:
                 if categories in catergories_occ_array.keys():
-                    if len(catergories_occ_array[categories]) == 1 :
-
-                        meta = {}
-
-                        if categories in list_count_categories.keys():
-                            list_count_categories[categories] += 1
-                        else:
-                            list_count_categories[categories] = 1
-
-                        meta['id_generated'] = list_count_categories[categories] 
-                        meta['id_original'] = p 
-                        meta['id_category'] = catergories_label_to_id[categories] 
-                        meta['id_instance'] = catergories_occ_array[categories][0] 
-                        meta['id_dataset'] = 1
-                        meta['world'] = i
-                        meta['camera'] = f"grabber_{j}"
-                        meta['occlusion'] = occ_target
-                        meta['Nb_instance_category'] = 1
-
-                        if not os.path.isfile(f'{data_name}/Generated/{categories}/Meta_Gen/{categories}.json'):
-                            with open(f'{data_name}/Generated/{categories}/Meta_Gen/{categories}.json', mode='w') as f:
-                                feeds = {}
-                                feeds[meta['id_generated']]=meta
-                                f.write(json.dumps(feeds, indent=2))
-                        else:
-                            with open(f'{data_name}/Generated/{categories}/Meta_Gen/{categories}.json') as feedsjson:
-                                feeds = json.load(feedsjson)
+                    Nb_instance = len(catergories_occ_array[categories])
+
+                    meta = {}
+                    if categories in list_count_categories.keys():
+                        print("hello")
+                    else:
+                        #list_count_categories[categories] = {categories}
+                        list_count_categories[categories] = {}
+
+                    if Nb_instance in list_count_categories[categories].keys() : 
+                        list_count_categories[categories][Nb_instance] += 1
+                    else : 
+                        list_count_categories[categories][Nb_instance] = 1
+
+                    meta['id_generated'] = list_count_categories[categories][Nb_instance]
+                    meta['id_original'] = p
+                    meta['id_category'] = catergories_label_to_id[categories] 
+                    meta['id_instance'] = catergories_occ_array[categories]
+                    meta['id_dataset'] = 1
+                    meta['world'] = i
+                    meta['camera'] = f"grabber_{j}"
+                    meta['occlusion'] = occ_target
+                    meta['Nb_instance_category'] = Nb_instance
+
+                    if not os.path.isfile(f'{data_name}/Generated/{categories}/Meta_Gen/{categories}.json'):
+                        with open(f'{data_name}/Generated/{categories}/Meta_Gen/{categories}.json', mode='w') as f:
+                            feeds = {}
+                            feeds[meta['id_generated']]=meta
+                            f.write(json.dumps(feeds, indent=2))
+                    else:
+                        with open(f'{data_name}/Generated/{categories}/Meta_Gen/{categories}.json') as feedsjson:
+                            feeds = json.load(feedsjson)
                             feeds[meta['id_generated']]=meta
-                            with open(f'{data_name}/Generated/{categories}/Meta_Gen/{categories}.json', mode='w') as f:
-                                f.write(json.dumps(feeds, indent=4))
+                        with open(f'{data_name}/Generated/{categories}/Meta_Gen/{categories}.json', mode='w') as f:
+                            f.write(json.dumps(feeds, indent=4))    
+
+                    if (Nb_instance == 1):
 
                         for k in range(len(data_3D_pose)):
 
-- 
GitLab