diff --git a/compute_features.py b/compute_features.py
index 72894b8999e8c844082b81efccfd0129ee34b231..7ca253729179f11351753dba1f03cbc7e91207c0 100644
--- a/compute_features.py
+++ b/compute_features.py
@@ -31,13 +31,13 @@ def updateJsonFile():
     jsonFile.close()
 
 
-def process_compute(data_name, camera, Nb_camera, Nb_world, list_categories, occ_target, vis):
+def process_compute(data_name, camera, 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],
                                 [1.0000000, 0.0000000, 0.0000000]])
     
     list_count_categories = {}
-    for i in range(1, Nb_world + 1): # worlds
+    for i in range(World_begin, World_begin + Nb_world): # worlds
         
         catergories_instance_array_id_to_cat, catergories_instance_array_cat_to_id, catergories_label_to_id = compute_categories_id(data_name, i)
         
diff --git a/main.py b/main.py
index 19a211d6e7718b736a85937b136489920d081da2..365fd3c1f3c641bb45d79ba8400b715acf884562 100644
--- a/main.py
+++ b/main.py
@@ -10,6 +10,8 @@ from bbox_3d import generate_3d_bbox
 from compute_features import process_compute
 import shutil
 import open3d as o3d
+# Import the library
+import argparse
 
 def generate_folders(name, list_categories):
     is_exist = os.path.exists(name)
@@ -27,6 +29,15 @@ def generate_folders(name, list_categories):
 
 if __name__ == '__main__':
     
+    # Create the parser
+    parser = argparse.ArgumentParser()
+    # Add an argument
+    parser.add_argument('--Nb_worlds', type=int, required=True)
+    parser.add_argument('--World_begin', type=int, required=True)
+    # Parse the argument
+    args = parser.parse_args()
+
+
     ### parameters ###
     Categories = [] # to read
     Nb_instance = 1
@@ -42,7 +53,7 @@ if __name__ == '__main__':
     # frame = "1_600000000"
     frame = "1_926000000"
     Nb_camera = 15
-    Nb_world = 2
+    #Nb_world = 2
 
     generate_folders(dataset_name, list_categories)
     for cat in list_categories:
@@ -72,9 +83,9 @@ if __name__ == '__main__':
 
     np.savetxt(f'{dataset_name}/Generated/camera_{choice}.txt', camera)
 
-    reform_data(dataset_src, dataset_name, dataset_type, frame, Nb_camera, Nb_world)
+    reform_data(dataset_src, dataset_name, dataset_type, frame, Nb_camera, args.World_begin, args.Nb_worlds)
 
-    process_compute(dataset_name, camera, Nb_camera, Nb_world, list_categories, occ_target, False)
+    process_compute(dataset_name, camera, Nb_camera, args.World_begin, args.Nb_worlds, list_categories, occ_target, True)
     #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_instance_mask(dataset_name, Nb_camera, Nb_world, list_categories, occ_target)
diff --git a/prepare_data.py b/prepare_data.py
index 42ec5802d0cf65b28162f07ae9ea6682aea98c48..667436fa8a14bc4031376a593bef7679e2188f93 100644
--- a/prepare_data.py
+++ b/prepare_data.py
@@ -1,8 +1,8 @@
 import shutil
 
 
-def reform_data(src, data_name, data_option, frame, Nb_camera, Nb_world):
-    for i in range(1, Nb_world + 1): # worlds
+def reform_data(src, data_name, data_option, frame, Nb_camera, World_begin, Nb_world):
+    for i in range(World_begin, World_begin + Nb_world): # worlds
         src_meta = f"{src}/{i}/meta.json"
         dst_meta = f"{data_name}/Meta/{i}.json"
         shutil.copy(src_meta, dst_meta)