Home My Page Projects MPTK: The Matching Pursuit ToolKit
Summary Activity Forums Tracker Lists Docs News SCM Files

Forum: help

Monitor Forum | Start New Thread Start New Thread
RE: Compiled sources: load_environment() fails to retrieve the 3 dll's [ Reply ]
By: Jean-François Baure on 2012-05-04 11:49
[forum:109629]
Hi there,
My Matlab code to build a time-frequency map from the distribution of atoms (subplot n°2) gives the same results than the MPview executable with the "-w wigner" option (subplot n°1):
http://img823.imageshack.us/img823/6539/compmptkandspecgramvign.jpg
Going back to my compiled version of MPTK...
Jeff

RE: Compiled sources: load_environment() fails to retrieve the 3 dll's [ Reply ]
By: Jean-François Baure on 2012-05-03 20:58
[forum:109628]
Hello Remi,
Yes, I now use
-a dic_gabor_multi_scale.xml with all the intermediary scales (length 16, 32, 64, 128,..., 16384) between the 2 scales of dic_gabor_two_scale.xml and
-directly the xml books produced by MPTK to build my time-frequency maps with Matlab according to Mallat & Zhang (equations 51 for complex signals, 58 for real, and 59 + 60 for the elementary time freq inprint of an atom). a bit lengthy in execution time and still validating it...
Will look tomorrow to your suggestions for the source compilation.
Jeff

RE: Compiled sources: load_environment() fails to retrieve the 3 dll's [ Reply ]
By: Rémi Gribonval on 2012-05-03 19:54
[forum:109627]
Jeff,
Do not expect too much from mpview. It is essentially a convenience tool which has not received as much care as the core functionality of MPTK, which lies in the fast decomposition routines (mpd) that have been heavily optimised.
Note also that other similar convenience tools to plot have been implemented using MPTK's Matlab interface (e.g. booplot, bookover, bookedit) and you are welcome to play with them, they may give slightly different results.

Now, regarding the particular images that you are getting, I strongly suspect this comes from the choice of dictionary you used for the mpd decomposition. You probably used an existing dictionary description file, and may want to build your own one. Just in case, can you can either give the name of the standard dict.xml file you used or, if you wrote your own file, copy its content on this forum?
For information, a way to build your own dict file without entering xml code yourself is through the matlab dictcreate_gui.m interface.

I hope this helps.

Remi.



RE: Compiled sources: load_environment() fails to retrieve the 3 dll's [ Reply ]
By: Rémi Gribonval on 2012-05-03 19:40
[forum:109626]
Hi Jeff,

First, thumbs up for the idea of including MPTK within OpenVibe!
Regarding the issues you mention
*The warning are presumably harmless but could be avoided by adding a few lines in the source file dll_win32.cpp, in the function MP_Dll_Manager_c::search_library(). Given a directory, this function creates a list of dll names that are potentially MPTK plugins. The current implementation skips name that correspond to dll names which MPTK knows are not plugins. Skipping libfftw3-3.dll, libsndfile-1.dll" and ptThreadVC2.dll would remove the warning.

*The error is more problematic. It indicates that no plugin was found in the dll directory. Plugin names are, e.g. : GABOR_ATOM.dll
I am not so familiar with the Windows version of MPTK but I can imagine two reasons for the problem:
1) you have mispecified the path of the dll directory (it is typically '.../plugins') in path.xml
Correcting the path should solve both the warning and the error (no need to update dll_win32.cpp then)
2) the path is correct, but the plugins have not been compiled and/or installed at the right place. To check this, see if you find GABOR_ATOM.dll somewhere.

I hope this helps

Remi.

RE: Compiled sources: load_environment() fails to retrieve the 3 dll's [ Reply ]
By: Jean-François Baure on 2012-05-03 16:25
[forum:109625]
Ok, no problem with the binaries, they execute smoothly.
I just tested the mpd (on the metiss_logo.wav and 999 iterations) and mpview to compare it to a Matlab spectrogram:

http://img171.imageshack.us/img171/9025/compmptkandspecgram.jpg

I am a bit confused by the MPTK distribution of atoms displayed on the pixmap (I used the Matlab mpview script to display it): we can't distinguish the formant structure that appears on the spectrogram ? the MPTK pixmap has uninterrupted horizontal lines spanning over all the signal duration and the atoms structure seems strangely homogenous vertically.
Am I misusing MPTK ?
Are there images of MPTK outputs to compare with ?
Jean-François
PS) continue to dig the initial problem with the 3 dlls when using the sources I built myself.

Compiled sources: load_environment() fails to retrieve the 3 dll's [ Reply ]
By: Jean-François Baure on 2012-05-03 13:49
[forum:109624]
Hi there
I am thinking to include the MPTK libraries in the OpenVibe software (for EEG analysis and BCI design: http://openvibe.inria.fr/).
I managed to build the last version sources (windows vista SP1) with visual studio 2010, modified the path.xml configuration file, but when trying to run the mpd executable with the command line

mpd -D dic-gabor-two-scales.xml -n 200 metiss_logo.wav booktest.xml -C path.xml

the load_environnement() process is ok till it reaches the 3 dll imports with the MPTK_Dll_Manager::load_dll and there it produces 3 warnings (for libfftw3-3.dll, libsndfile-1.dll" and ptThreadVC2.dll) followed by an error:

MPTK WARNING -- MPTK_Dll_Manager::load_dll - No registry function in 'C:\OpenVibeProject\openvibe-plugins\signal-processing\trunc\src\box-algorithms\time-frequency-representations\Matching-Pursuit\libfftw3-3.dll' shared library.

(same WARNINGs for libsndfile-1.dll" and ptThreadVC2.dll) followed by

MPTK ERROR -- MPTK_Env_c::load_environment() - No bloc type was loaded even thoug plugins were found in the dll directory 'C:\OpenVibeProject\openvibe-plugins\signal-processing\trunc\src\box-algorithms\time-frequency-representations\Matching-Pursuit\' specified by the configuration file 'path.xml'

Have you ever met these dll import errors or would you know what to do in such a case ? (I will try the binary version of MPTK later).
Take care
Jeff