diff --git a/bbox_2d.py b/bbox_2d.py
index 451286288c8844f0b8aa533bd86034f21d1a4d2c..27e565fd64089e441b43ac5edfbc25471bda4e10 100644
--- a/bbox_2d.py
+++ b/bbox_2d.py
@@ -2,96 +2,6 @@ import math
 import numpy as np
 import json
 
-
-def compute_categories_id(data_name, world):
-    #Category = 'banana1'
-    #Category = 'pear2'
-    #Category = "orange2"
-    # Opening JSON file
-    f = open(f'{data_name}/Meta/{world}.json')
-    
-    # returns JSON object as 
-    # a dictionary
-    data = json.load(f)
-    
-    # Iterating through the json
-    # list
-
-    catergories_label_to_id={}
-    catergories_id_to_label={}
-    catergories_instance_array_cat_to_id={}
-    catergories_instance_array_id_to_cat={}
-
-    for k in data['categories']:
-        catergories_label_to_id[k['label']]=k['id']
-        catergories_id_to_label[k['id']]=k['label']
-        catergories_instance_array_cat_to_id[k['label']]=[]
-
-    for k in data['objects']:
-        #print(k)
-        #catergories_instance_array[catergories_id_to_label[i['category_id']]]
-        catergories_instance_array_id_to_cat[k['id']] = catergories_id_to_label[k['category_id']]
-        catergories_instance_array_cat_to_id[catergories_id_to_label[k['category_id']]].append(k['id'])
-        # if i['category_id'] == id_category :
-        #     print("Hello fruits instance")
-        #     id_instances.append(i['id'])
-        #     print(i['id']) 
-
-    # print("catergories_instance_array_cat_to_id : ", catergories_instance_array_cat_to_id)
-    # print("catergories_instance_array_id_to_cat : ", catergories_instance_array_id_to_cat)
-
-
-    # Closing file
-    f.close()
-
-
-    return catergories_instance_array_id_to_cat, catergories_instance_array_cat_to_id
-
-
-
-def compute_id_good_occ(data_name, count, catergories_instance_array_id_to_cat, catergories_instance_array_cat_to_id, Occ_wanted):
-
-    f2 = open(f'{data_name}/Occlusion/{count}.json')
-
-    data2 = json.load(f2)
-
-
-    catergories_occ_array = {}
-
-    for cat in catergories_instance_array_cat_to_id :
-        #print(cat)
-
-        catergories_occ_array[cat] = []
-
-    for i in data2:
-        #print('i : ',i)
-        #print(i['id'])
-        #print(id_instances)
-        if i['occlusion_value'] > 0.5 :
-            catergories_occ_array[catergories_instance_array_id_to_cat[i['id']]].append(i['id'])
-
-
-
-        # if i['id'] in id_instances :
-        #     print("Hello banana instance occ")
-        #     if i['occlusion_value'] > 0.5 :
-        #         id_instances_good.append(i['id'])
-        #         print(i['id'])
-        #         print(i['occlusion_value'])
-
-    print(catergories_occ_array)
-
-
-
-
-    # Closing file
-    f2.close()
-
-    return catergories_occ_array
-
-
-
-
 def bbox_2d(data_sample):
 
     center = data_sample['bbox']['center']
@@ -108,34 +18,34 @@ def bbox_2d(data_sample):
     return bbox_res
 
 
-def generate_2d_bbox(data_name, Nb_camera, Nb_world, list_categories, occ_target):
+# def generate_2d_bbox(data_name, Nb_camera, Nb_world, list_categories, occ_target):
 
-    cont1, cont2, cont3 = 0, 0, 0
-    num_arr = 0
+#     cont1, cont2, cont3 = 0, 0, 0
+#     num_arr = 0
 
 
-    for i in range(1, Nb_world + 1): # worlds
+#     for i in range(1, Nb_world + 1): # worlds
 
-        catergories_instance_array_id_to_cat, catergories_instance_array_cat_to_id = compute_categories_id(data_name, i)
+#         catergories_instance_array_id_to_cat, catergories_instance_array_cat_to_id = compute_categories_id(data_name, i)
         
-        for j in range(1, Nb_camera+1): # cameras
-            p = ((i-1)*Nb_camera) + j
+#         for j in range(1, Nb_camera+1): # cameras
+#             p = ((i-1)*Nb_camera) + j
 
-            catergories_occ_array = compute_id_good_occ(data_name, p, catergories_instance_array_id_to_cat, catergories_instance_array_cat_to_id, occ_target)
+#             catergories_occ_array = compute_id_good_occ(data_name, p, catergories_instance_array_id_to_cat, catergories_instance_array_cat_to_id, occ_target)
             
-            with open(f"{data_name}/Bbox_2d/{p}.json", 'r') as f:
-                data = json.load(f)
+#             with open(f"{data_name}/Bbox_2d/{p}.json", 'r') as f:
+#                 data_Bbox_2d = json.load(f)
 
-            for k in range(len(data)):
+#             for k in range(len(data_Bbox_2d)):
 
-                for categories in list_categories:
+#                 for categories in list_categories:
                     
-                    if len(catergories_occ_array[categories]) == 1 and data[k]['id'] == catergories_occ_array[categories][0]:
-
-                        cont1 += 1
-                        bbox = bbox_2d(data[k])
-                        np.savetxt(f'{data_name}/Generated/Bbox/{categories}/{p}.txt', np.array(bbox).reshape((1, 4)))  # save
-                    else:
-                        continue
-    print(cont1, cont2, cont3)
+#                     if len(catergories_occ_array[categories]) == 1 and data_Bbox_2d[k]['id'] == catergories_occ_array[categories][0]:
+
+#                         cont1 += 1
+#                         bbox = bbox_2d(data_Bbox_2d[k])
+#                         np.savetxt(f'{data_name}/Generated/Bbox/{categories}/{p}.txt', np.array(bbox).reshape((1, 4)))  # save
+#                     else:
+#                         continue
+#     print(cont1, cont2, cont3)
 
diff --git a/compute_features.py b/compute_features.py
index 797c931727708d7880b7bea3d1cc50de09b4f022..3630f124bb515764d843069779d6587274cf657c 100644
--- a/compute_features.py
+++ b/compute_features.py
@@ -6,7 +6,7 @@ import numpy as np
 import json
 from utils import compute_categories_id, compute_id_good_occ
 from scipy.spatial.transform import Rotation
-
+from bbox_2d import bbox_2d
 
 
 def convert2(xyz):
@@ -33,31 +33,47 @@ def process_compute(data_name, Nb_camera, Nb_world, list_categories, occ_target)
             catergories_occ_array = compute_id_good_occ(data_name, p, catergories_instance_array_id_to_cat, catergories_instance_array_cat_to_id, occ_target)
 
 
-            ### Generate Poses ###
-
+            ### 3D Poses ###
             with open(f'{data_name}/Pose/{p}.json', 'r') as f:
-                data = json.load(f)
+                data_3D_pose = json.load(f)
                 #print(data)
-                print("len(data)", len(data))
+                print("len(data)", len(data_3D_pose))
+
+            ### 2D BBox ###
+            with open(f"{data_name}/Bbox_2d/{p}.json", 'r') as f:
+                data_Bbox_2d = json.load(f)
+
+            if len(data_Bbox_2d) != len(data_3D_pose) :
+                raise TypeError("size of datas are differents !!")
 
-            for k in range(len(data)):
+            for k in range(len(data_3D_pose)):
 
                 for categories in list_categories:
 
-                    if len(catergories_occ_array[categories]) == 1 and data[k]['id'] == catergories_occ_array[categories][0]:
-                        cont1 += 1
-                        rpy = data[k]['pose']['rpy']
-                        rot = convert2(rpy)
-                        R_exp = transformation @ rot
-                        R_exp = np.array(R_exp)
-
-                        xyz = data[k]['pose']['xyz']
-                        T_exp = transformation @ xyz
-                        T_exp = np.array(T_exp)
-                        num_arr = np.c_[R_exp, T_exp[0]]
-                        np.save(f'{data_name}/Generated/Pose_transformed/{categories}/{p}.npy', num_arr)  # save
-                    else:
-                        continue
+                    if len(catergories_occ_array[categories]) == 1 :
+
+                        if data_3D_pose[k]['id'] == catergories_occ_array[categories][0]:
+                            cont1 += 1
+                            rpy = data_3D_pose[k]['pose']['rpy']
+                            rot = convert2(rpy)
+                            R_exp = transformation @ rot
+                            R_exp = np.array(R_exp)
+
+                            xyz = data_3D_pose[k]['pose']['xyz']
+                            T_exp = transformation @ xyz
+                            T_exp = np.array(T_exp)
+                            num_arr = np.c_[R_exp, T_exp[0]]
+                            np.save(f'{data_name}/Generated/Pose_transformed/{categories}/{p}.npy', num_arr)  # save
+                        else:
+                            continue
+
+                        if data_Bbox_2d[k]['id'] == catergories_occ_array[categories][0]:
+
+                            cont1 += 1
+                            bbox = bbox_2d(data_Bbox_2d[k])
+                            np.savetxt(f'{data_name}/Generated/Bbox/{categories}/{p}.txt', np.array(bbox).reshape((1, 4)))  # save
+                        else:
+                            continue
 
     print(cont1, cont2, cont3)
 
diff --git a/instance_mask.py b/instance_mask.py
index 5ad4d4eb81cab7ce958f4c790a9fa9f6e96f36ea..28c9072ef92e1101ba3cffeaffa5f5e52872636b 100644
--- a/instance_mask.py
+++ b/instance_mask.py
@@ -113,30 +113,27 @@ def generate_instance_mask(data_name, Nb_camera, Nb_world,list_categories, occ_t
 
 
         for j in range(1, Nb_camera+1): # cameras
-            k = ((i-1)*Nb_camera) + j
+            p = ((i-1)*Nb_camera) + j
 
-            catergories_occ_array = compute_id_good_occ(data_name, k, catergories_instance_array_id_to_cat, catergories_instance_array_cat_to_id, occ_target)
+            catergories_occ_array = compute_id_good_occ(data_name, p, catergories_instance_array_id_to_cat, catergories_instance_array_cat_to_id, occ_target)
 
 
             for categories in list_categories:
 
                 if len(catergories_occ_array[categories]) == 1 :
 
+                    id = catergories_occ_array[categories][0]
+                    print("iddd : ",id)
+                    img = cv2.imread(f"{data_name}/Instance_Segmentation/{p}.png", cv2.IMREAD_UNCHANGED) # plt.imread(path)
 
-                    path = Path(f"{data_name}/Instance_Segmentation/{k}.png") 
-                    if path.is_file():
-                        id = catergories_occ_array[categories][0]
-                        print("iddd : ",id)
-                        img = cv2.imread(f"{data_name}/Instance_Segmentation/{k}.png", cv2.IMREAD_UNCHANGED) # plt.imread(path)
+                    #print("img[817][308] : ", img[817][308])
+                    print("img[308][817] : ", img[308][817])
 
-                        #print("img[817][308] : ", img[817][308])
-                        print("img[308][817] : ", img[308][817])
 
+                    instance_img = instance(img, id)
+                    print("instance_img[308][817] : ", instance_img[308][817])
 
-                        instance_img = instance(img, id)
-                        print("instance_img[308][817] : ", instance_img[308][817])
 
-
-                        cv2.imwrite(f"{data_name}/Generated/Instance_Mask/{categories}/{k}.png", 255*instance_img)
+                    cv2.imwrite(f"{data_name}/Generated/Instance_Mask/{categories}/{p}.png", 255*instance_img)
 
 
diff --git a/main.py b/main.py
index de944f3c3404b7cb67f9a9632ae7ad46f9eb1b53..5b84ac86ad0455be2cff9afeb5c70c5e5d39a35e 100644
--- a/main.py
+++ b/main.py
@@ -2,8 +2,8 @@ import os
 import numpy as np
 import json
 from prepare_data import reform_data
-from pose import transform_pose
-from bbox_2d import generate_2d_bbox
+#from pose import transform_pose
+#from bbox_2d import generate_2d_bbox
 from instance_mask import generate_instance_mask
 from fps_alg import generate_fps
 from bbox_3d import generate_3d_bbox
@@ -65,7 +65,7 @@ if __name__ == '__main__':
 
     process_compute(dataset_name, Nb_camera, Nb_world, list_categories, occ_target)
     #transform_pose(dataset_name, Nb_camera, Nb_world, list_categories, occ_target)
-    generate_2d_bbox(dataset_name, Nb_camera, Nb_world, list_categories, occ_target)
+    #generate_2d_bbox(dataset_name, Nb_camera, Nb_world, list_categories, occ_target)
     generate_instance_mask(dataset_name, Nb_camera, Nb_world, list_categories, occ_target)
     generate_fps(dataset_name, camera, Nb_camera, Nb_world, list_categories, True)
     #generate_3d_bbox(dataset_name)