diff --git a/doc/extra-intersphinx.txt b/doc/extra-intersphinx.txt index 8adfb6781fe99dce201b91f1fc375e22db2e474e..ccc45f5c8d733636e33535389d52972f3503231a 100644 --- a/doc/extra-intersphinx.txt +++ b/doc/extra-intersphinx.txt @@ -4,4 +4,6 @@ bob.bio.spear gridtk bob.db.base bob.db.avspoof -bob.bio.base \ No newline at end of file +bob.bio.base +bob.pad.voice +bob.db.voicepa \ No newline at end of file diff --git a/doc/installation.rst b/doc/installation.rst index 28d4c15912fa2ba25f89293d7f15a7be51df5adc..867d6872413b7af3e7374aa374f00ad6e658427e 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -5,47 +5,59 @@ .. _bob.pad.base.installation: -========================= -Installation Instructions -========================= +=========================== + Installation Instructions +=========================== -As noted before, this package is part of the ``bob.pad`` packages, which in turn are part of the signal-processing and machine learning toolbox Bob_. -To install `Packages of Bob <https://github.com/idiap/bob/wiki/Packages>`_, please read the `Installation Instructions <https://github.com/idiap/bob/wiki/Installation>`_. -For Bob_ to be able to work properly, some dependent packages are required to be installed. -Please make sure that you have read the `Dependencies <https://github.com/idiap/bob/wiki/Dependencies>`_ for your operating system. +As noted before, this package is part of the ``bob.pad`` packages, which in +turn are part of the signal-processing and machine learning toolbox Bob_. To +install Bob_, please read the `Installation Instructions <bobinstall_>`_. -.. note:: - Currently, running Bob_ under MS Windows in not supported. - However, we found that running Bob_ in a virtual Unix environment such as the one provided by VirtualBox_ is a good alternative. - -The most simple and most convenient way to use the ``bob.pad`` tools is to use a ``zc.buildout`` package, as explained in more detail `here <https://github.com/idiap/bob/wiki/Installation#using-zcbuildout-for-production>`__. -There, in the ``eggs`` section of the ``buildout.cfg`` file, simply list the ``bob.pad`` packages that you want, like: +Then, to install the ``bob.pad`` packages and in turn maybe the database +packages that you want to use, use conda_ to install them: -.. code-block:: python +.. code-block:: sh - eggs = bob.pad.base - bob.pad.voice - bob.db.avspoof - gridtk + $ conda search bob.pad # searching + $ conda search bob.db # searching + $ conda install bob.pad.base bob.pad.<padname> bob.db.<dbname> -in order to download and install all packages that are required for your experiments. -Running the simple command line: +where you would replace ``<padname>`` and ``<dbname>`` with the name of +packages that you want to use. -.. code-block:: sh +An example installation +----------------------- - $ python bootstrap-buildout.py - $ ./bin/buildout +For example, to run a speech presentation attack detection experiments, +you need preprocessor, extractor, classifier, and +a database. Preprocessors and extractors can be reused from ``bob.bio`` packages, while classifier is normally +provided in ``bob.pad``. Hence for speech PAD, you can take +the :py:class:`bob.bio.spear.preprocessor.Energy_2Gauss` and the +:py:class:`bob.bio.spear.extractor.Cepstral` feature extractor defined in +:ref:`bob.bio.spear <bob.bio.spear>`, and the +:py:class:`bob.pad.voice.algorithm.GmmAlgorithm` algorithm defined in +:ref:`bob.pad.voice <bob.pad.voice>`, using voicePA database (contains speech presentation attacks) +interface defined in :ref:`bob.db.voicepa <bob.db.voicepa>`. Running the +command line below will install all the required packages: -will the download and install all dependent packages locally (relative to your current working directory), and create a ``./bin`` directory containing all the necessary scripts to run the experiments. +.. code-block:: sh + $ source activate <bob_conda_environment> + $ conda install bob.bio.base \ + bob.bio.spear \ + bob.pad.base \ + bob.pad.voice \ + bob.db.voicepa \ + gridtk Databases -~~~~~~~~~ +--------- With ``bob.pad`` you will run biometric recognition experiments using databases that contain presentation attacks. Though the PAD protocols are implemented in ``bob.pad``, the original data are **not included**. To download the original data of the databases, please refer to the according Web-pages. -For a list of supported databases including their download URLs, please refer to the `spoofing_databases <https://gitlab.idiap.ch/bob/bob/wikis/Packages>`_. +For a list of supported databases including their download URLs, +please refer to the `spoofing_databases <https://gitlab.idiap.ch/bob/bob/wikis/Packages>`_. After downloading the original data for the databases, you will need to tell ``bob.pad``, where these databases can be found. For this purpose, we have decided to implement a special file, where you can set your directories. @@ -66,42 +78,4 @@ Please use ``./bin/databases.py`` for a list of known databases, where you can s If you have installed only ``bob.pad.base``, there is no database listed -- as all databases are included in other extension packages, such as ``bob.pad.voice``. -Test your Installation -~~~~~~~~~~~~~~~~~~~~~~ - -One of the scripts that were generated during the bootstrap/buildout step is a test script. -To verify your installation, you should run the script running the nose tests for each of the ``bob.pad`` packages: - -.. code-block:: sh - - $ ./bin/nosetests -vs bob.pad.base - $ ./bin/nosetests -vs bob.pad.voice - ... - -In case any of the tests fail for unexplainable reasons, please file a bug report through the `GitHub bug reporting system`_. - -.. note:: - Usually, all tests should pass with the latest stable versions of the Bob_ packages. - In other versions, some of the tests may fail. - - -Generate this documentation -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Generally, the documentation of this package is `available online <http://pythonhosted.org/bob.pad.base>`__, and this should be your preferred resource. -However, to generate this documentation locally, you call: - -.. code-block:: sh - - $ ./bin/sphinx-build doc sphinx - -Afterward, the documentation is available and you can read it, e.g., by using: - -.. code-block:: sh - - $ firefox sphinx/index.html - - -.. _buildout.cfg: file:../buildout.cfg - .. include:: links.rst diff --git a/doc/links.rst b/doc/links.rst index 46644aefab6f10c293ed0e332e62e2802a915a02..379f55d132a4f13f1287ed1371dccd54607f8a68 100644 --- a/doc/links.rst +++ b/doc/links.rst @@ -19,3 +19,5 @@ .. _sge: http://wiki.idiap.ch/linux/SunGridEngine .. _virtualbox: https://www.virtualbox.org .. _hdf5: http://www.hdfgroup.org/HDF5 +.. _bobinstall: https://www.idiap.ch/software/bob/install +.. _conda: https://conda.io