From 12ba5f59450bd6bec27664c1d3cc7844438bbcf1 Mon Sep 17 00:00:00 2001
From: Guillaume HEUSCH <guillaume.heusch@idiap.ch>
Date: Tue, 26 Jun 2018 14:49:01 +0200
Subject: [PATCH] [doc] updated user guides to reflect the changes made with
 the usage of configuration files

---
 doc/guide_chrom.rst                           |  46 ++++++-
 doc/guide_cvpr14.rst                          | 123 +++++++++++++++---
 doc/guide_ssr.rst                             |  50 ++++++-
 doc/index.rst                                 |   9 +-
 scripts-article/README.rst                    |  35 -----
 .../chrom-cohface-clean-natural.py            |  64 ---------
 scripts-article/chrom-cohface-clean.py        |  65 ---------
 .../chrom-cohface-complete-face.py            |  65 ---------
 .../chrom-cohface-complete-mask.py            |  68 ----------
 .../chrom-cohface-complete-skin.py            |  65 ---------
 scripts-article/chrom-hci-cvpr14.py           |  63 ---------
 scripts-article/chrom-hci-protocols.py        |  65 ---------
 scripts-article/chrom-xdb-cohface-hci.py      |  64 ---------
 scripts-article/chrom-xdb-hci-cohface.py      |  63 ---------
 scripts-article/li-cohface-clean-natural.py   |  97 --------------
 scripts-article/li-cohface-clean.py           |  97 --------------
 scripts-article/li-cohface-complete-face.py   |  92 -------------
 scripts-article/li-cohface-complete-mask.py   |  97 --------------
 scripts-article/li-cohface-complete-skin.py   |  94 -------------
 scripts-article/li-hci-cvpr14.py              |  96 --------------
 scripts-article/li-hci-protocols.py           |  97 --------------
 scripts-article/li-xdb-cohface-hci.py         |  96 --------------
 scripts-article/li-xdb-hci-cohface.py         |  96 --------------
 scripts-article/ssr-cohface-clean-natural.py  |  62 ---------
 scripts-article/ssr-cohface-clean.py          |  63 ---------
 scripts-article/ssr-cohface-complete-face.py  |  62 ---------
 scripts-article/ssr-cohface-complete-mask.py  |  67 ----------
 scripts-article/ssr-cohface-complete-skin.py  |  64 ---------
 scripts-article/ssr-hci-cvpr14.py             |  61 ---------
 scripts-article/ssr-hci-protocols.py          |  63 ---------
 scripts-article/ssr-xdb-cohface-hci.py        |  62 ---------
 scripts-article/ssr-xdb-hci-cohface.py        |  61 ---------
 32 files changed, 196 insertions(+), 2076 deletions(-)
 delete mode 100644 scripts-article/README.rst
 delete mode 100644 scripts-article/chrom-cohface-clean-natural.py
 delete mode 100644 scripts-article/chrom-cohface-clean.py
 delete mode 100644 scripts-article/chrom-cohface-complete-face.py
 delete mode 100644 scripts-article/chrom-cohface-complete-mask.py
 delete mode 100644 scripts-article/chrom-cohface-complete-skin.py
 delete mode 100644 scripts-article/chrom-hci-cvpr14.py
 delete mode 100644 scripts-article/chrom-hci-protocols.py
 delete mode 100644 scripts-article/chrom-xdb-cohface-hci.py
 delete mode 100644 scripts-article/chrom-xdb-hci-cohface.py
 delete mode 100644 scripts-article/li-cohface-clean-natural.py
 delete mode 100644 scripts-article/li-cohface-clean.py
 delete mode 100644 scripts-article/li-cohface-complete-face.py
 delete mode 100644 scripts-article/li-cohface-complete-mask.py
 delete mode 100644 scripts-article/li-cohface-complete-skin.py
 delete mode 100644 scripts-article/li-hci-cvpr14.py
 delete mode 100644 scripts-article/li-hci-protocols.py
 delete mode 100644 scripts-article/li-xdb-cohface-hci.py
 delete mode 100644 scripts-article/li-xdb-hci-cohface.py
 delete mode 100644 scripts-article/ssr-cohface-clean-natural.py
 delete mode 100644 scripts-article/ssr-cohface-clean.py
 delete mode 100644 scripts-article/ssr-cohface-complete-face.py
 delete mode 100644 scripts-article/ssr-cohface-complete-mask.py
 delete mode 100644 scripts-article/ssr-cohface-complete-skin.py
 delete mode 100644 scripts-article/ssr-hci-cvpr14.py
 delete mode 100644 scripts-article/ssr-hci-protocols.py
 delete mode 100644 scripts-article/ssr-xdb-cohface-hci.py
 delete mode 100644 scripts-article/ssr-xdb-hci-cohface.py

diff --git a/doc/guide_chrom.rst b/doc/guide_chrom.rst
index 076c777..e616258 100644
--- a/doc/guide_chrom.rst
+++ b/doc/guide_chrom.rst
@@ -39,17 +39,55 @@ The mean skin color value is then computed, and projected onto the XY chrominanc
 colorspace. The signals in this colorspace are filtered using a bandpass filter
 before the final pulse signal is built.
 
-
 To extract the pulse signal from video sequences, do the following::
 
-  $ ./bin/chrom_pulse.py cohface -vv
+  $ ./bin/chrom_pulse.py config.py -vv
 
 To see the full options, including parameters and protocols, type:: 
 
   $ ./bin/chrom_pulse.py --help 
 
-The output of this step normally goes into a directory (you can override on
-the options for this application) named ``pulse``.
+As you can see, the script takes a configuration file as argument. This
+configuration file is required to at least specify the database, but can also
+be used to provide various parameters. A full example of configuration is
+given below.
+
+.. code-block:: python
+
+  import os, sys
+
+  # DATABASE
+  import bob.db.hci_tagging
+  import bob.db.hci_tagging.driver
+  if os.path.isdir(bob.db.hci_tagging.driver.DATABASE_LOCATION):
+    dbdir = bob.db.hci_tagging.driver.DATABASE_LOCATION
+  if dbdir == '':
+    print("You should provide a directory where the DB is located")
+    sys.exit()
+  database = bob.db.hci_tagging.Database()
+  protocol = 'cvpr14'
+  framerate = 61
+
+  basedir = 'chrom-hci-cvpr14/'
+
+  # EXTRACT PULSE 
+  pulsedir = basedir + 'pulse'
+  start = 306
+  end = 2136
+  motion = 0
+  threshold = 0.1
+  skininit = True
+  order = 128
+  window = 0
+
+  # FREQUENCY ANALYSIS
+  hrdir = basedir + 'hr'
+  nsegments = 12
+  nfft = 2048
+
+  # RESULTS
+  resultdir = basedir + 'results'
+
 
 .. note::
 
diff --git a/doc/guide_cvpr14.rst b/doc/guide_cvpr14.rst
index 4278ec7..9a23cd2 100644
--- a/doc/guide_cvpr14.rst
+++ b/doc/guide_cvpr14.rst
@@ -22,37 +22,65 @@ The algorithm to retrieve the pulse signal can be divided into several steps:
   3. Eliminating non-rigid motion.
   4. Filtering
 
+All the scripts rely on the usage of a configuration file, which specify the
+database interface, the path where the raw data (i.e. video sequences) are stored
+and various parameters.
+
+Below you can find a (minmal) example of a configuration file.
+
+.. code-block:: python
+
+  import os, sys
+  import bob.db.hci_tagging
+  import bob.db.hci_tagging.driver
+
+  if os.path.isdir(bob.db.hci_tagging.driver.DATABASE_LOCATION):
+    dbdir = bob.db.hci_tagging.driver.DATABASE_LOCATION
+
+  if dbdir == '':
+    print("You should provide a directory where the DB is located")
+    sys.exit()
+
+  database = bob.db.hci_tagging.Database()
+  protocol = 'cvpr14'
+
+As you can see, here you should **at least** have the `database` and 
+the `dbdir` parameters set.
+
 
 Step 1: Extract signals from video sequences
 --------------------------------------------
 
 This scripts first load previously detected facial keypoints to build the mask 
 covering the bottom region of the face (note that the keypoints are not
-provided, but could be obtained using bob.ip.flandmark for instance). Once the
+provided, but could be obtained using `bob.ip.dlib
+<https://gitlab.idiap.ch/bob/bob.ip.dlib>`_ for instance. Once the
 mask has been built, it is tracked across the whole sequence using the
 methodology described in [li-cvpr-2014]_. The face is 
 detected using :py:func:`bob.ip.facedetect.detect_single_face`, and the
-tracking makes usage of openCV (version 2). 
+tracking makes usage of OpenCV. 
 
 To extract the mean green colors the face region and of
-the background across the video sequences of the COHFACE 
-database, do the following::
+the background across the video sequences of the defined database 
+in the configuration file, do the following::
 
-  $ ./bin/cvpr14_extract_signals.py cohface -vv
+  $ ./bin/cvpr14_extract_face_and_bg_signals.py config.py -vv
 
 To see the full options, including parameters and protocols, type:: 
 
-  $ ./bin/cvpr14_extract_signals.py --help 
+  $ ./bin/cvpr14_extract_face_and_bg_signals.py --help 
 
-The output of this step normally goes into directories (you can override on
-the options for this application) named ``face`` and ``background``.
+Note that you can either pass parameters through command-line, or 
+by specififing them in the configuration file. Be aware that
+the command-line overrides the configuration file though.
 
 .. note::
 
    The execution of this script is very slow - mainly due to the face detection. 
-   You can speed it up using the gridtk_ (especially, if you're at Idiap). For example::
+   You can speed it up using the gridtk_ toolbox (especially, if you're at Idiap). 
+   For example::
 
-     $ ./bin/jman sub -t 3490 -- ./bin/cvpr14_extract_signals.py cohface
+     $ ./bin/jman sub -t 3490 -- ./bin/cvpr14_extract_face_and_bg_signals. config.py
 
    The number of jobs (i.e. 3490) is given by typing::
      
@@ -68,10 +96,10 @@ Normalized Linear Mean Square and is then removed from the face signal. To get
 the rectified green signal of the face area, you should execute the following
 script::
 
-  $ ./bin/cvpr14_illumination.py cohface -v
+  $ ./bin/cvpr14_illumination.py config.py -v
 
-This script takes as input the result directories (normally named) ``face`` and
-``background`` and outputs data to a directory named ``illumination``.
+Again, parameters can be passed either through the configuration file or
+the command-line
 
 
 Step 3: Non rigid Motion Elimination
@@ -88,11 +116,6 @@ been eliminated, execute the following commands::
   $ ./bin/cvpr14_motion.py cohface --save-threshold threshold.txt -vv
   $ ./bin/cvpr14_motion.py cohface --load-threshold threshold.txt -vv
 
-This script takes as input the result directory (normally named)
-``illumination`` and outputs data to a directory called
-``motion``. The first call computes the threshold while the second
-one actually discards segments and builds the corrected signals.
-
 
 Step 4: Filtering
 -----------------
@@ -108,8 +131,68 @@ signal, you should execute the following command::
 
   $ ./bin/cvpr14_filter.py cohface -vv
 
-This script normally takes data from a directory called ``motion-eliminated``
-and outputs data to a directory called ``filtered``.
+A Full Configuration File Example
+---------------------------------
+
+.. note::
+
+   This configuration file can (and probably should) be used with all the 
+   scripts mentioned above
+
+.. code-block:: python
+
+  import os, sys
+
+  import bob.db.hci_tagging
+  import bob.db.hci_tagging.driver
+
+  # DATABASE
+  if os.path.isdir(bob.db.hci_tagging.driver.DATABASE_LOCATION):
+    dbdir = bob.db.hci_tagging.driver.DATABASE_LOCATION
+  if dbdir == '':
+    print("You should provide a directory where the DB is located")
+    sys.exit()
+  database = bob.db.hci_tagging.Database()
+  protocol = 'cvpr14'
+
+  basedir = 'li-hci-cvpr14/'
+
+  # EXTRACT FACE AND BACKGROUND
+  facedir = basedir + 'face'
+  bgdir = basedir + 'bg'
+  npoints = 200
+  indent = 10 
+  quality = 0.01
+  distance = 10
+  verbose = 2
+
+  # ILLUMINATION CORRECTION
+  illumdir = basedir + 'illumination'
+  start = 306
+  end = 2136
+  step = 0.05
+  length = 3
+
+  # MOTION ELIMINATION
+  motiondir = basedir + 'motion'
+  seglength = 61
+  cutoff = 0.05
+
+  # FILTERING
+  pulsedir = basedir + 'pulse'
+  Lambda = 300
+  window = 21
+  framerate = 61
+  order = 128
+
+  # FREQUENCY ANALYSIS
+  hrdir = basedir + 'hr'
+  nsegments = 16
+  nfft = 8192
+
+  # RESULTS
+  resultdir = basedir + 'results'
+
 
 .. _gridtk: https://pypi.python.org/pypi/gridtk
 
diff --git a/doc/guide_ssr.rst b/doc/guide_ssr.rst
index c3f5269..b993a26 100644
--- a/doc/guide_ssr.rst
+++ b/doc/guide_ssr.rst
@@ -33,13 +33,53 @@ from each frame image. Hence, a skin color filter (:py:mod:`bob.ip.skincolorfilt
 is applied to retrieve a mask containing skin pixels.
 
 After having applied the skin color filter, the full algorithm is applied,
-as described in Algorithm 1 in the paper. To get the pulse signal, do
-the following::
+as described in Algorithm 1 in the paper. To get the pulse signals for
+all video in a database, do the following::
 
-  $ ./bin/ssr_pulse.py cohface
+  $ ./bin/ssr_pulse.py config.py -v
 
-The result of this script will be the pulse signal. 
-The output of this step normally goes into a directory named ``pulse``.
+To see the full options, including parameters and protocols, type:: 
+
+  $ ./bin/ssr_pulse.py --help 
+
+As you can see, the script takes a configuration file as argument. This
+configuration file is required to at least specify the database, but can also
+be used to provide various parameters. A full example of configuration is
+given below.
+
+.. code-block:: python
+
+  import os, sys
+  import bob.db.hci_tagging
+  import bob.db.hci_tagging.driver
+
+  if os.path.isdir(bob.db.hci_tagging.driver.DATABASE_LOCATION):
+    dbdir = bob.db.hci_tagging.driver.DATABASE_LOCATION
+
+  if dbdir == '':
+    print("You should provide a directory where the DB is located")
+    sys.exit()
+
+  database = bob.db.hci_tagging.Database()
+  protocol = 'cvpr14'
+
+  basedir = 'ssr-hci-cvpr14/'
+
+  # EXTRACT PULSE 
+  pulsedir = basedir + 'pulse'
+  start = 306
+  end = 2136
+  threshold = 0.1
+  skininit = True
+  stride = 30
+
+  # FREQUENCY ANALYSIS
+  hrdir = basedir + 'hr'
+  nsegments = 8
+  nfft = 4096
+
+  # RESULTS
+  resultdir = basedir + 'results'
 
 .. note::
 
diff --git a/doc/index.rst b/doc/index.rst
index 7138c4a..c027caa 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -19,12 +19,15 @@ This module contains the implementation of different remote photoplesthymography
   * 2SR [wang-tbe-2015]_. 
 
 Also, we provide scripts to infer the heart-rate from the pulse signals, and
-to evaluate global performance on two different databases: Manhob HCI-Tagging 
-(http://mahnob-db.eu/hci-tagging/) and COHFACE (http://www.idiap.ch/dataset/cohface).
+to evaluate global performance on a database.
+
+Note that this package was first meant to be used with the Manhob HCI-Tagging 
+(http://mahnob-db.eu/hci-tagging/) and COHFACE (http://www.idiap.ch/dataset/cohface)
+databases, but could easily be extended to other datasets.
 
 .. warning:: 
   
-   You should download the databases before trying to run anything below!
+   You should download the aforementioned databases before trying to run anything below!
 
 Documentation
 -------------
diff --git a/scripts-article/README.rst b/scripts-article/README.rst
deleted file mode 100644
index 7c0ae97..0000000
--- a/scripts-article/README.rst
+++ /dev/null
@@ -1,35 +0,0 @@
-Scripts for generating article results
---------------------------------------
-
-In this folder, you can find the scripts that have been used to generate the
-results in the article. They assume that the path to the database is either
-'hci' or 'cohface' in the package root folder (this could be a symlink
-though)::
-
-  chrom-cohface-clean-natural.py          --> Table 7 column 2
-  chrom-cohface-clean.py                  --> Table 5, line 2
-  chrom-cohface-complete-face.py          --> Table 8, column 1, line 2
-  chrom-cohface-complete-mask.py          --> Table 8, column 3, line 2
-  chrom-cohface-complete-skin.py          --> Table 8, column 2, line 2
-  chrom-hci-cvpr14.py                     --> Table 2, column 2
-  chrom-hci-protocols.py                  --> Table 4, line 2
-  chrom-xdb-cohface-hci.py                --> Table 6, line 2, column 2
-  chrom-xdb-hci-cohface.py                --> Table 6, line 1, column 2
-  li-cohface-clean-natural.py             --> Table 7, column 1
-  li-cohface-clean.py                     --> Table 5, line 1
-  li-cohface-complete-mask.py             --> Table 8, line 1, column 3
-  li-cohface-complete-skin.py             --> Table 8, line 1, column 2
-  li-cohface-complete-wholeface.py        --> Table 8, line 1, column 1
-  li-hci-cvpr14.py                        --> Table 2, column 1
-  li-hci-protocols.py                     --> Table 4, line 1
-  li-xdb-cohface-hci.py                   --> Table 6, column 1, line 2
-  li-xdb-hci-cohface.py                   --> Table 6, column 1, line 1
-  ssr-cohface-clean-natural.py            --> Table 7, column 3
-  ssr-cohface-clean.py                    --> Table 5, line 3
-  ssr-hci-cvpr14.py                       --> Table 2, column 3
-  ssr-hci-protocols.py                    --> Table 4, line 3
-  ssr-xdb-cohface-hci.py                  --> Table 6, column 3, line 2
-  ssr-xdb-hci-cohface.py                  --> Table 6, column 3, line 1
-  ssr-cohface-complete-face.py            --> Table 8, line 3, column 1
-  ssr-cohface-complete-skin.py            --> Table 8, line 3, column 2
-  ssr-cohface-complete-mask.py            --> Table 8, line 3, column 3
diff --git a/scripts-article/chrom-cohface-clean-natural.py b/scripts-article/chrom-cohface-clean-natural.py
deleted file mode 100644
index de63b1a..0000000
--- a/scripts-article/chrom-cohface-clean-natural.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/chrom-cohface-clean-natural/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-skin_threshold = 0.2
-order = 32
-window = 0
-
-n_segments = 8
-nfft = 1024
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('window = ' + str(window) + '\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'chrom_pulse.py cohface --protocol natural --subset test --dbdir cohface --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --framerate ' + str(framerate) + ' --window ' + str(window) + ' --skininit -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --protocol natural --subset test --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py cohface --protocol natural --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/chrom-cohface-clean.py b/scripts-article/chrom-cohface-clean.py
deleted file mode 100644
index c3d5a97..0000000
--- a/scripts-article/chrom-cohface-clean.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join('experiments/paper/chrom-cohface-clean/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-skin_threshold = 0.2
-order = 32
-window = 0
-
-n_segments = 8
-nfft = 1024
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('window = ' + str(window) + '\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'chrom_pulse.py cohface --protocol clean --dbdir cohface --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --framerate ' + str(framerate) + ' --window ' + str(window) + ' --skininit -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --protocol clean --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py cohface --protocol clean --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py cohface --protocol clean --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/chrom-cohface-complete-face.py b/scripts-article/chrom-cohface-complete-face.py
deleted file mode 100644
index 0529e2c..0000000
--- a/scripts-article/chrom-cohface-complete-face.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join('experiments/paper/chrom-cohface-complete-face/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-skin_threshold = 0.0
-
-# parameters
-order = 128
-window = 0
-
-n_segments = 8
-nfft = 512
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('window = ' + str(window) + '\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'chrom_pulse.py cohface --dbdir cohface --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --framerate ' + str(framerate) + ' --order ' + str(order) + ' --window ' + str(window) + ' -v')
- 
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/chrom-cohface-complete-mask.py b/scripts-article/chrom-cohface-complete-mask.py
deleted file mode 100644
index 41df251..0000000
--- a/scripts-article/chrom-cohface-complete-mask.py
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/chrom-cohface-complete-mask/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-npoints = 40
-indent = 15
-
-order = 128
-window = 256
-
-n_segments = 8
-nfft = 512
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('npoints = ' + str(npoints) + '\n\n')
-f.write('indent = ' + str(indent) + '\n\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('window = ' + str(window) + '\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'chrom_pulse_from_mask.py cohface --dbdir cohface --pulsedir ' + str(pulse_dir) + ' --framerate ' + str(framerate) + ' --npoints ' + str(npoints) + ' --indent ' + str(indent) + ' --order ' + str(order) + ' --window ' + str(window) + ' -v')
- 
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/chrom-cohface-complete-skin.py b/scripts-article/chrom-cohface-complete-skin.py
deleted file mode 100644
index 1d4bff4..0000000
--- a/scripts-article/chrom-cohface-complete-skin.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join('experiments/paper/chrom-cohface-complete-skin/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-skin_threshold = 0.3
-order = 64
-window = 0
-
-n_segments = 8
-nfft = 512
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('window = ' + str(window) + '\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'chrom_pulse.py cohface --dbdir cohface --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --framerate ' + str(framerate) + ' --order ' + str(order) + ' --window ' + str(window) + ' -v')
- 
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/chrom-hci-cvpr14.py b/scripts-article/chrom-hci-cvpr14.py
deleted file mode 100644
index a3a9aeb..0000000
--- a/scripts-article/chrom-hci-cvpr14.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/chrom-hci-cvpr14/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir = base_expe_dir + 'results'
-
-framerate = 61
-
-# parameters
-skin_threshold = 0.1
-order = 32
-window = 0 
-
-n_segments = 12
-nfft = 2048
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('window = ' + str(window) + '\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'chrom_pulse.py hci --protocol cvpr14 --dbdir hci --bboxdir bounding-boxes --outdir ' + str(pulse_dir) + ' --start 306 --end 2136 --threshold ' + str(skin_threshold) + ' --framerate ' + str(framerate) + ' --window ' + str(window) + ' --skininit -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py hci --protocol cvpr14 --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  hci --protocol cvpr14 --indir ' + hr_dir + ' --outdir ' + results_dir + ' -v')
diff --git a/scripts-article/chrom-hci-protocols.py b/scripts-article/chrom-hci-protocols.py
deleted file mode 100644
index fada777..0000000
--- a/scripts-article/chrom-hci-protocols.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/chrom-hci-protocols/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 61
-
-# parameters
-skin_threshold = 0.3
-order = 32
-window = 32 
-
-n_segments = 8
-nfft = 4096
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('window = ' + str(window) + '\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'chrom_pulse.py hci --dbdir hci --bboxdir bounding-boxes --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --framerate ' + str(framerate) + ' --window ' + str(window) + ' --skininit -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py hci --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  hci --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py  hci --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/chrom-xdb-cohface-hci.py b/scripts-article/chrom-xdb-cohface-hci.py
deleted file mode 100644
index 8e5cdf3..0000000
--- a/scripts-article/chrom-xdb-cohface-hci.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/chrom-xdb-cohface-hci/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 61
-
-# parameters
-skin_threshold = 0.2
-order = 32
-window = 0
-
-n_segments = 8
-nfft = 1024
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('window = ' + str(window) + '\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'chrom_pulse.py hci --subset test --dbdir hci --bboxdir bounding-boxes --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --framerate ' + str(framerate) + ' --window ' + str(window) + ' --skininit -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py hci --subset test --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py hci --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/chrom-xdb-hci-cohface.py b/scripts-article/chrom-xdb-hci-cohface.py
deleted file mode 100644
index 2adc4e6..0000000
--- a/scripts-article/chrom-xdb-hci-cohface.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/chrom-xdb-hci-cohface/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-skin_threshold = 0.3
-order = 32
-window = 32 
-
-n_segments = 8
-nfft = 4096
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('window = ' + str(window) + '\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'chrom_pulse.py cohface --protocol clean --subset test --dbdir cohface --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --framerate ' + str(framerate) + ' --window ' + str(window) + ' --skininit -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --protocol clean --subset test --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --protocol clean --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/li-cohface-clean-natural.py b/scripts-article/li-cohface-clean-natural.py
deleted file mode 100644
index 093f27b..0000000
--- a/scripts-article/li-cohface-clean-natural.py
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-### WARNING ###
-# be sure to first run li-cohface-clean.py to get the threshold file
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/li-cohface-clean-natural/')
-facedir = base_expe_dir + 'face'
-bgdir = base_expe_dir + 'bg'
-illumination_dir = base_expe_dir + 'illumination'
-motion_dir = base_expe_dir + 'motion'
-filtered_dir = base_expe_dir + 'filtered'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-npoints = 100 
-indent = 10
-
-adaptation = 0.01
-filter_length = 5
-
-segment_length = 40
-cutoff = 0.02
-threshold_file = 'experiments/paper/li-cohface-clean/illumination/threshold.txt'
-
-Lambda = 300
-window = 3
-order = 32
-
-n_segments = 4
-nfft = 4096
-
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('npoints = ' + str(npoints) + '\n')
-f.write('indent [%] = ' + str(indent) + '\n\n')
-f.write('adaptation step = ' + str(adaptation) + '\n')
-f.write('filter length = ' + str(filter_length) + '\n\n')
-f.write('segment length [frames] = ' + str(segment_length) + '\n')
-f.write('cutoff [% / 100] = ' + str(cutoff) + '\n\n')
-f.write('lambda = ' + str(Lambda) + '\n')
-f.write('window = ' + str(window) + '\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# signals extraction
-os.system(bin_folder + 'cvpr14_extract_signals.py cohface --protocol natural --subset test --dbdir cohface --facedir ' + str(facedir) + ' --bgdir ' + str(bgdir) + ' --npoints ' + str(npoints) + ' --indent ' + str(indent) + ' -v')
-
-# illumination correction
-os.system(bin_folder + 'cvpr14_illumination.py cohface --protocol natural --subset test --facedir ' + facedir + ' --bgdir ' + bgdir + ' --outdir ' + illumination_dir + ' --step ' + str(adaptation) + ' --length ' + str(filter_length) + ' -v')
-
-# motion elimination -> remove segments
-os.system(bin_folder + 'cvpr14_motion.py cohface --protocol natural --subset test --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' +str(cutoff) + ' --load-threshold ' + threshold_file + ' -v')
-
-# filtering
-os.system(bin_folder + 'cvpr14_filter.py cohface --protocol natural --subset test --indir ' + motion_dir + ' --outdir ' + filtered_dir + ' --lambda ' + str(Lambda) + ' --window ' + str(window) + ' --order ' + str(order) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --protocol natural --subset test --indir ' + filtered_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --protocol natural --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/li-cohface-clean.py b/scripts-article/li-cohface-clean.py
deleted file mode 100644
index d91e56a..0000000
--- a/scripts-article/li-cohface-clean.py
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/li-cohface-clean/')
-facedir = base_expe_dir + 'face'
-bgdir = base_expe_dir + 'bg'
-illumination_dir = base_expe_dir + 'illumination'
-threshold_file = illumination_dir + '/threshold.txt'
-motion_dir = base_expe_dir + 'motion'
-filtered_dir = base_expe_dir + 'filtered'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-npoints = 100 
-indent = 10
-
-adaptation = 0.01
-filter_length = 5
-
-segment_length = 40
-cutoff = 0.02
-
-Lambda = 300
-window = 3
-order = 32
-
-n_segments = 4
-nfft = 4096
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('npoints = ' + str(npoints) + '\n')
-f.write('indent [%] = ' + str(indent) + '\n\n')
-f.write('adaptation step = ' + str(adaptation) + '\n')
-f.write('filter length = ' + str(filter_length) + '\n\n')
-f.write('segment length [frames] = ' + str(segment_length) + '\n')
-f.write('cutoff [% / 100] = ' + str(cutoff) + '\n\n')
-f.write('lambda = ' + str(Lambda) + '\n')
-f.write('window = ' + str(window) + '\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# signals extraction
-os.system(bin_folder + 'cvpr14_extract_signals.py cohface --protocol clean --dbdir cohface --facedir ' + str(facedir) + ' --bgdir ' + str(bgdir) + ' --npoints ' + str(npoints) + ' --indent ' + str(indent) + ' -v')
-
-# illumination correction
-os.system(bin_folder + 'cvpr14_illumination.py cohface --protocol clean --facedir ' + facedir + ' --bgdir ' + bgdir + ' --outdir ' + illumination_dir + ' --step ' + str(adaptation) + ' --length ' + str(filter_length) + ' -v')
-
-# motion elimination -> determine the threshold
-os.system(bin_folder + 'cvpr14_motion.py cohface --protocol clean --subset train --subset dev --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' + str(cutoff) + ' --save-threshold ' + threshold_file + ' -v')
-
-# motion elimination -> remove segments
-os.system(bin_folder + 'cvpr14_motion.py cohface --protocol clean --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' +str(cutoff) + ' --load-threshold ' + threshold_file + ' -v')
-
-# filtering
-os.system(bin_folder + 'cvpr14_filter.py cohface --protocol clean --indir ' + motion_dir + ' --outdir ' + filtered_dir + ' --lambda ' + str(Lambda) + ' --window ' + str(window) + ' --order ' + str(order) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --protocol clean --indir ' + filtered_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --protocol clean --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --protocol clean --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/li-cohface-complete-face.py b/scripts-article/li-cohface-complete-face.py
deleted file mode 100644
index 7f4c518..0000000
--- a/scripts-article/li-cohface-complete-face.py
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/li-cohface-complete-wholeface/')
-facedir = base_expe_dir + 'face'
-bgdir = base_expe_dir + 'bg'
-illumination_dir = base_expe_dir + 'illumination'
-threshold_file = illumination_dir + '/threshold.txt'
-motion_dir = base_expe_dir + 'motion'
-filtered_dir = base_expe_dir + 'filtered'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-#parameters
-adaptation = 0.01
-filter_length = 5
-
-segment_length = 40
-cutoff = 0.1
-
-Lambda = 100
-window = 3
-order = 64
-
-n_segments = 4
-nfft = 4096
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('adaptation step = ' + str(adaptation) + '\n')
-f.write('filter length = ' + str(filter_length) + '\n\n')
-f.write('segment length [frames] = ' + str(segment_length) + '\n')
-f.write('cutoff [% / 100] = ' + str(cutoff) + '\n\n')
-f.write('lambda = ' + str(Lambda) + '\n')
-f.write('window = ' + str(window) + '\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# signals extraction
-os.system(bin_folder + 'cvpr14_extract_signals.py cohface --dbdir cohface --facedir ' + str(facedir) + ' --bgdir ' + str(bgdir) + ' --wholeface -v')
-
-# illumination correction
-os.system(bin_folder + 'cvpr14_illumination.py cohface --facedir ' + facedir + ' --bgdir ' + bgdir + ' --outdir ' + illumination_dir + ' --step ' + str(adaptation) + ' --length ' + str(filter_length) + ' -v')
-
-# motion elimination -> determine the threshold
-os.system(bin_folder + 'cvpr14_motion.py cohface --subset train --subset dev --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' + str(cutoff) + ' --save-threshold ' + threshold_file + ' -v')
-
-# motion elimination -> remove segments
-os.system(bin_folder + 'cvpr14_motion.py cohface --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' +str(cutoff) + ' --load-threshold ' + threshold_file + ' -v')
-
-# filtering
-os.system(bin_folder + 'cvpr14_filter.py cohface --indir ' + motion_dir + ' --outdir ' + filtered_dir + ' --lambda ' + str(Lambda) + ' --window ' + str(window) + ' --order ' + str(order) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --indir ' + filtered_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/li-cohface-complete-mask.py b/scripts-article/li-cohface-complete-mask.py
deleted file mode 100644
index 28f7093..0000000
--- a/scripts-article/li-cohface-complete-mask.py
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/li-cohface-complete-mask/')
-facedir = base_expe_dir + 'face'
-bgdir = base_expe_dir + 'bg'
-illumination_dir = base_expe_dir + 'illumination'
-threshold_file = illumination_dir + '/threshold.txt'
-motion_dir = base_expe_dir + 'motion'
-filtered_dir = base_expe_dir + 'filtered'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-npoints = 200
-indent = 10
-
-adaptation = 0.01
-filter_length = 5
-
-segment_length = 40
-cutoff = 0.02
-
-Lambda = 300
-window = 3
-order = 32
-
-n_segments = 4
-nfft = 4096
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('npoints = ' + str(npoints) + '\n')
-f.write('indent [%] = ' + str(indent) + '\n\n')
-f.write('adaptation step = ' + str(adaptation) + '\n')
-f.write('filter length = ' + str(filter_length) + '\n\n')
-f.write('segment length [frames] = ' + str(segment_length) + '\n')
-f.write('cutoff [% / 100] = ' + str(cutoff) + '\n\n')
-f.write('lambda = ' + str(Lambda) + '\n')
-f.write('window = ' + str(window) + '\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# signals extraction
-os.system(bin_folder + 'cvpr14_extract_signals.py cohface --subset train --subset dev --dbdir cohface --facedir ' + str(facedir) + ' --bgdir ' + str(bgdir) + ' --npoints ' + str(npoints) + ' --indent ' + str(indent) + ' -v')
-
-# illumination correction
-os.system(bin_folder + 'cvpr14_illumination.py cohface --facedir ' + facedir + ' --bgdir ' + bgdir + ' --outdir ' + illumination_dir + ' --step ' + str(adaptation) + ' --length ' + str(filter_length) + ' -v')
-
-# motion elimination -> determine the threshold
-os.system(bin_folder + 'cvpr14_motion.py cohface --subset train --subset dev --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' + str(cutoff) + ' --save-threshold ' + threshold_file + ' -v')
-
-# motion elimination -> remove segments
-os.system(bin_folder + 'cvpr14_motion.py cohface --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' +str(cutoff) + ' --load-threshold ' + threshold_file + ' -v')
-
-# filtering
-os.system(bin_folder + 'cvpr14_filter.py cohface --indir ' + motion_dir + ' --outdir ' + filtered_dir + ' --lambda ' + str(Lambda) + ' --window ' + str(window) + ' --order ' + str(order) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --indir ' + filtered_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/li-cohface-complete-skin.py b/scripts-article/li-cohface-complete-skin.py
deleted file mode 100644
index d271a03..0000000
--- a/scripts-article/li-cohface-complete-skin.py
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/li-cohface-complete-skin/')
-facedir = base_expe_dir + 'face'
-bgdir = base_expe_dir + 'bg'
-illumination_dir = base_expe_dir + 'illumination'
-threshold_file = illumination_dir + '/threshold.txt'
-motion_dir = base_expe_dir + 'motion'
-filtered_dir = base_expe_dir + 'filtered'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-#parameters
-skin_threshold = 0.8
-
-adaptation = 0.01
-filter_length = 3
-
-segment_length = 40
-cutoff = 0.1
-
-Lambda = 100
-window = 3
-order = 128
-
-n_segments = 8
-nfft = 512
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('adaptation step = ' + str(adaptation) + '\n')
-f.write('filter length = ' + str(filter_length) + '\n\n')
-f.write('segment length [frames] = ' + str(segment_length) + '\n')
-f.write('cutoff [% / 100] = ' + str(cutoff) + '\n\n')
-f.write('lambda = ' + str(Lambda) + '\n')
-f.write('window = ' + str(window) + '\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# signals extraction
-os.system(bin_folder + 'cvpr14_video2skin.py cohface --dbdir cohface --outdir ' + str(facedir) + ' --threshold ' + str(skin_threshold) + ' -v')
-
-# illumination correction
-os.system(bin_folder + 'cvpr14_illumination.py cohface --facedir ' + facedir + ' --bgdir ' + bgdir + ' --outdir ' + illumination_dir + ' --step ' + str(adaptation) + ' --length ' + str(filter_length) + ' -v')
-
-# motion elimination -> determine the threshold
-os.system(bin_folder + 'cvpr14_motion.py cohface --subset train --subset dev --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' + str(cutoff) + ' --save-threshold ' + threshold_file + ' -v')
-
-# motion elimination -> remove segments
-os.system(bin_folder + 'cvpr14_motion.py cohface --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' +str(cutoff) + ' --load-threshold ' + threshold_file + ' -v')
-
-# filtering
-os.system(bin_folder + 'cvpr14_filter.py cohface --indir ' + motion_dir + ' --outdir ' + filtered_dir + ' --lambda ' + str(Lambda) + ' --window ' + str(window) + ' --order ' + str(order) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --indir ' + filtered_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/li-hci-cvpr14.py b/scripts-article/li-hci-cvpr14.py
deleted file mode 100644
index 03b2950..0000000
--- a/scripts-article/li-hci-cvpr14.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/li-hci-cvpr14/')
-facedir = base_expe_dir + 'face'
-bgdir = base_expe_dir + 'bg'
-illumination_dir = base_expe_dir + 'illumination'
-threshold_file = illumination_dir + '/threshold.txt'
-motion_dir = base_expe_dir + 'motion'
-filtered_dir = base_expe_dir + 'filtered'
-hr_dir = base_expe_dir + 'hr'
-results_dir = base_expe_dir + 'results'
-
-# fixed parameter
-framerate = 61
-
-# parameters
-npoints = 200
-indent = 10 
-
-adaptation = 0.05
-filter_length = 3
-
-segment_length = 61
-cutoff = 0.05
-
-Lambda = 300
-window = 21
-order = 128
-
-n_segments = 16
-nfft = 8192
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('npoints = ' + str(npoints) + '\n')
-f.write('indent [%] = ' + str(indent) + '\n\n')
-f.write('adaptation step = ' + str(adaptation) + '\n')
-f.write('filter length = ' + str(filter_length) + '\n\n')
-f.write('segment length [frames] = ' + str(segment_length) + '\n')
-f.write('cutoff [% / 100] = ' + str(cutoff) + '\n\n')
-f.write('lambda = ' + str(Lambda) + '\n')
-f.write('window = ' + str(window) + '\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# signals extraction
-os.system(bin_folder + 'cvpr14_extract_signals.py hci --protocol cvpr14 --dbdir hci, --bboxdir bounding-boxes --facedir ' + str(facedir) + ' --bgdir ' + str(bgdir) + ' --npoints ' + str(npoints) + ' --indent ' + str(indent) + ' -v')
-
-# illumination correction
-os.system(bin_folder + 'cvpr14_illumination.py hci --protocol cvpr14 --facedir ' + facedir + ' --bgdir ' + bgdir + ' --outdir ' + illumination_dir + ' --step ' + str(adaptation) + ' --length ' + str(filter_length) + ' --start 306 --end 2136 -v')
-
-# motion elimination -> determine the threshold
-os.system(bin_folder + 'cvpr14_motion.py hci --protocol cvpr14 --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' + str(cutoff) + ' --save-threshold ' + threshold_file + ' -v')
-
-# motion elimination -> remove segments
-os.system(bin_folder + 'cvpr14_motion.py hci --protocol cvpr14 --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength 61 --cutoff 0.05 --load-threshold ' + threshold_file + ' -v')
-
-# filter
-os.system(bin_folder + 'cvpr14_filter.py hci --protocol cvpr14 --indir ' + motion_dir + ' --outdir ' + filtered_dir + ' --lambda ' + str(Lambda) + ' --window ' + str(window) + ' --order ' + str(order) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py hci --protocol cvpr14 --indir ' + filtered_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  hci --protocol cvpr14 --indir ' + hr_dir + ' --outdir ' + results_dir + ' -v')
diff --git a/scripts-article/li-hci-protocols.py b/scripts-article/li-hci-protocols.py
deleted file mode 100644
index 053f0c9..0000000
--- a/scripts-article/li-hci-protocols.py
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/li-hci-protocols/')
-facedir = base_expe_dir + 'face'
-bgdir = base_expe_dir + 'bg'
-illumination_dir = base_expe_dir + 'illumination'
-threshold_file = illumination_dir + '/threshold.txt'
-motion_dir = base_expe_dir + 'motion'
-filtered_dir = base_expe_dir + 'filtered'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 61
-
-# parameters
-npoints = 400 
-indent = 10
-
-adaptation = 0.05
-filter_length = 3
-
-segment_length = 30
-cutoff = 0.1
-
-Lambda = 500
-window = 23
-order = 96
-
-n_segments = 12
-nfft = 4096
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('npoints = ' + str(npoints) + '\n')
-f.write('indent [%] = ' + str(indent) + '\n\n')
-f.write('adaptation step = ' + str(adaptation) + '\n')
-f.write('filter length = ' + str(filter_length) + '\n\n')
-f.write('segment length [frames] = ' + str(segment_length) + '\n')
-f.write('cutoff [% / 100] = ' + str(cutoff) + '\n\n')
-f.write('lambda = ' + str(Lambda) + '\n')
-f.write('window = ' + str(window) + '\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# signals extraction
-os.system(bin_folder + 'cvpr14_extract_signals.py hci --dbdir hci, --bboxdir bounding-boxes --facedir ' + str(facedir) + ' --bgdir ' + str(bgdir) + ' --npoints ' + str(npoints) + ' --indent ' + str(indent) + ' -v')
-
-# illumination correction
-os.system(bin_folder + 'cvpr14_illumination.py hci --facedir ' + facedir + ' --bgdir ' + bgdir + ' --outdir ' + illumination_dir + ' --step ' + str(adaptation) + ' --length ' + str(filter_length) + ' -v')
-
-# motion elimination -> determine the threshold
-os.system(bin_folder + 'cvpr14_motion.py hci --subset train --subset dev --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' + str(cutoff) + ' --save-threshold ' + threshold_file + ' -v')
-
-# motion elimination -> remove segments
-os.system(bin_folder + 'cvpr14_motion.py hci --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength 61 --cutoff 0.05 --load-threshold ' + threshold_file + ' -v')
-
-# filtering
-os.system(bin_folder + 'cvpr14_filter.py hci --indir ' + motion_dir + ' --outdir ' + filtered_dir + ' --lambda ' + str(Lambda) + ' --window ' + str(window) + ' --order ' + str(order) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py hci --indir ' + filtered_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  hci --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py  hci --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/li-xdb-cohface-hci.py b/scripts-article/li-xdb-cohface-hci.py
deleted file mode 100644
index 6d0f58c..0000000
--- a/scripts-article/li-xdb-cohface-hci.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-### WARNING ###
-# be sure to run li-cohface-clean.py first to get the threshold file
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/li-xdb-cohface-hci/')
-facedir = base_expe_dir + 'face'
-bgdir = base_expe_dir + 'bg'
-illumination_dir = base_expe_dir + 'illumination'
-motion_dir = base_expe_dir + 'motion'
-filtered_dir = base_expe_dir + 'filtered'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 61
-
-# parameters
-npoints = 100 
-indent = 10
-
-adaptation = 0.01
-filter_length = 5
-
-segment_length = 120 # 2 times the framerate, as for COHFACE training set
-cutoff = 0.02
-threshold_file = 'experiments/paper/li-cohface-clean/illumination/threshold.txt'
-
-Lambda = 300
-window = 9
-order = 96
-
-n_segments = 4
-nfft = 4096
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('npoints = ' + str(npoints) + '\n')
-f.write('indent [%] = ' + str(indent) + '\n\n')
-f.write('adaptation step = ' + str(adaptation) + '\n')
-f.write('filter length = ' + str(filter_length) + '\n\n')
-f.write('segment length [frames] = ' + str(segment_length) + '\n')
-f.write('cutoff [% / 100] = ' + str(cutoff) + '\n\n')
-f.write('lambda = ' + str(Lambda) + '\n')
-f.write('window = ' + str(window) + '\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# signals extraction
-os.system(bin_folder + 'cvpr14_extract_signals.py hci --dbdir hci --subset test --bboxdir bounding-boxes --facedir ' + str(facedir) + ' --bgdir ' + str(bgdir) + ' --npoints ' + str(npoints) ' --indent ' + str(indent))
-
-# illumination correction
-os.system(bin_folder + 'cvpr14_illumination.py hci --subset test --facedir ' + facedir + ' --bgdir ' + bgdir + ' --outdir ' + illumination_dir + ' --step ' + str(adaptation) + ' --length ' + str(filter_length) + ' -v')
-
-# motion elimination -> remove segments
-os.system(bin_folder + 'cvpr14_motion.py hci --subset test --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' + str(cutoff) + ' --load-threshold ' + threshold_file + ' -v')
-
-# filtering
-os.system(bin_folder + 'cvpr14_filter.py hci --subset test --indir ' + motion_dir + ' --outdir ' + filtered_dir + ' --lambda ' + str(Lambda) + ' --window ' + str(window) + ' --order ' + str(order) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py hci --subset test --indir ' + filtered_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  hci --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/li-xdb-hci-cohface.py b/scripts-article/li-xdb-hci-cohface.py
deleted file mode 100644
index 71a34e1..0000000
--- a/scripts-article/li-xdb-hci-cohface.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-### WARNING ###
-# be sure to first run li-hci-protocols.py to get the required threshold file
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/li-xdb-hci-cohface/')
-facedir = base_expe_dir + 'face'
-bgdir = base_expe_dir + 'bg'
-illumination_dir = base_expe_dir + 'illumination'
-motion_dir = base_expe_dir + 'motion'
-filtered_dir = base_expe_dir + 'filtered'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-npoints = 400 
-indent = 10
-
-adaptation = 0.05
-filter_length = 3
-
-segment_length = 10 # half of the frame rate
-cutoff = 0.1
-threshold_file = 'experiments/paper/li-hci-protocols/illumination/threshold.txt'
-
-Lambda = 500
-window = 23
-order = 96
-
-n_segments = 12
-nfft = 4096
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('npoints = ' + str(npoints) + '\n')
-f.write('indent [%] = ' + str(indent) + '\n\n')
-f.write('adaptation step = ' + str(adaptation) + '\n')
-f.write('filter length = ' + str(filter_length) + '\n\n')
-f.write('segment length [frames] = ' + str(segment_length) + '\n')
-f.write('cutoff [% / 100] = ' + str(cutoff) + '\n\n')
-f.write('lambda = ' + str(Lambda) + '\n')
-f.write('window = ' + str(window) + '\n')
-f.write('order = ' + str(order) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# signals extraction
-os.system(bin_folder + 'cvpr14_extract_signals.py cohface --protocol clean --subset test --dbdir cohface --facedir ' + str(facedir) + ' --bgdir ' + str(bgdir) + ' --npoints ' + str(npoints) + ' --indent ' + str(indent) + ' -v')
-
-# illumination correction
-os.system(bin_folder + 'cvpr14_illumination.py cohface --protocol clean --subset test --facedir ' + facedir + ' --bgdir ' + bgdir + ' --outdir ' + illumination_dir + ' --step ' + str(adaptation) + ' --length ' + str(filter_length) + ' -v')
-
-# motion elimination -> remove segments
-os.system(bin_folder + 'cvpr14_motion.py cohface --protocol clean --subset test  --indir ' + illumination_dir + ' --outdir ' + motion_dir + ' --seglength ' + str(segment_length) + ' --cutoff ' + str(cutoff) + ' --load-threshold ' + threshold_file + ' -v')
-
-# filtering
-os.system(bin_folder + 'cvpr14_filter.py cohface --protocol clean --subset test --indir ' + motion_dir + ' --outdir ' + filtered_dir + ' --lambda ' + str(Lambda) + ' --window ' + str(window) + ' --order ' + str(order) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --protocol clean  --subset test --indir ' + filtered_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py cohface --protocol clean  --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/ssr-cohface-clean-natural.py b/scripts-article/ssr-cohface-clean-natural.py
deleted file mode 100644
index f3c1f4e..0000000
--- a/scripts-article/ssr-cohface-clean-natural.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/ssr-cohface-clean-natural/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-skin_threshold = 0.8
-stride = 80 
-
-n_segments = 8
-nfft = 2048
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('stride = ' + str(stride) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'ssr_pulse.py cohface --protocol natural --subset test --dbdir cohface --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --stride ' + str(stride) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --protocol natural --subset test --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' + str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --protocol natural --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/ssr-cohface-clean.py b/scripts-article/ssr-cohface-clean.py
deleted file mode 100644
index 3a4802f..0000000
--- a/scripts-article/ssr-cohface-clean.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/ssr-cohface-clean/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-skin_threshold = 0.8
-stride = 80 
-
-n_segments = 8
-nfft = 2048
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('stride = ' + str(stride) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'ssr_pulse.py cohface --protocol clean --dbdir cohface --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --stride ' + str(stride) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --protocol clean --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' + str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --protocol clean --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py  cohface --protocol clean --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/ssr-cohface-complete-face.py b/scripts-article/ssr-cohface-complete-face.py
deleted file mode 100644
index 560c58a..0000000
--- a/scripts-article/ssr-cohface-complete-face.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join('experiments/paper/ssr-cohface-complete-face/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-skin_threshold = 0.0
-
-# parameters
-stride = 10
-
-n_segments = 16
-nfft = 512
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('stride = ' + str(stride) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'ssr_pulse.py cohface --dbdir cohface --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --stride ' + str(stride) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/ssr-cohface-complete-mask.py b/scripts-article/ssr-cohface-complete-mask.py
deleted file mode 100644
index a283a5b..0000000
--- a/scripts-article/ssr-cohface-complete-mask.py
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/ssr-cohface-complete-mask/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-npoints = 100
-indent = 10
-
-stride = 10
-
-n_segments = 8
-nfft = 1024 
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('npoints = ' + str(npoints) + '\n\n')
-f.write('indent = ' + str(indent) + '\n\n')
-f.write('stride = ' + str(stride) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'ssr_pulse_from_mask.py cohface --dbdir cohface --pulsedir ' + str(pulse_dir) + ' --npoints ' + str(npoints) + ' --indent ' + str(indent) + ' --stride ' + str(stride) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/ssr-cohface-complete-skin.py b/scripts-article/ssr-cohface-complete-skin.py
deleted file mode 100644
index a3f8244..0000000
--- a/scripts-article/ssr-cohface-complete-skin.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join('experiments/paper/ssr-cohface-complete-skin/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-skin_threshold = 0.6
-stride = 10
-
-n_segments = 8
-nfft = 512
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('threshold = ' + str(skin_threshold) + '\n\n')
-f.write('stride = ' + str(stride) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'ssr_pulse.py cohface --dbdir cohface --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --stride ' + str(stride) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py cohface --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/ssr-hci-cvpr14.py b/scripts-article/ssr-hci-cvpr14.py
deleted file mode 100644
index 694d4a5..0000000
--- a/scripts-article/ssr-hci-cvpr14.py
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/ssr-hci-cvpr14/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir = base_expe_dir + 'results'
-
-framerate = 61
-
-# parameters
-skin_threshold = 0.1
-stride = 30 
-
-n_segments = 8
-nfft = 4096
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('stride = ' + str(stride) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'ssr_pulse.py hci --protocol cvpr14 --dbdir hci --bboxdir bounding-boxes --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --stride ' + str(stride) + ' --start 306 --end 2136 -v --skininit')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py hci --protocol cvpr14 --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  hci --protocol cvpr14 --indir ' + hr_dir + ' --outdir ' + results_dir + ' -v')
diff --git a/scripts-article/ssr-hci-protocols.py b/scripts-article/ssr-hci-protocols.py
deleted file mode 100644
index 0eff543..0000000
--- a/scripts-article/ssr-hci-protocols.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/ssr-hci-protocols/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 61
-
-# parameters
-skin_threshold = 0.1
-stride = 30 
-
-n_segments = 8
-nfft = 8192
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('stride = ' + str(stride) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'ssr_pulse.py hci --dbdir hci --bboxdir bounding-boxes --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --stride ' + str(stride) + ' -v --skininit')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py hci --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py  hci --subset train --subset dev --indir ' + hr_dir + ' --outdir ' + results_dir_train + ' -v')
-os.system(bin_folder + 'rppg_compute_performance.py  hci --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/ssr-xdb-cohface-hci.py b/scripts-article/ssr-xdb-cohface-hci.py
deleted file mode 100644
index e2fbb0f..0000000
--- a/scripts-article/ssr-xdb-cohface-hci.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/ssr-xdb-cohface-hci/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 61
-
-# parameters
-skin_threshold = 0.8
-stride = 80 
-
-n_segments = 8
-nfft = 2048
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('stride = ' + str(stride) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-# pulse extraction
-os.system(bin_folder + 'ssr_pulse.py hci --subset test --dbdir hci --bboxdir bounding-boxes --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --stride ' + str(stride) + ' -v')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py hci --subset test --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' + str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py hci --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
diff --git a/scripts-article/ssr-xdb-hci-cohface.py b/scripts-article/ssr-xdb-hci-cohface.py
deleted file mode 100644
index 4eb8441..0000000
--- a/scripts-article/ssr-xdb-hci-cohface.py
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-# Copyright (c) 2017 Idiap Research Institute, http://www.idiap.ch/
-# Written by Guillaume Heusch <guillaume.heusch@idiap.ch>,
-# 
-# This file is part of bob.rpgg.base.
-# 
-# bob.rppg.base is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3 as
-# published by the Free Software Foundation.
-# 
-# bob.rppg.base is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with bob.rppg.base. If not, see <http://www.gnu.org/licenses/>.
-
-import os, sys
-
-# directories and file
-current_folder = os.path.dirname(os.path.abspath(__file__))
-root_folder = os.path.dirname(current_folder)
-bin_folder = os.path.join(root_folder, 'bin/')
-
-base_expe_dir = os.path.join(root_folder, 'experiments/paper/ssr-xdb-hci-cohface/')
-pulse_dir = base_expe_dir + 'pulse'
-hr_dir = base_expe_dir + 'hr'
-results_dir_train = base_expe_dir + 'results-train'
-results_dir_test = base_expe_dir + 'results-test'
-
-framerate = 20
-
-# parameters
-skin_threshold = 0.1
-stride = 30 
-
-n_segments = 8
-nfft = 8192
-
-# write a file with the parameters - useful to keep track sometimes ..
-param_file = base_expe_dir + '/parameters.txt'
-if not os.path.isdir(base_expe_dir):
-  os.makedirs(base_expe_dir)
-
-f = open(param_file, 'w')
-f.write('skin threshold = ' + str(skin_threshold) + '\n\n')
-f.write('stride = ' + str(stride) + '\n\n')
-f.write('Welch segments = ' + str(n_segments) + '\n')
-f.write('npoints FFT = ' + str(nfft) + '\n')
-f.close()
-
-os.system(bin_folder + 'ssr_pulse.py cohface --protocol clean --subset test --dbdir cohface --outdir ' + str(pulse_dir) + ' --threshold ' + str(skin_threshold) + ' --stride ' + str(stride) + ' -v --skininit')
-
-# computing heart-rate
-os.system(bin_folder + 'rppg_get_heart_rate.py cohface --protocol clean --subset test --indir ' + pulse_dir + ' --outdir ' + hr_dir + ' --framerate ' + str(framerate) + ' --nsegments ' +str(n_segments) + ' --nfft ' + str(nfft) + ' -v')
-
-# computing performance
-os.system(bin_folder + 'rppg_compute_performance.py cohface --protocol clean --subset test --indir ' + hr_dir + ' --outdir ' + results_dir_test + ' -v')
-- 
GitLab