Parcourir la source

Update of noise images generation scripts; Use of step..;

Jérôme BUISINE il y a 5 ans
Parent
commit
94d0246e35
3 fichiers modifiés avec 24 ajouts et 18 suppressions
  1. 4 4
      generate_all_noise.sh
  2. 9 8
      generate_noise_all_curves.sh
  3. 11 6
      noise_computation.py

+ 4 - 4
generate_all_noise.sh

@@ -12,9 +12,9 @@ for file in "images"/*; do
         for identical in {"0","1"}; do
 
             if [ ${identical} == "1" ]; then
-                python noise_computation.py --noise ${noise} --image ${file} --n 1000 --identical ${identical} --output ${image}_${noise}.png --all 1 &
+                python noise_computation.py --noise ${noise} --image ${file} --n 1000 --identical ${identical} --output ${image}_${noise}.png --step 10 --all 1 &
             else
-                python noise_computation.py --noise ${noise} --image ${file} --n 1000 --identical ${identical} --output ${image}_${noise}_color.png --all 1 &
+                python noise_computation.py --noise ${noise} --image ${file} --n 1000 --identical ${identical} --output ${image}_${noise}_color.png --step 10 --all 1 &
             fi
 
         done
@@ -24,9 +24,9 @@ for file in "images"/*; do
     # specific for salt and pepper noise
     for identical in {"0","1"}; do
         if [ ${identical} == "1" ]; then
-            python noise_computation.py --noise salt_pepper --image ${file} --n 1000 --identical ${identical} --output ${image}_salt_pepper.png --all 1 --p 0.1 &
+            python noise_computation.py --noise salt_pepper --image ${file} --n 1000 --identical ${identical} --output ${image}_salt_pepper.png --step 10 --all 1 --p 0.1 &
         else
-            python noise_computation.py --noise salt_pepper --image ${file} --n 1000 --identical ${identical} --output ${image}_salt_pepper_color.png --all 1 --p 0.1 &
+            python noise_computation.py --noise salt_pepper --image ${file} --n 1000 --identical ${identical} --output ${image}_salt_pepper_color.png --step 10 --all 1 --p 0.1 &
         fi
     done
 done

+ 9 - 8
generate_noise_all_curves.sh

@@ -5,15 +5,16 @@ for file in "images"/*; do
     read -ra ADDR <<< "$file" # str is read into an array as tokens separated by IFS
     IFS=' '
 
-    image=${ADDR[1]}
+    image=${ADDR[1]%".png"}
 
-
-    for noise in {"cauchy","gaussian","laplace","log_normal","mut_white","white","salt_pepper"}; do
-        for mode in {"svdn","svdne"}; do
-             python noise_svd_visualization.py  --prefix generated/${image}/${noise} --metric lab --n 1000 --mode ${mode} --interval "0, 200" --step 40 --norm 0 --ylim "0, 0.05"
-             python noise_svd_visualization.py  --prefix generated/${image}/${noise} --metric lab --n 1000 --mode ${mode} --interval "0, 200" --step 40 --norm 1 --ylim "0, 0.1"
-             python noise_svd_visualization.py  --prefix generated/${image}/${noise} --metric lab --n 1000 --mode ${mode} --interval "0, 200" --step 40 --norm 1 --color 1 --ylim "0, 0.05"
-             python noise_svd_visualization.py  --prefix generated/${image}/${noise} --metric lab --n 1000 --mode ${mode} --interval "0, 200" --step 40 --norm 1 --ylim --color 1 "0, 0.1"
+    for metric in {"lab","mscn","mscn_revisited","low_bits_2","low_bits_3","low_bits_4", "low_bits_5","low_bits_6","low_bits_4_shifted_2"}; do
+        for noise in {"cauchy","gaussian","laplace","log_normal","mut_white","white","salt_pepper"}; do
+            for mode in {"svdn","svdne"}; do
+                 python noise_svd_visualization.py  --prefix generated/${image}/${noise} --metric lab --n 1000 --mode ${mode} --interval "0, 200" --step 40 --norm 0 --ylim "0, 0.05"
+                 python noise_svd_visualization.py  --prefix generated/${image}/${noise} --metric lab --n 1000 --mode ${mode} --interval "0, 200" --step 40 --norm 1 --ylim "0, 0.1"
+                 python noise_svd_visualization.py  --prefix generated/${image}/${noise} --metric lab --n 1000 --mode ${mode} --interval "0, 200" --step 40 --norm 0 --color 1 --ylim "0, 0.05"
+                 python noise_svd_visualization.py  --prefix generated/${image}/${noise} --metric lab --n 1000 --mode ${mode} --interval "0, 200" --step 40 --norm 1 --color 1 --ylim "0, 0.1"
+            done
         done
     done
 done

+ 11 - 6
noise_computation.py

@@ -39,21 +39,22 @@ def generate_noisy_image(p_image, p_n, p_noise, p_identical, p_output, p_param):
 def main():
 
     # by default..
+    p_step = 1
     p_param = None
     p_all = False
 
     if len(sys.argv) < 1:
-        print('python noise_computation.py --noise xxxx --image path/to/image.png --n 100 --identical 0 --output image_name --all 1 --p 0.1')
+        print('python noise_computation.py --noise xxxx --image path/to/image.png --n 100 --identical 0 --output image_name --step 10 --all 1 --p 0.1')
         sys.exit(2)
     try:
-        opts, args = getopt.getopt(sys.argv[1:], "h:n:i:n:i:o:a:p", ["help=", "noise=", "image=", "n=", "identical=", "output=", "all=", "p="])
+        opts, args = getopt.getopt(sys.argv[1:], "h:n:i:n:i:o:a:p", ["help=", "noise=", "image=", "n=", "identical=", "output=", "step=", "all=", "p="])
     except getopt.GetoptError:
         # print help information and exit:
-        print('python noise_computation.py --noise xxxx --image path/to/image.png --n 100 --identical 0 --output image_name --all 1 --p 0.1')
+        print('python noise_computation.py --noise xxxx --image path/to/image.png --n 100 --identical 0 --output image_name --step 10 --all 1 --p 0.1')
         sys.exit(2)
     for o, a in opts:
         if o == "-h":
-            print('python noise_computation.py --noise xxxx --image path/to/image.png --n 100 --identical 0 --output image_name --all 1 --p 0.1')
+            print('python noise_computation.py --noise xxxx --image path/to/image.png --n 100 --identical 0 --output image_name --step 10 --all 1 --p 0.1')
             sys.exit()
         elif o in ("-n", "--noise"):
             p_noise = a
@@ -68,6 +69,8 @@ def main():
 
         elif o in ("-i", "--identical"):
             p_identical = int(a)
+        elif o in ("-s", "--step"):
+            p_step = int(a)
         elif o in ("-o", "--output"):
             p_output = a
         elif o in ("-a", "--all"):
@@ -84,9 +87,11 @@ def main():
         split_output = p_output.split('.')
 
         for i in range(1, p_n):
-            p_filename = split_output[0] + "_" + str(i) + "." + filename_ext
 
-            generate_noisy_image(img, i, p_noise, p_identical, p_filename, p_param)
+            if i % p_step == 0:
+                p_filename = split_output[0] + "_" + str(i) + "." + filename_ext
+
+                generate_noisy_image(img, i, p_noise, p_identical, p_filename, p_param)
 
     else:
         generate_noisy_image(img, p_n, p_noise, p_identical, p_output, p_param)