Menu

Home

Marius 't Hart

** VEEL **

VEEL is a simple GUI intended to fit exponential functions to performance data from learning experiments. It was written with the needs of my current lab in mind and may only be of limited use to anyone else. However, if you tried VEEL and have constructive feedback, please drop me a line, so I might improve this small piece of software.

Fitting is done using the least square errors method from scipy. Plots are generated with matplotlib.

** Download **

Currently, there are two versions of VEEL that can be downloaded: the python source code and a 32-bit 'compiled' version, created with py2exe on Windows XP.

Python source code

If you want to use the Python source code, you need a few modules to be able to run it:
- wxPython
- numpy
- scipy
- matplotlib
- pandas

start it by typing this on the commandline:
python VEEL.py

Binary win32

The 'compiled' version is created by py2exe, and doesn't include an installer. Just download the zip file and unzip it to whereever you like. Double click the VEEL.exe file to start it. It might be slow to start, so have a little patience. I've only tested this on Windows XP and Windows 7, so your mileage may vary.

** Data files **

VEEL can only handle one kind of input right now: ACSII text files. These are to be in the form of a table, with at least 3 columns. One column for the dependent variable, one to indicate time (e.g. trials) and one for condition. You can also have a column for subject, and lots of other columns that will be ignored.
The first line of the file should have the names of the columns. The columns for the time variable and independent variable should only have numbers (integers or floats). The grouping variables can be names as well (since 0.02). Fields in the table are to be delineated with tabs.
You can easily create this type of file if you put all your data in one Excel sheet and then copy-paste it to notebook and save it as a txt file.
Make sure there are no empty lines in the file. They lead to errors.

** Usage **

Once you downloaded your favourite version of VEEL and got your data in the right format, this is how to use VEEL. The GUI guides you through the process as well.

Step 1: Select your datafile
The data will be loaded in memory, and if all is well, the text "(no file selected)" should be replaced with the name of your data file, and the first part of step 2 can be done.

Step 2: Define columns
Tell VEEL in what column it can find the dependent variable, your variable defining time, and at least first level grouping variable (e.g. condition or population). You can also specify a column that identifies individual participants, but even if you don't do that, step 3 should be available to you.

Step 3: Pick a formula
You can pick three different formulas used for fitting. The simpler the formula, the more explanatory power the parameters potentially have, but it could lead to worse fits. Once you pick a formula, step 4 should be available to you.

Step 4: Options
You can play with three things here. First you can define the limits of the Y-axis. If you do this, all plots will have the same scale, and it will be easier to combine them into a nice plot in your favourite graphic editing tool. Then you can select what part of the data to do fits on, which might be usefull to exclude the part after a break, or the first few trials. Then, if you defined a 2nd grouping variable (participant) you can opt to create a plot for every participant.

GO!
Once everything is specified, you can start the actual fitting by pressing GO! VEEL will create a plot for every group of the first grouping variable, and possibly one for every individual participant. It will also produce one or two output files. These will be in the same location as your datafile and have the same name, extended with _group (and _sub if you specified a 2nd grouping variable). These will contain the fit parameters for each group (or sub-group) for the formula you picked, as well as two estimates of the goodness of fit: 1) the Root Mean Square Error, which is minimized by the fitting algorithm, and 2) an R squared and it's p-value (as calculated by scipy's Pearson R function) to indicate how well the fit correlates with the actual data.

[Versions]
[Issues]

Project Members:


Related

Wiki: Versions