Bladeren bron

Project restructuration using modules

Jérôme BUISINE 6 jaren geleden
bovenliggende
commit
5870aad2da

+ 13 - 2
README.md

@@ -103,6 +103,18 @@ python prediction_scene.py --data path/to/xxxx.csv --model saved_model/xxxx.jobl
 ```
 **Remark** : *scene* parameter expected need to be the correct name of the Scene.
 
+### Visualize data
+
+All scripts with names **display_\*.py** are used to display data information or results.
+
+Just use --help option to get more information.
+
+### Simulate model on scene
+
+All scripts named **predict_seuil_expe\*.py** are used to simulate model prediction during rendering process.
+
+Once you have simulation done. Checkout your **threshold_map/%MODEL_NAME/simulation_curves_zones_\*** folder and use it with help of **display_simulation_curves.py** script.
+
 ## Others scripts
 
 ### Test model on all scene data
@@ -154,8 +166,7 @@ Parameters list :
 - **interval** : the interval of data you want to use from SVD vector.
 - **mode** : kind of data ['svd', 'svdn', 'svdne']; not normalize, normalize vector only and normalize together.
 
-
-Markdown file is saved using model name into **models_info** folder.
+Markdown file with all information is saved using model name into **models_info** folder.
 
 ### Others...
 

utils/display_bits_shifted.py → display_bits_shifted.py


utils/display_bits_shifted_scene.py → display_bits_shifted_scene.py


+ 1 - 1
utils/display_scenes_zones.py

@@ -31,7 +31,7 @@ path = '../fichiersSVD_light'
 zones = np.arange(16)
 seuil_expe_filename = 'seuilExpe'
 
-metric_choices = ['lab', 'mscn', 'mscn_revisited', 'low_bits_2', 'low_bits_3', 'low_bits_4', 'low_bits_5', 'low_bits_6']
+metric_choices = ['lab', 'mscn', 'mscn_revisited', 'low_bits_2', 'low_bits_3', 'low_bits_4', 'low_bits_5', 'low_bits_6', 'low_bits_4_shifted_2']
 
 def display_data_scenes(data_type, p_scene, p_kind):
     """

utils/display_scenes_zones_shifted.py → display_scenes_zones_shifted.py


+ 89 - 0
display_simulation_curves.py

@@ -0,0 +1,89 @@
+import numpy as np
+import pandas as pd
+
+import matplotlib.pyplot as plt
+import os, sys, getopt
+
+from modules.utils.data_type import get_svd_data
+
+label_freq = 6
+folder_path = "Curve_simulations"
+
+
+def display_curves(folder_path):
+
+    data_files = os.listdir(folder_path)
+
+    scene_names = [f.split('_')[3] for f in data_files]
+
+    for id, f in enumerate(data_files):
+
+        print(scene_names[id])
+        path_file = os.path.join(folder_path, f)
+
+        df = pd.read_csv(path_file, header=None, sep=";")
+
+
+        fig=plt.figure(figsize=(8, 8))
+        fig.suptitle("Detection simulation for " + scene_names[id] + " scene", fontsize=20)
+
+        for index, row in df.iterrows():
+
+            row = np.asarray(row)
+
+            threshold = row[2]
+            start_index = row[3]
+            step_value = row[4]
+
+            counter_index = 0
+
+            current_value = start_index
+
+            while(current_value < threshold):
+                counter_index += 1
+                current_value += step_value
+
+            fig.add_subplot(4, 4, (index + 1))
+            plt.plot(row[5:])
+
+            # draw vertical line from (70,100) to (70, 250)
+            plt.plot([counter_index, counter_index], [-2, 2], 'k-', lw=2, color='red')
+            plt.ylabel('Not noisy / Noisy', fontsize=18)
+            plt.xlabel('Time in minutes / Samples per pixel', fontsize=16)
+
+            x_labels = [id * step_value + start_index for id, val in enumerate(row[5:]) if id % label_freq == 0]
+
+            x = [v for v in np.arange(0, len(row[5:])+1) if v % label_freq == 0]
+
+            plt.xticks(x, x_labels, rotation=45)
+            plt.ylim(-1, 2)
+
+        plt.show()
+
+def main():
+
+    if len(sys.argv) <= 1:
+        print('Run with default parameters...')
+        print('python display_simulation_curves.py --folder "path"')
+        sys.exit(2)
+    try:
+        opts, args = getopt.getopt(sys.argv[1:], "hm:s:k", ["help=", "folder="])
+    except getopt.GetoptError:
+        # print help information and exit:
+        print('python display_simulation_curves.py --folder "path"')
+        sys.exit(2)
+    for o, a in opts:
+        if o == "-h":
+            print('python display_simulation_curves.py --folder "path"')
+            sys.exit()
+        elif o in ("-f", "--folder"):
+            p_folder = a
+
+        else:
+            assert False, "unhandled option"
+
+
+    display_curves(p_folder)
+
+if __name__== "__main__":
+    main()

+ 6 - 6
utils/display_svd_zone_scene.py

@@ -8,6 +8,7 @@ Created on Fri Sep 14 21:02:42 2018
 
 from __future__ import print_function
 import sys, os, getopt
+
 import numpy as np
 import random
 import time
@@ -19,8 +20,7 @@ from ipfml import metrics
 from skimage import color
 
 import matplotlib.pyplot as plt
-
-from data_type_module import get_svd_data
+from modules.utils.data_type import get_svd_data
 
 config_filename   = "config"
 zone_folder       = "zone"
@@ -31,7 +31,7 @@ scenes_list = ['Appart1opt02', 'Bureau1', 'Cendrier', 'Cuisine01', 'EchecsBas',
 metric_choices = ['lab', 'mscn', 'mscn_revisited', 'low_bits_2', 'low_bits_3', 'low_bits_4', 'low_bits_5', 'low_bits_6','low_bits_4_shifted_2']
 scenes_indexes = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
 choices = ['svd', 'svdn', 'svdne']
-path = './../fichiersSVD_light'
+path = './fichiersSVD_light'
 zones = np.arange(16)
 seuil_expe_filename = 'seuilExpe'
 
@@ -161,14 +161,14 @@ def display_svd_values(p_scene, p_interval, p_zone, p_metric, p_mode):
 
             for id, data in enumerate(zones_images_data):
 
-                p_label = p_scene + "_" + images_indexes[0]
+                p_label = p_scene + "_" + images_indexes[id]
 
                 if images_indexes[id] == threshold_image_zone:
-                    plt.plot(data, label=p_label, lw=4)
+                    plt.plot(data, label=p_label, lw=4, color='red')
                 else:
                     plt.plot(data, label=p_label)
 
-            plt.legend(bbox_to_anchor=(0.5, 1), loc=2, borderaxespad=0.2, fontsize=14)
+            plt.legend(bbox_to_anchor=(0.8, 1), loc=2, borderaxespad=0.2, fontsize=14)
             plt.ylim(0, 0.1)
 
             plt.show()

+ 1 - 1
generate_all_data.py

@@ -13,7 +13,7 @@ import random
 import time
 import json
 
-from utils.data_type_module import get_svd_data
+from modules.utils.data_type import get_svd_data
 from PIL import Image
 from ipfml import image_processing
 from ipfml import metrics

+ 1 - 2
generate_data_model_random_maxwell.py

@@ -14,8 +14,7 @@ import time
 import json
 
 from PIL import Image
-from ipfml import image_processing
-from ipfml import metrics
+from ipfml import image_processing, metrics
 
 config_filename   = "config"
 zone_folder       = "zone"

utils/__init__.py → modules/__init__.py


+ 0 - 0
modules/utils/__init__.py


utils/data_type_module.py → modules/utils/data_type.py


+ 1 - 0
predict_seuil_expe_maxwell_curve.py

@@ -172,6 +172,7 @@ def main():
             print("Scene " + str(id_scene + 1) + "/" + str(len(maxwell_scenes)) + " Done..")
             print("------------------------")
 
+            print("Model predictions are saved into %s" map_filename)
             time.sleep(10)
 
 

+ 0 - 16
utils/Curve_simulations/simulation_curves_zones_Appart1opt02

@@ -1,16 +0,0 @@
-00;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;313;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;0;0;0;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-01;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;312;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-02;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;274;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-03;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;271;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-04;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;310;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-05;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;301;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-06;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;308;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-07;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;235;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-08;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;248;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-09;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;292;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;0;0;0;0;1;1;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-10;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;222;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-11;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;240;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-12;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;211;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-13;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;151;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-14;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;139;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-15;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;177;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0

+ 0 - 16
utils/Curve_simulations/simulation_curves_zones_Cuisine01

@@ -1,16 +0,0 @@
-00;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;352;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-01;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;293;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-02;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;412;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;0;1;1;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-03;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;391;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;1;1;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-04;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;441;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-05;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;332;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-06;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;349;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-07;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;354;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-08;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;415;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-09;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;395;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;0;0;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-10;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;343;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-11;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;396;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-12;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;535;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1;0;0;1;0;0;0;0;1;0;0;1;1;0;0;0;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-13;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;395;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1;1;0;1;0;0;1;1;0;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;1;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-14;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;372;00050;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-15;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;366;00050;10;1;1;1;1;1;1;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0

+ 0 - 16
utils/Curve_simulations/simulation_curves_zones_SdbCentre

@@ -1,16 +0,0 @@
-00;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;345;00020;10;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-01;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;338;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;0;0;0;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-02;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;416;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-03;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;216;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;1;0;1;0;0;0;0;0;0;0;0;0;0
-04;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;146;00020;10;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-05;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;299;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-06;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;458;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-07;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;182;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;1;1;0;0;1;1;1;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0
-08;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;370;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-09;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;349;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-10;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;428;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;0;1;1;0;1
-11;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;232;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;0;0;1;1;0;0;0;0;0;0;0;0;1;0;0;0;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-12;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;294;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;1;1;1;1;1;1;0;0;1;0;1;1;0;0;0;0;0;1;0;1;0;1;0;1;0;1;1;0;0;1;1;1;1;0;0;1;1
-13;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;283;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;0;1;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-14;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;255;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-15;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;200;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0

+ 0 - 16
utils/Curve_simulations/simulation_curves_zones_SdbDroite

@@ -1,16 +0,0 @@
-00;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;404;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;0;1;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-01;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;320;00020;10;1;0;1;1;1;1;1;1;1;1;1;1;1;0;1;0;1;0;0;1;0;0;0;1;0;1;1;1;0;1;1;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-02;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;163;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;1;1;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-03;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;375;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-04;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;439;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-05;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;309;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-06;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;192;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;0;1;1;1;1;1;1;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;1
-07;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;330;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
-08;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;467;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1;1;1;1;1;1;1;1;0;1;1;0;1;0;0;1;1;1;1;1;0;0;0;0;0;0;0;1;1
-09;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;387;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;0;0;0;0;0;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-10;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;221;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-11;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;256;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-12;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;305;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-13;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;184;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-14;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;210;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
-15;saved_models/ensemble_model_v2_N16_B92_E108_nb_zones_12_lab_svdne.joblib;219;00020;10;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0

+ 0 - 146
utils/display_bits_values.py

@@ -1,146 +0,0 @@
-from ipfml import image_processing
-from PIL import Image
-import numpy as np
-from ipfml import metrics
-from skimage import color
-
-import cv2
-
-low_bits_2_svd_values = []
-
-low_bits_3_svd_values = []
-
-low_bits_4_svd_values = []
-
-low_bits_5_svd_values = []
-
-low_bits_6_svd_values = []
-
-low_bits_7_svd_values = []
-
-def open_and_display(path):
-    img = Image.open(path)
-
-    block_used = np.array(img)
-
-    # computation of low bits parts 2 bits
-    low_bits_block = image_processing.rgb_to_LAB_L_low_bits(block_used, 3)
-
-    low_bits_svd = metrics.get_SVD_s(low_bits_block)
-
-    low_bits_svd = [b / low_bits_svd[0] for b in low_bits_svd]
-
-    low_bits_2_svd_values.append(low_bits_svd)
-
-    # computation of low bits parts 3 bits
-    low_bits_block = image_processing.rgb_to_LAB_L_low_bits(block_used, 7)
-
-    low_bits_svd = metrics.get_SVD_s(low_bits_block)
-
-    low_bits_svd = [b / low_bits_svd[0] for b in low_bits_svd]
-
-    low_bits_3_svd_values.append(low_bits_svd)
-
-    # computation of low bits parts 4 bits
-    low_bits_block = image_processing.rgb_to_LAB_L_low_bits(block_used)
-
-    low_bits_svd = metrics.get_SVD_s(low_bits_block)
-
-    low_bits_svd = [b / low_bits_svd[0] for b in low_bits_svd]
-
-    low_bits_4_svd_values.append(low_bits_svd)
-
-    # computation of low bits parts 5 bits
-    low_bits_block = image_processing.rgb_to_LAB_L_low_bits(block_used, 31)
-
-    low_bits_svd = metrics.get_SVD_s(low_bits_block)
-
-    low_bits_svd = [b / low_bits_svd[0] for b in low_bits_svd]
-
-    low_bits_5_svd_values.append(low_bits_svd)
-
-    # computation of low bits parts 6 bits
-    low_bits_block = image_processing.rgb_to_LAB_L_low_bits(block_used, 63)
-
-    low_bits_svd = metrics.get_SVD_s(low_bits_block)
-
-    low_bits_svd = [b / low_bits_svd[0] for b in low_bits_svd]
-
-    low_bits_6_svd_values.append(low_bits_svd)
-
-    # computation of low bits parts 7 bits
-    low_bits_block = image_processing.rgb_to_LAB_L_low_bits(block_used, 127)
-
-    low_bits_svd = metrics.get_SVD_s(low_bits_block)
-
-    low_bits_svd = [b / low_bits_svd[0] for b in low_bits_svd]
-
-    low_bits_7_svd_values.append(low_bits_svd)
-
-path_noisy = '/home/jbuisine/Documents/Thesis/Development/NoiseDetection_In_SynthesisImages/fichiersSVD_light/Cuisine01/cuisine01_00050.png'
-path_threshold = '/home/jbuisine/Documents/Thesis/Development/NoiseDetection_In_SynthesisImages/fichiersSVD_light/Cuisine01/cuisine01_00400.png'
-path_ref = '/home/jbuisine/Documents/Thesis/Development/NoiseDetection_In_SynthesisImages/fichiersSVD_light/Cuisine01/cuisine01_01200.png'
-
-path_list = [path_noisy, path_threshold, path_ref]
-
-for p in path_list:
-    open_and_display(p)
-
-import matplotlib.pyplot as plt
-
-# SVD
-# make a little extra space between the subplots
-
-plt.plot(low_bits_2_svd_values[0], label='Noisy')
-plt.plot(low_bits_2_svd_values[1], label='Threshold')
-plt.plot(low_bits_2_svd_values[2], label='Reference')
-plt.ylabel('Low 2 bits SVD')
-plt.xlabel('Vector features')
-plt.legend(bbox_to_anchor=(0.7, 1), loc=2, borderaxespad=0.2)
-plt.ylim(0, 0.1)
-plt.show()
-
-plt.plot(low_bits_3_svd_values[0], label='Noisy')
-plt.plot(low_bits_3_svd_values[1], label='Threshold')
-plt.plot(low_bits_3_svd_values[2], label='Reference')
-plt.ylabel('Low 3 bits SVD')
-plt.xlabel('Vector features')
-plt.legend(bbox_to_anchor=(0.7, 1), loc=2, borderaxespad=0.2)
-plt.ylim(0, 0.1)
-plt.show()
-
-plt.plot(low_bits_4_svd_values[0], label='Noisy')
-plt.plot(low_bits_4_svd_values[1], label='Threshold')
-plt.plot(low_bits_4_svd_values[2], label='Reference')
-plt.ylabel('Low 4 bits SVD')
-plt.xlabel('Vector features')
-plt.legend(bbox_to_anchor=(0.7, 1), loc=2, borderaxespad=0.2)
-plt.ylim(0, 0.1)
-plt.show()
-
-plt.plot(low_bits_5_svd_values[0], label='Noisy')
-plt.plot(low_bits_5_svd_values[1], label='Threshold')
-plt.plot(low_bits_5_svd_values[2], label='Reference')
-plt.ylabel('Low 5 bits SVD')
-plt.xlabel('Vector features')
-plt.legend(bbox_to_anchor=(0.7, 1), loc=2, borderaxespad=0.2)
-plt.ylim(0, 0.1)
-plt.show()
-
-plt.plot(low_bits_6_svd_values[0], label='Noisy')
-plt.plot(low_bits_6_svd_values[1], label='Threshold')
-plt.plot(low_bits_6_svd_values[2], label='Reference')
-plt.ylabel('Low 6 bits SVD')
-plt.xlabel('Vector features')
-plt.legend(bbox_to_anchor=(0.7, 1), loc=2, borderaxespad=0.2)
-plt.ylim(0, 0.1)
-plt.show()
-
-plt.plot(low_bits_7_svd_values[0], label='Noisy')
-plt.plot(low_bits_7_svd_values[1], label='Threshold')
-plt.plot(low_bits_7_svd_values[2], label='Reference')
-plt.ylabel('Low 7 bits SVD')
-plt.xlabel('Vector features')
-plt.legend(bbox_to_anchor=(0.7, 1), loc=2, borderaxespad=0.2)
-plt.ylim(0, 0.1)
-plt.show()

+ 0 - 58
utils/show_simulation_curves.py

@@ -1,58 +0,0 @@
-import numpy as np
-import pandas as pd
-
-import matplotlib.pyplot as plt
-import os, sys
-
-from utils.data_type_module import get_svd_data
-
-label_freq = 6
-folder_path = "Curve_simulations"
-
-data_files = os.listdir(folder_path)
-
-scene_names = [f.split('_')[3] for f in data_files]
-
-for id, f in enumerate(data_files):
-
-    print(scene_names[id])
-    path_file = os.path.join(folder_path, f)
-
-    df = pd.read_csv(path_file, header=None, sep=";")
-
-
-    fig=plt.figure(figsize=(8, 8))
-    fig.suptitle("Detection simulation for " + scene_names[id] + " scene", fontsize=20)
-
-    for index, row in df.iterrows():
-
-        row = np.asarray(row)
-
-        threshold = row[2]
-        start_index = row[3]
-        step_value = row[4]
-
-        counter_index = 0
-
-        current_value = start_index
-
-        while(current_value < threshold):
-            counter_index += 1
-            current_value += step_value
-
-        fig.add_subplot(4, 4, (index + 1))
-        plt.plot(row[5:])
-
-        # draw vertical line from (70,100) to (70, 250)
-        plt.plot([counter_index, counter_index], [-2, 2], 'k-', lw=2, color='red')
-        plt.ylabel('Not noisy / Noisy', fontsize=18)
-        plt.xlabel('Time in minutes / Samples per pixel', fontsize=16)
-
-        x_labels = [id * step_value + start_index for id, val in enumerate(row[5:]) if id % label_freq == 0]
-
-        x = [v for v in np.arange(0, len(row[5:])+1) if v % label_freq == 0]
-
-        plt.xticks(x, x_labels, rotation=45)
-        plt.ylim(-1, 2)
-
-    plt.show()