bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2016-08-04T09:27:26Zhttps://gitlab.idiap.ch/bob/bob/-/issues/22debugging problem2016-08-04T09:27:26ZAndré Anjosdebugging problem*Created by: ivana7c*
Debugging using gdb requires that the PYTHONPATH is set before every call of gdb. Script that will do this automatically should be provided.*Created by: ivana7c*
Debugging using gdb requires that the PYTHONPATH is set before every call of gdb. Script that will do this automatically should be provided.https://gitlab.idiap.ch/bob/bob/-/issues/23ffmpeg 0.8 on Ubuntu 12.04 deprecates some symbols2016-08-04T09:27:28ZAndré Anjosffmpeg 0.8 on Ubuntu 12.04 deprecates some symbols*Created by: anjos*
Our bindings to ffmpeg need a revamp. The VideoReader compilation reports:
```
/home/andre/work/bob/cxx/io/src/VideoReader.cc: In member function ‘void bob::io::VideoReader::open()’:
/home/andre/work/bob/cxx/io/...*Created by: anjos*
Our bindings to ffmpeg need a revamp. The VideoReader compilation reports:
```
/home/andre/work/bob/cxx/io/src/VideoReader.cc: In member function ‘void bob::io::VideoReader::open()’:
/home/andre/work/bob/cxx/io/src/VideoReader.cc:128:7: warning: ‘int av_find_stream_info(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1412) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:128:38: warning: ‘int av_find_stream_info(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1412) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:129:5: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:129:36: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:147:5: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:147:36: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:163:5: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:163:36: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:168:7: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:168:37: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:169:5: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:169:36: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:228:3: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:228:34: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc: In member function ‘void bob::io::VideoReader::const_iterator::init()’:
/home/andre/work/bob/cxx/io/src/VideoReader.cc:346:7: warning: ‘int av_find_stream_info(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1412) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:346:40: warning: ‘int av_find_stream_info(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1412) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:377:7: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:377:41: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc: In member function ‘void bob::io::VideoReader::const_iterator::reset()’:
/home/andre/work/bob/cxx/io/src/VideoReader.cc:463:5: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoReader.cc:463:38: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1580) [-Wdeprecated-declarations]
```
Where as the VideoWriter.cc reports:
```
/home/andre/work/bob/cxx/io/src/VideoWriter.cc: In member function ‘AVStream* bob::io::VideoWriter::add_video_stream()’:
/home/andre/work/bob/cxx/io/src/VideoWriter.cc:229:8: warning: ‘AVStream* av_new_stream(AVFormatContext*, int)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1604) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoWriter.cc:229:38: warning: ‘AVStream* av_new_stream(AVFormatContext*, int)’ is deprecated (declared at /usr/include/libavformat/avformat.h:1604) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoWriter.cc: In member function ‘void bob::io::VideoWriter::open_video()’:
/home/andre/work/bob/cxx/io/src/VideoWriter.cc:300:7: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
/home/andre/work/bob/cxx/io/src/VideoWriter.cc:300:28: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4034) [-Wdeprecated-declarations]
```v1.0https://gitlab.idiap.ch/bob/bob/-/issues/24euklidean_distance should be renamed2016-08-04T09:27:30ZAndré Anjoseuklidean_distance should be renamed*Created by: laurentes*
I've nothing against the beautiful german language, but it would be better to stick to English for the Bob project. Furthermore, the function euklidean_distance() in python/math/lib/__init__.py should be renamed ...*Created by: laurentes*
I've nothing against the beautiful german language, but it would be better to stick to English for the Bob project. Furthermore, the function euklidean_distance() in python/math/lib/__init__.py should be renamed to something like euclidean_distance().v1.0https://gitlab.idiap.ch/bob/bob/-/issues/25cblas, clapack and LAPACK2016-08-04T09:27:32ZAndré Anjoscblas, clapack and LAPACK*Created by: laurentes*
In the early years, we've got rid of the usage of C functions from cblas and clapack, calling the Fortran functions from LAPACK directly. This is not reflected in the external/cblasConfig.cmake, which still requi...*Created by: laurentes*
In the early years, we've got rid of the usage of C functions from cblas and clapack, calling the Fortran functions from LAPACK directly. This is not reflected in the external/cblasConfig.cmake, which still requires cblas.h and clapack.h to exist.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/26Bob installation documentation needs to be rewritten2016-08-04T09:27:34ZAndré AnjosBob installation documentation needs to be rewritten*Created by: siebenkopf*
In the "Using bob" section of the "Installation" section of the documentation still the bin/shell.py is called. This should be replaced by the current way to call python, namely bin/python. Also, the mentioned b...*Created by: siebenkopf*
In the "Using bob" section of the "Installation" section of the documentation still the bin/shell.py is called. This should be replaced by the current way to call python, namely bin/python. Also, the mentioned bin/bob_config.py is no longer existent.
Additionally, it might be a good idea to include the BobMaker here (maybe marked to be used only Idiap-internally, if this is the case).v1.0https://gitlab.idiap.ch/bob/bob/-/issues/27Usage of abbreviations in namespaces2016-08-04T09:27:37ZAndré AnjosUsage of abbreviations in namespaces*Created by: siebenkopf*
When I try to read some C++ code of Bob, I often step over an abbreviated namespace (like tp for bob::python). Also in the python code, sometimes packages are abbreviated or, even worse, "from xxx import yyy as ...*Created by: siebenkopf*
When I try to read some C++ code of Bob, I often step over an abbreviated namespace (like tp for bob::python). Also in the python code, sometimes packages are abbreviated or, even worse, "from xxx import yyy as zzz" is used. This makes the code really hard to read since I always have to scroll up to the definition of abbreviation to understand, what is actually called.
I definitely would go for removing all these abbreviations and using the fully qualified names. I know that writing code this way may take a little longer, but I think it is worth the time. And most of the editors provide automatic source completion, that speeds up the typing.
What do you think about this?v1.2https://gitlab.idiap.ch/bob/bob/-/issues/28Temporary files not being erased2016-08-04T09:27:39ZAndré AnjosTemporary files not being erased*Created by: anjos*
After running bob's test suite, lots of files seem not to be erased from the temporary directory. We should verify this as soon as possible.*Created by: anjos*
After running bob's test suite, lots of files seem not to be erased from the temporary directory. We should verify this as soon as possible.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/29bob.ip.Rotate needs a review2016-08-04T09:27:41ZAndré Anjosbob.ip.Rotate needs a review*Created by: siebenkopf*
The bob.ip.Rotate class needs a mayor revision. First, it expects the rotation angle in degrees (which is rather uncommon), but this is documented nowhere. The resulting rotated image is assumed to be of type fl...*Created by: siebenkopf*
The bob.ip.Rotate class needs a mayor revision. First, it expects the rotation angle in degrees (which is rather uncommon), but this is documented nowhere. The resulting rotated image is assumed to be of type float, even when the input image is uint8. I am not sure if this behavior is intended.
Furthermore, its function bob.ip.Rotate.getOutputShape(image,angle) does not use the angle member variable, but requires the angle to be specified again. There are two solutions for this last problem. Either the class is removed and only the two functions bob.ip.rotate(image,image,angle) and bob.ip.getRotatedShape(image,angle) are preserved, or the getRotatedShape(image) function uses the angle member variable. I vote for the first solution since this would mimic the bob.ip.scale(image,image,scale) function.
v1.0https://gitlab.idiap.ch/bob/bob/-/issues/30Order of the eigenvalues with FisherLDA2016-08-04T09:27:43ZAndré AnjosOrder of the eigenvalues with FisherLDA*Created by: laurentes*
Following the introduction of the doctest, it seems that the behaviour of our FisherLDA implementation is currently platform dependent: the order of the returned eigenvalues and eigenvectors differs from one plat...*Created by: laurentes*
Following the introduction of the doctest, it seems that the behaviour of our FisherLDA implementation is currently platform dependent: the order of the returned eigenvalues and eigenvectors differs from one platform to another one. This might be caused by a different behaviour of the LAPACK implementations. We need to fix the problem ASAP.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/31Add a new command to check if the data of a database are in place2016-08-04T09:27:47ZAndré AnjosAdd a new command to check if the data of a database are in place*Created by: laurentes*
It seems that such a command would be useful to check that a folder containing a database has the expectated file organization.*Created by: laurentes*
It seems that such a command would be useful to check that a folder containing a database has the expectated file organization.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/32Tests failing on Ubuntu 12.04 LTS 32 bits2016-08-04T09:27:49ZAndré AnjosTests failing on Ubuntu 12.04 LTS 32 bits*Created by: laurentes*
The three following tests are failing on Ubuntu 12.04 LTS 32 bits:
- cxx-ip-facenorm
- python-trainer-rprop-main
- python-face_verification-bancasmall-main
In all three cases, this seems to be caused by numer...*Created by: laurentes*
The three following tests are failing on Ubuntu 12.04 LTS 32 bits:
- cxx-ip-facenorm
- python-trainer-rprop-main
- python-face_verification-bancasmall-main
In all three cases, this seems to be caused by numerical issues. In particular, "python-face_verification-bancasmall-main" makes use of facenorm.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/33New databases "casia_fasd" and "nuaa" do not work with dbmanage.py2016-08-04T09:27:51ZAndré AnjosNew databases "casia_fasd" and "nuaa" do not work with dbmanage.py*Created by: anjos*
Please integrate those ASAP. Check other implemented drivers like the "iris" database or the "replay" database.*Created by: anjos*
Please integrate those ASAP. Check other implemented drivers like the "iris" database or the "replay" database.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/34inconsistent function naming convention2016-08-04T09:27:53ZAndré Anjosinconsistent function naming convention*Created by: siebenkopf*
Currently, there are different ways, python functions are called. One type uses CamelCase, whereas other types use under_score_names. Since the default python ways seems to be under_scores, we should rename the ...*Created by: siebenkopf*
Currently, there are different ways, python functions are called. One type uses CamelCase, whereas other types use under_score_names. Since the default python ways seems to be under_scores, we should rename the camelCase functions in the API.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/35Consecutive uses of HDF5File on the same file can crash your script2016-08-04T09:27:55ZAndré AnjosConsecutive uses of HDF5File on the same file can crash your script*Created by: anjos*
The following piece of code will crash the python interpreter if the ``del f`` step is not called between two consecutive calls to ``HDF5File()``. This problem seems to affect only Ubuntu 10.04 LTS.
```python
imp...*Created by: anjos*
The following piece of code will crash the python interpreter if the ``del f`` step is not called between two consecutive calls to ``HDF5File()``. This problem seems to affect only Ubuntu 10.04 LTS.
```python
import numpy
import bob
A = numpy.array(range(4), 'int8').reshape(2,2)
f = bob.io.HDF5File('testfile1.hdf5')
f.set('my_array', A)
#del f
f = bob.io.HDF5File('testfile1.hdf5', 'r') #read only
f.read('my_integer') #reads integer
f.read('my_float') # reads float
print f.read('my_array') # reads the array
del f
```https://gitlab.idiap.ch/bob/bob/-/issues/36Consecutive uses of HDF5File on the same file can crash your script2016-08-04T09:27:57ZAndré AnjosConsecutive uses of HDF5File on the same file can crash your script*Created by: anjos*
The following piece of code will crash under Ubuntu 10.04.
```python
import numpy
import bob
A = numpy.array(range(4), 'int8').reshape(2,2)
f = bob.io.HDF5File('testfile1.hdf5', 'w')
for k in range(1000): f...*Created by: anjos*
The following piece of code will crash under Ubuntu 10.04.
```python
import numpy
import bob
A = numpy.array(range(4), 'int8').reshape(2,2)
f = bob.io.HDF5File('testfile1.hdf5', 'w')
for k in range(1000): f.set('my_float_%d' % k, 3.1416)
#del f #this makes everything work fine
f = bob.io.HDF5File('testfile1.hdf5', 'r') #read only
f.read('my_float_999') # reads float
del f
```v1.0https://gitlab.idiap.ch/bob/bob/-/issues/37Sphinx generates URL to non-existing `source code` pages in the documentation...2016-08-04T09:28:01ZAndré AnjosSphinx generates URL to non-existing `source code` pages in the documentation when using the plot extension with inline code*Created by: laurentes*
The plot extension of sphinx is always generating a *source code* URL when using the `.. plot::` directive. This is particularly annoying when inline python code is used after this directive, as sphinx will still...*Created by: laurentes*
The plot extension of sphinx is always generating a *source code* URL when using the `.. plot::` directive. This is particularly annoying when inline python code is used after this directive, as sphinx will still generate an URL pointing to a file which does not exist. There are two potential solutions:
- Either we find a way to disable the generation of the *source code* URL. I've looked at the sphinx documentation without success so far.
- Or we should always create an external python file which will be used by the `.. plot::` directive.
This currently affects the tutorial about the *measure* submodule of Bob.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/38VLFeat is not detected despite installation2016-08-04T09:28:03ZAndré AnjosVLFeat is not detected despite installation*Created by: anjos*
From my understanding of the cmake file, we should see a printout when VLFeat is detected on the system:
```
Found VLFeat: /usr/lib/libvlfeat.so
```
But we don't seem to see this line ever. Could you make sur...*Created by: anjos*
From my understanding of the cmake file, we should see a printout when VLFeat is detected on the system:
```
Found VLFeat: /usr/lib/libvlfeat.so
```
But we don't seem to see this line ever. Could you make sure that it is properly detected and reported?v1.0https://gitlab.idiap.ch/bob/bob/-/issues/39FisherLDATrainer does not have a zscore_convert option2016-08-04T09:28:06ZAndré AnjosFisherLDATrainer does not have a zscore_convert option*Created by: ivana7c*
In contrast to SVDPCATrainer, the FisherLDATrainer does not have the zscore_convert option. It would be nice to add this option for consistency.*Created by: ivana7c*
In contrast to SVDPCATrainer, the FisherLDATrainer does not have the zscore_convert option. It would be nice to add this option for consistency.v1.1https://gitlab.idiap.ch/bob/bob/-/issues/40Unit test for SIFT features extraction based on VLFeat fails on Ubuntu 12.04 ...2016-08-04T09:28:08ZAndré AnjosUnit test for SIFT features extraction based on VLFeat fails on Ubuntu 12.04 32bits*Created by: laurentes*
There is currently an issue with the test of the *SIFT* features under *Ubuntu 12.04 32 bits*. For unknown reason, the *SIFT* descriptors computed by *Ubuntu 12.04 32 bits* are different from the reference one ge...*Created by: laurentes*
There is currently an issue with the test of the *SIFT* features under *Ubuntu 12.04 32 bits*. For unknown reason, the *SIFT* descriptors computed by *Ubuntu 12.04 32 bits* are different from the reference one generated with *Ubuntu 10.04 32 bits*. This happens despite the fact that we are using the exact same version of *VLFeat 0.9.14* (last release), and that *VLFeat* has almost no external dependence:
```
$ ldd /usr/lib/libvl.so
linux-gate.so.1 => (0x00b52000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x00412000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x0073c000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00174000)
/lib/ld-linux.so.2 (0x00b8b000)
```
Tracking the problem, it likely originates from the keypoint detection, as there is no such an issue with the *Dense SIFT* features, which also relies on *VLFeat*. I guess that some of them are slightly below the threshold to be considered as keypoints on 12.04 but slightly above on 10.04. This is particularly annoying as this then shift the whole keypoints, making the comparison of the descriptors tough.
There are three possible options:
- Remove the test, considering that this is a VLFeat issue
- Add additional references and checking that one of them matches the values generated
- Add a more clever test. which will allow some keypoints more (or less), and able to still match the descriptors in such a situation.
Personally, I will go for the first one.v1.0https://gitlab.idiap.ch/bob/bob/-/issues/41Add an example of a satellite package2016-08-04T09:28:10ZAndré AnjosAdd an example of a satellite package*Created by: laurentes*
There is currently no example of a satellite package for Bob. It would be nice to introduce one. For this purpose, we could recycle the former face_verification submodule of bob, providing simple scripts for feat...*Created by: laurentes*
There is currently no example of a satellite package for Bob. It would be nice to introduce one. For this purpose, we could recycle the former face_verification submodule of bob, providing simple scripts for feature extraction and verification.