Commit e660cfe7 authored by André Anjos's avatar André Anjos 💬

xbob -> bob

parent 1cd1d251
......@@ -25,8 +25,8 @@ install:
- "python bootstrap.py"
- "CFLAGS=-coverage ./bin/buildout"
script:
- "./bin/python -c 'from xbob.measure import get_config; print(get_config())'"
- "./bin/coverage run --source=xbob.measure ./bin/nosetests -sv"
- "./bin/python -c 'from bob.measure import get_config; print(get_config())'"
- "./bin/coverage run --source=bob.measure ./bin/nosetests -sv"
- "./bin/sphinx-build -b doctest doc sphinx"
- "./bin/sphinx-build -b html doc sphinx"
after_success:
......
include LICENSE README.rst bootstrap.py buildout.cfg
recursive-include doc conf.py *.rst
recursive-include xbob *.cpp
recursive-include xbob/measure/data *.*
recursive-include bob *.cpp
recursive-include bob/measure/data *.*
......@@ -2,16 +2,16 @@
.. Andre Anjos <andre.anjos@idiap.ch>
.. Thu 29 Aug 2013 16:07:57 CEST
.. image:: https://travis-ci.org/bioidiap/xbob.measure.svg?branch=master
:target: https://travis-ci.org/bioidiap/xbob.measure
.. image:: https://coveralls.io/repos/bioidiap/xbob.measure/badge.png
:target: https://coveralls.io/r/bioidiap/xbob.measure
.. image:: http://img.shields.io/github/tag/bioidiap/xbob.measure.png
:target: https://github.com/bioidiap/xbob.measure
.. image:: http://img.shields.io/pypi/v/xbob.measure.png
:target: https://pypi.python.org/pypi/xbob.measure
.. image:: http://img.shields.io/pypi/dm/xbob.measure.png
:target: https://pypi.python.org/pypi/xbob.measure
.. image:: https://travis-ci.org/bioidiap/bob.measure.svg?branch=master
:target: https://travis-ci.org/bioidiap/bob.measure
.. image:: https://coveralls.io/repos/bioidiap/bob.measure/badge.png
:target: https://coveralls.io/r/bioidiap/bob.measure
.. image:: http://img.shields.io/github/tag/bioidiap/bob.measure.png
:target: https://github.com/bioidiap/bob.measure
.. image:: http://img.shields.io/pypi/v/bob.measure.png
:target: https://pypi.python.org/pypi/bob.measure
.. image:: http://img.shields.io/pypi/dm/bob.measure.png
:target: https://pypi.python.org/pypi/bob.measure
=================================
Python bindings for bob.measure
......@@ -42,7 +42,7 @@ Testing
You can run a set of tests using the nose test runner::
$ nosetests -sv xbob.measure
$ nosetests -sv bob.measure
.. warning::
......@@ -59,7 +59,7 @@ You can run our documentation tests using sphinx itself::
You can test overall test coverage with::
$ nosetests --with-coverage --cover-package=xbob.measure
$ nosetests --with-coverage --cover-package=bob.measure
The ``coverage`` egg must be installed for this to work properly.
......
......@@ -74,7 +74,7 @@ def recognition_rate(cmc_scores):
The input has a specific format, which is a list of two-element tuples. Each
of the tuples contains the negative and the positive scores for one test
item. To read the lists from score files in 4 or 5 column format, please use
the :py:func:`xbob.measure.load.cmc_four_column` or
the :py:func:`bob.measure.load.cmc_four_column` or
:py:func:`bob.measure.load.cmc_five_column` function.
The recognition rate is defined as the number of test items, for which the
......@@ -100,7 +100,7 @@ def cmc(cmc_scores):
The input has a specific format, which is a list of two-element tuples. Each
of the tuples contains the negative and the positive scores for one test
item. To read the lists from score files in 4 or 5 column format, please use
the :py:func:`xbob.measure.load.cmc_four_column` or
the :py:func:`bob.measure.load.cmc_four_column` or
:py:func:`bob.measure.load.cmc_five_column` function.
For each test item the probability that the rank r of the positive score is
......
......@@ -23,7 +23,7 @@ def cllr(negatives, positives):
def min_cllr(negatives, positives):
"""Computes the 'minimum cost of log likelihood ratio' measure as given in the bosaris toolkit"""
from xbob.math import pavx
from bob.math import pavx
# first, sort both scores
neg = sorted(negatives)
......
......@@ -10,7 +10,7 @@
For separability information, please consult: http://en.wikipedia.org/wiki/File:Anderson%27s_Iris_data_set.png
"""
import xbob.io
import bob.io
iris_columns = {
'sepal.length': 0,
......@@ -45,8 +45,8 @@ def example1():
Separation threshold is about 3.
"""
data = loaddata('iris.data', 'petal.length')
xbob.io.save(data['setosa'], 'linsep-negatives.hdf5')
xbob.io.save(data['virginica'],'linsep-positives.hdf5')
bob.io.save(data['setosa'], 'linsep-negatives.hdf5')
bob.io.save(data['virginica'],'linsep-positives.hdf5')
def example2():
"""In the second example we will get a non-linearly separable set of scores:
......@@ -58,8 +58,8 @@ def example2():
Separation threshold is about 5 (min. HTER).
"""
data = loaddata('iris.data', 'sepal.length')
xbob.io.save(data['setosa'], 'nonsep-negatives.hdf5')
xbob.io.save(data['versicolor'], 'nonsep-positives.hdf5')
bob.io.save(data['setosa'], 'nonsep-negatives.hdf5')
bob.io.save(data['versicolor'], 'nonsep-positives.hdf5')
def main():
"""Generates data for all examples."""
......
......@@ -86,7 +86,7 @@ def cmc_four_column(filename):
more are allowed.
The result of this function can directly be passed to, e.g., the
:py:func:`xbob.measure.cmc` function.
:py:func:`bob.measure.cmc` function.
"""
# read four column list
......@@ -204,7 +204,7 @@ def cmc_five_column(filename):
more are allowed.
The result of this function can directly be passed to, e.g., the
:py:func:`xbob.measure.cmc` function.
:py:func:`bob.measure.cmc` function.
"""
# read four column list
......
......@@ -8,8 +8,8 @@
#ifdef NO_IMPORT_ARRAY
#undef NO_IMPORT_ARRAY
#endif
#include <xbob.blitz/cppapi.h>
#include <xbob.blitz/cleanup.h>
#include <bob.blitz/cppapi.h>
#include <bob.blitz/cleanup.h>
#include <bob/measure/error.h>
static int double1d_converter(PyObject* o, PyBlitzArrayObject** a) {
......@@ -41,7 +41,7 @@ half-total error rate at that position.\n\
The EPC curve plots the HTER on the test set for various values of\n\
'cost'. For each value of 'cost', a threshold is found that provides\n\
the minimum weighted error (see\n\
:py:func:`xbob.measure.min_weighted_error_rate_threshold()`)\n\
:py:func:`bob.measure.min_weighted_error_rate_threshold()`)\n\
on the development set. Each threshold is consecutively applied to\n\
the test set and the resulting HTER values are plotted in the EPC.\n\
\n\
......@@ -1077,7 +1077,7 @@ PyDoc_STRVAR(module_docstr, "Bob metrics and performance figures");
#if PY_VERSION_HEX >= 0x03000000
static PyModuleDef module_definition = {
PyModuleDef_HEAD_INIT,
XBOB_EXT_MODULE_NAME,
BOB_EXT_MODULE_NAME,
module_docstr,
-1,
module_methods,
......@@ -1090,23 +1090,23 @@ static PyObject* create_module (void) {
# if PY_VERSION_HEX >= 0x03000000
PyObject* m = PyModule_Create(&module_definition);
# else
PyObject* m = Py_InitModule3(XBOB_EXT_MODULE_NAME, module_methods, module_docstr);
PyObject* m = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr);
# endif
if (!m) return 0;
auto m_ = make_safe(m); ///< protects against early returns
if (PyModule_AddStringConstant(m, "__version__", XBOB_EXT_MODULE_VERSION) < 0)
if (PyModule_AddStringConstant(m, "__version__", BOB_EXT_MODULE_VERSION) < 0)
return 0;
/* imports xbob.blitz C-API + dependencies */
if (import_xbob_blitz() < 0) return 0;
/* imports bob.blitz C-API + dependencies */
if (import_bob_blitz() < 0) return 0;
Py_INCREF(m);
return m;
}
PyMODINIT_FUNC XBOB_EXT_ENTRY_NAME (void) {
PyMODINIT_FUNC BOB_EXT_ENTRY_NAME (void) {
# if PY_VERSION_HEX >= 0x03000000
return
# endif
......
......@@ -231,26 +231,26 @@ def det(negatives, positives, npoints=100, axisfontsize='x-small', **kwargs):
If you wish to reset axis zooming, you must use the gaussian scale rather
than the visual marks showed at the plot, which are just there for
displaying purposes. The real axis scale is based on the
xbob.measure.ppndf() method. For example, if you wish to set the x and y
bob.measure.ppndf() method. For example, if you wish to set the x and y
axis to display data between 1% and 40% here is the recipe:
.. code-block:: python
import xbob.measure
import bob.measure
import matplotlib.pyplot as mpl
xbob.measure.plot.det(...) #call this as many times as you need
bob.measure.plot.det(...) #call this as many times as you need
#AFTER you plot the DET curve, just set the axis in this way:
mpl.axis([xbob.measure.ppndf(k/100.0) for k in (1, 40, 1, 40)])
mpl.axis([bob.measure.ppndf(k/100.0) for k in (1, 40, 1, 40)])
We provide a convenient way for you to do the above in this module. So,
optionally, you may use the xbob.measure.plot.det_axis() method like this:
optionally, you may use the bob.measure.plot.det_axis() method like this:
.. code-block:: python
import xbob.measure
xbob.measure.plot.det(...)
import bob.measure
bob.measure.plot.det(...)
# please note we convert percentage values in det_axis()
xbob.measure.plot.det_axis([1, 40, 1, 40])
bob.measure.plot.det_axis([1, 40, 1, 40])
Return value is the matplotlib line that was added as defined by the
matplotlib.pyplot.plot() command.
......@@ -308,8 +308,8 @@ def det_axis(v, **kwargs):
"""Sets the axis in a DET plot.
This method wraps the matplotlib.pyplot.axis() by calling
xbob.measure.ppndf() on the values passed by the user so they are meaningful
in a DET plot as performed by xbob.measure.plot.det().
bob.measure.ppndf() on the values passed by the user so they are meaningful
in a DET plot as performed by bob.measure.plot.det().
Keyword parameters:
......
......@@ -52,7 +52,7 @@ def get_options(user_input):
parser.add_argument('-t', '--threshold', dest='thres', default=None,
type=float, help="The threshold value to apply", metavar="FLOAT")
parser.add_argument('-p', '--parser', dest="parser", default="4column",
help="Name of a known parser or of a python-importable function that can parse your input files and return a tuple (negatives, positives) as blitz 1-D arrays of 64-bit floats. Consult the API of xbob.measure.load.split_four_column() for details", metavar="NAME.FUNCTION")
help="Name of a known parser or of a python-importable function that can parse your input files and return a tuple (negatives, positives) as blitz 1-D arrays of 64-bit floats. Consult the API of bob.measure.load.split_four_column() for details", metavar="NAME.FUNCTION")
# This option is not normally shown to the user...
parser.add_argument("--self-test",
......
......@@ -157,7 +157,7 @@ def get_options(user_input):
parser.add_argument('-x', '--no-plot', dest="doplot", default=True,
action='store_false', help="If set, then I'll execute no plotting")
parser.add_argument('-p', '--parser', dest="parser", default="4column",
help="Name of a known parser or of a python-importable function that can parse your input files and return a tuple (negatives, positives) as blitz 1-D arrays of 64-bit floats. Consult the API of xbob.measure.load.split_four_column() for details", metavar="NAME.FUNCTION")
help="Name of a known parser or of a python-importable function that can parse your input files and return a tuple (negatives, positives) as blitz 1-D arrays of 64-bit floats. Consult the API of bob.measure.load.split_four_column() for details", metavar="NAME.FUNCTION")
# This option is not normally shown to the user...
parser.add_argument("--self-test",
......
......@@ -77,7 +77,7 @@ def get_options(user_input):
parser.add_argument('-w', '--cost', dest='cost', default=0.5,
type=float, help="The value w of the cost when minimizing using the minimum weighter error rate (mwer) criterium. This value is ignored for eer or mhter criteria.", metavar="FLOAT")
parser.add_argument('-p', '--parser', dest="parser", default="4column",
help="Name of a known parser or of a python-importable function that can parse your input files and return a tuple (negatives, positives) as blitz 1-D arrays of 64-bit floats. Consult the API of xbob.measure.load.split_four_column() for details", metavar="NAME.FUNCTION")
help="Name of a known parser or of a python-importable function that can parse your input files and return a tuple (negatives, positives) as blitz 1-D arrays of 64-bit floats. Consult the API of bob.measure.load.split_four_column() for details", metavar="NAME.FUNCTION")
# This option is not normally shown to the user...
parser.add_argument("--self-test",
......
......@@ -62,7 +62,7 @@ def get_args():
parser.add_argument('--self-test', action='store_true', help=argparse.SUPPRESS)
parser.add_argument('-p', '--parser', dest="parser", default="4column", metavar="NAME.FUNCTION",
help="Name of a known parser or of a python-importable function that can parse your input files and return a tuple (negatives, positives) as blitz 1-D arrays of 64-bit floats. Consult the API of xbob.measure.load.split_four_column() for details")
help="Name of a known parser or of a python-importable function that can parse your input files and return a tuple (negatives, positives) as blitz 1-D arrays of 64-bit floats. Consult the API of bob.measure.load.split_four_column() for details")
# parse arguments
args = parser.parse_args()
......
......@@ -11,7 +11,7 @@
import os
import numpy
import nose.tools
import xbob.io.base
import bob.io.base
from .version import externals
from distutils.version import StrictVersion
......@@ -26,7 +26,7 @@ def F(f):
def save(fname, data):
"""Saves a single array into a file in the 'data' directory."""
xbob.io.base.Array(data).save(os.path.join('data', fname))
bob.io.base.Array(data).save(os.path.join('data', fname))
def test_basic_ratios():
......@@ -36,8 +36,8 @@ def test_basic_ratios():
# We test the basic functionaly on FAR and FRR calculation. The first
# example is separable, with a separation threshold of about 3.0
positives = xbob.io.base.load(F('linsep-positives.hdf5'))
negatives = xbob.io.base.load(F('linsep-negatives.hdf5'))
positives = bob.io.base.load(F('linsep-positives.hdf5'))
negatives = bob.io.base.load(F('linsep-negatives.hdf5'))
minimum = min(positives.min(), negatives.min())
maximum = max(positives.max(), negatives.max())
......@@ -92,8 +92,8 @@ def test_indexing():
# This test verifies that the output of correctly_classified_positives() and
# correctly_classified_negatives() makes sense.
positives = xbob.io.base.load(F('linsep-positives.hdf5'))
negatives = xbob.io.base.load(F('linsep-negatives.hdf5'))
positives = bob.io.base.load(F('linsep-positives.hdf5'))
negatives = bob.io.base.load(F('linsep-negatives.hdf5'))
minimum = min(positives.min(), negatives.min())
maximum = max(positives.max(), negatives.max())
......@@ -126,8 +126,8 @@ def test_thresholding():
# calculate the threshold that minimizes the EER.
# This test set is not separable.
positives = xbob.io.base.load(F('nonsep-positives.hdf5'))
negatives = xbob.io.base.load(F('nonsep-negatives.hdf5'))
positives = bob.io.base.load(F('nonsep-positives.hdf5'))
negatives = bob.io.base.load(F('nonsep-negatives.hdf5'))
threshold = eer_threshold(negatives, positives)
# Of course we have to make sure that will set the EER correctly:
......@@ -153,8 +153,8 @@ def test_thresholding():
# trickier, as you have no points in the middle of the range to compare
# things to. This is where the currently used recursive algorithm seems to
# do better. Let's verify
positives = xbob.io.base.load(F('linsep-positives.hdf5'))
negatives = xbob.io.base.load(F('linsep-negatives.hdf5'))
positives = bob.io.base.load(F('linsep-positives.hdf5'))
negatives = bob.io.base.load(F('linsep-negatives.hdf5'))
threshold = eer_threshold(negatives, positives)
# the result here is 3.242 (which is what is expect ;-)
......@@ -180,15 +180,15 @@ def test_plots():
from . import eer_threshold, roc, precision_recall_curve, det, epc
# This test set is not separable.
positives = xbob.io.base.load(F('nonsep-positives.hdf5'))
negatives = xbob.io.base.load(F('nonsep-negatives.hdf5'))
positives = bob.io.base.load(F('nonsep-positives.hdf5'))
negatives = bob.io.base.load(F('nonsep-negatives.hdf5'))
threshold = eer_threshold(negatives, positives)
# This example will test the ROC plot calculation functionality.
xy = roc(negatives, positives, 100)
# uncomment the next line to save a reference value
# save('nonsep-roc.hdf5', xy)
xyref = xbob.io.base.load(F('nonsep-roc.hdf5'))
xyref = bob.io.base.load(F('nonsep-roc.hdf5'))
if HAVE_BOB_1_2_2: xyref = xyref[::-1,:]
assert numpy.array_equal(xy, xyref)
......@@ -196,14 +196,14 @@ def test_plots():
xy = precision_recall_curve(negatives, positives, 100)
# uncomment the next line to save a reference value
# save('nonsep-roc.hdf5', xy)
xyref = xbob.io.base.load(F('nonsep-precisionrecall.hdf5'))
xyref = bob.io.base.load(F('nonsep-precisionrecall.hdf5'))
assert numpy.array_equal(xy, xyref)
# This example will test the DET plot calculation functionality.
det_xyzw = det(negatives, positives, 100)
# uncomment the next line to save a reference value
# save('nonsep-det.hdf5', det_xyzw)
det_xyzw_ref = xbob.io.base.load(F('nonsep-det.hdf5'))
det_xyzw_ref = bob.io.base.load(F('nonsep-det.hdf5'))
if HAVE_BOB_1_2_2: det_xyzw_ref = det_xyzw_ref[::-1,:]
assert numpy.allclose(det_xyzw, det_xyzw_ref, atol=1e-15)
......@@ -219,7 +219,7 @@ def test_plots():
test_negatives, test_positives, 100)
# uncomment the next line to save a reference value
# save('nonsep-epc.hdf5', xy)
xyref = xbob.io.base.load(F('nonsep-epc.hdf5'))
xyref = bob.io.base.load(F('nonsep-epc.hdf5'))
assert numpy.allclose(xy, xyref, atol=1e-15)
......@@ -231,8 +231,8 @@ def test_rocch():
# calculate the threshold that minimizes the EER on the ROC Convex Hull
# This test set is separable.
positives = xbob.io.base.load(F('linsep-positives.hdf5'))
negatives = xbob.io.base.load(F('linsep-negatives.hdf5'))
positives = bob.io.base.load(F('linsep-positives.hdf5'))
negatives = bob.io.base.load(F('linsep-negatives.hdf5'))
# References obtained using Bosaris 1.06
pmiss_pfa_ref = numpy.array([[1., 0., 0.], [0., 0., 1.]])
if HAVE_BOB_1_2_2: pmiss_pfa_ref = pmiss_pfa_ref[::-1,:]
......@@ -246,8 +246,8 @@ def test_rocch():
assert abs(eer-eer_ref) < 1e-4
# This test set is not separable.
positives = xbob.io.base.load(F('nonsep-positives.hdf5'))
negatives = xbob.io.base.load(F('nonsep-negatives.hdf5'))
positives = bob.io.base.load(F('nonsep-positives.hdf5'))
negatives = bob.io.base.load(F('nonsep-negatives.hdf5'))
# References obtained using Bosaris 1.06
pmiss_pfa_ref = numpy.array([[1., 0.68, 0.28, 0.1, 0.06, 0., 0.], [0, 0, 0.08, 0.12, 0.22, 0.48, 1.]])
if HAVE_BOB_1_2_2: pmiss_pfa_ref = pmiss_pfa_ref[::-1,:]
......@@ -297,8 +297,8 @@ def test_calibration():
# Tests the cllr and min_cllr measures
# This test set is separable.
positives = xbob.io.base.load(F('linsep-positives.hdf5'))
negatives = xbob.io.base.load(F('linsep-negatives.hdf5'))
positives = bob.io.base.load(F('linsep-positives.hdf5'))
negatives = bob.io.base.load(F('linsep-negatives.hdf5'))
cllr = calibration.cllr(negatives, positives)
min_cllr = calibration.min_cllr(negatives, positives)
......@@ -309,8 +309,8 @@ def test_calibration():
nose.tools.assert_almost_equal(min_cllr, 0.)
# This test set is not separable.
positives = xbob.io.base.load(F('nonsep-positives.hdf5'))
negatives = xbob.io.base.load(F('nonsep-negatives.hdf5'))
positives = bob.io.base.load(F('nonsep-positives.hdf5'))
negatives = bob.io.base.load(F('nonsep-negatives.hdf5'))
cllr = calibration.cllr(negatives, positives)
min_cllr = calibration.min_cllr(negatives, positives)
......
......@@ -5,7 +5,7 @@
#
# Copyright (C) 2011-2013 Idiap Research Institute, Martigny, Switzerland
"""Script tests for xbob.measure
"""Script tests for bob.measure
"""
import os
......@@ -60,7 +60,7 @@ def test_compute_perf_5col():
assert os.path.exists(TEST_SCORES_5COL)
from .script.compute_perf import main
cmdline = '--devel=%s --test=%s --parser=xbob.measure.load.split_five_column --self-test' % (DEV_SCORES_5COL, TEST_SCORES_5COL)
cmdline = '--devel=%s --test=%s --parser=bob.measure.load.split_five_column --self-test' % (DEV_SCORES_5COL, TEST_SCORES_5COL)
nose.tools.eq_(main(cmdline.split()), 0)
def test_compute_cmc():
......
......@@ -19,8 +19,8 @@
#ifdef NO_IMPORT_ARRAY
#undef NO_IMPORT_ARRAY
#endif
#include <xbob.blitz/capi.h>
#include <xbob.blitz/cleanup.h>
#include <bob.blitz/capi.h>
#include <bob.blitz/cleanup.h>
static int dict_set(PyObject* d, const char* key, const char* value) {
PyObject* v = Py_BuildValue("s", value);
......@@ -96,10 +96,10 @@ static PyObject* numpy_version() {
}
/**
* xbob.blitz c/c++ api version
* bob.blitz c/c++ api version
*/
static PyObject* xbob_blitz_version() {
return Py_BuildValue("{ss}", "api", BOOST_PP_STRINGIZE(XBOB_BLITZ_API_VERSION));
static PyObject* bob_blitz_version() {
return Py_BuildValue("{ss}", "api", BOOST_PP_STRINGIZE(BOB_BLITZ_API_VERSION));
}
static PyObject* build_version_dictionary() {
......@@ -113,7 +113,7 @@ static PyObject* build_version_dictionary() {
if (!dict_steal(retval, "Compiler", compiler_version())) return 0;
if (!dict_steal(retval, "Python", python_version())) return 0;
if (!dict_steal(retval, "NumPy", numpy_version())) return 0;
if (!dict_steal(retval, "xbob.blitz", xbob_blitz_version())) return 0;
if (!dict_steal(retval, "bob.blitz", bob_blitz_version())) return 0;
if (!dict_steal(retval, "Bob", bob_version())) return 0;
Py_INCREF(retval);
......@@ -131,7 +131,7 @@ PyDoc_STRVAR(module_docstr,
#if PY_VERSION_HEX >= 0x03000000
static PyModuleDef module_definition = {
PyModuleDef_HEAD_INIT,
XBOB_EXT_MODULE_NAME,
BOB_EXT_MODULE_NAME,
module_docstr,
-1,
module_methods,
......@@ -144,27 +144,27 @@ static PyObject* create_module (void) {
# if PY_VERSION_HEX >= 0x03000000
PyObject* m = PyModule_Create(&module_definition);
# else
PyObject* m = Py_InitModule3(XBOB_EXT_MODULE_NAME, module_methods, module_docstr);
PyObject* m = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr);
# endif
if (!m) return 0;
auto m_ = make_safe(m); ///< protects against early returns
/* register version numbers and constants */
if (PyModule_AddStringConstant(m, "module", XBOB_EXT_MODULE_VERSION) < 0)
if (PyModule_AddStringConstant(m, "module", BOB_EXT_MODULE_VERSION) < 0)
return 0;
PyObject* externals = build_version_dictionary();
if (!externals) return 0;
if (PyModule_AddObject(m, "externals", externals) < 0) return 0;
if (import_xbob_blitz() < 0) return 0;
if (import_bob_blitz() < 0) return 0;
Py_INCREF(m);
return m;
}
PyMODINIT_FUNC XBOB_EXT_ENTRY_NAME (void) {
PyMODINIT_FUNC BOB_EXT_ENTRY_NAME (void) {
# if PY_VERSION_HEX >= 0x03000000
return
# endif
......
......@@ -4,27 +4,27 @@
[buildout]
parts = scripts
eggs = xbob.measure
extensions = xbob.buildout
eggs = bob.measure
extensions = bob.buildout
mr.developer
auto-checkout = *
develop = src/xbob.extension
src/xbob.blitz
src/xbob.math
src/xbob.io.base
develop = src/bob.extension
src/bob.blitz
src/bob.math
src/bob.io.base
.
; options for xbob.buildout extension
; options for bob.buildout extension
debug = true
verbose = true
prefixes = /idiap/group/torch5spro/releases/preview/install/linux-x86_64-release
/Users/andre/work/bob/b/dbg/
[sources]
xbob.extension = git https://github.com/bioidiap/xbob.extension branch=prototype
xbob.blitz = git https://github.com/bioidiap/xbob.blitz
xbob.math = git https://github.com/bioidiap/xbob.math
xbob.io.base = git https://github.com/bioidiap/xbob.io.base
bob.extension = git https://github.com/bioidiap/bob.extension
bob.blitz = git https://github.com/bioidiap/bob.blitz
bob.math = git https://github.com/bioidiap/bob.math
bob.io.base = git https://github.com/bioidiap/bob.io.base
[scripts]
recipe = xbob.buildout:scripts
recipe = bob.buildout:scripts
......@@ -59,12 +59,12 @@ source_suffix = '.rst'
master_doc = 'index'
# General information about the project.
project = u'xbob.measure'
project = u'bob.measure'
import time
copyright = u'%s, Idiap Research Institute' % time.strftime('%Y')
# Grab the setup entry
distribution = pkg_resources.require('xbob.measure')[0]
distribution = pkg_resources.require('bob.measure')[0]
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
......@@ -130,7 +130,7 @@ if sphinx.__version__ >= "1.0":
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = 'xbob_measure'
#html_short_title = 'bob_measure'
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
......@@ -188,7 +188,7 @@ html_favicon = 'img/favicon.ico'
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'xbob_measure_doc'
htmlhelp_basename = 'bob_measure_doc'
# -- Options for LaTeX output --------------------------------------------------
......@@ -202,7 +202,7 @@ latex_font_size = '10pt'
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'xbob_measure.tex', u'Bob Performance Measurement Routines',
('index', 'bob_measure.tex', u'Bob Performance Measurement Routines',
u'Biometrics Group, Idiap Research Institute', 'manual'),
]
......@@ -242,7 +242,7 @@ rst_epilog = """
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'xbob_measure', u'Bob Performance Measurement Routines', [u'Idiap Research Institute'], 1)
('index', 'bob_measure', u'Bob Performance Measurement Routines', [u'Idiap Research Institute'], 1)
]
# Default processing flags for sphinx
......
This diff is collapsed.
......@@ -9,5 +9,5 @@
This section includes information for using the pure Python API of ``bob::measure``.
.. automodule:: xbob.measure
.. automodule:: bob.measure
......@@ -4,18 +4,18 @@
# Mon 16 Apr 08:18:08 2012 CEST
from setuptools import setup, find_packages, dist
dist.Distribution(dict(setup_requires=['xbob.blitz']))
from xbob.blitz.extension import Extension
dist.Distribution(dict(setup_requires=['bob.blitz']))
from bob.blitz.extension import Extension
packages = ['bob-measure >= 1.2.2']
version = '2.0.0a0'
setup(
name='xbob.measure',
name='bob.measure',
version=version,
description='Bindings for bob.measure',
url='http://github.com/bioidiap/xbob.measure',
url='http://github.com/bioidiap/bob.measure',
license='BSD',
author='Andre Anjos',
author_email='andre.anjos@idiap.ch',
......@@ -27,27 +27,27 @@ setup(
install_requires=[
'setuptools',
'xbob.blitz',
'xbob.math',
'xbob.io.base',
'bob.blitz',
'bob.math',
'bob.io.base',
'matplotlib',
],
namespace_packages=[
"xbob",
"bob",
],
ext_modules = [
Extension("xbob.measure.version",
Extension("bob.measure.version",
[
"xbob/measure/version.cpp",
"bob/measure/version.cpp",
],
packages = packages,
version = version,
),
Extension("xbob.measure._library",
Extension("bob.measure._library",
[
"xbob/measure/main.cpp",
"bob/measure/main.cpp",
],
packages = packages,
version = version,
......@@ -56,10 +56,10 @@ setup(
entry_points={
'console_scripts': [
'xbob_compute_perf.py = xbob.measure.script.compute_perf:main',
'xbob_eval_threshold.py = xbob.measure.script.eval_threshold:main',
'xbob_apply_threshold.py = xbob.measure.script.apply_threshold:main',
'xbob_plot_cmc.py = xbob.measure.script.plot_cmc:main',
'bob_compute_perf.py = bob.measure.script.compute_perf:main',
'bob_eval_threshold.py = bob.measure.script.eval_threshold:main',
'bob_apply_threshold.py = bob.measure.script.apply_threshold:main',
'bob_plot_cmc.py = bob.measure.script.plot_cmc:main',
],
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment