p300_GUI

Forum for discussion on different user applications
Locked
dthomp
Posts: 20
Joined: 09 Dec 2008, 17:13

p300_GUI

Post by dthomp » 09 Dec 2008, 18:19

Has anyone been able to get p300_GUI to generate useful weights since October? We haven't done p300 work since then, and are trying to get back into it, but are running into the following problem:

1) We take data to train
2) We generate weights with p300_GUI - it tells us they should work well
3) We load the parameters and run a trial - out pops garbage

But what's interesting is that if we take those same weights and run the data file from part 3 as a test file, it tells us we should be getting 80-90% accuracy. Whereas we got 0.

I'm a little curious if this issue could have to do with an update since October, or if it could have something to do with the eloc file (is that even used during feature generation, or just during topographic plotting?) Any ideas would be appreciated.

halder
Posts: 3
Joined: 10 Dec 2008, 07:34

Post by halder » 10 Dec 2008, 09:26

Could it be that you by accident exported a BCI2000 v1 parameter file? If you load this with a BCI2000 v2 application it would cause the behaviour you described (i.e. no weights in the linear classifier matrix).

Regards,
Sebastian

dthomp
Posts: 20
Joined: 09 Dec 2008, 17:13

Post by dthomp » 10 Dec 2008, 14:26

Here's the .prm file generated by P300GUI, if you'd like the full parameter file, let me know. Sorry it's not formatted better.

Edit: cut the file to allow this topic to have some finite length. PM me for it, if you're interested.
Last edited by dthomp on 10 Dec 2008, 15:11, edited 1 time in total.

halder
Posts: 3
Joined: 10 Dec 2008, 07:34

Post by halder » 10 Dec 2008, 15:07

All right, that's a v2 *.prm so that isn't the problem. Sorry, can't think of anything else right now and cannot try it myself until Wednesday next week.
As to your question about the eloc files, they are not used for the feature generation.

dthomp
Posts: 20
Joined: 09 Dec 2008, 17:13

Post by dthomp » 10 Dec 2008, 17:14

Ok, so, this is very strange. I have managed to repeat the error by using the executables checked out from the repository, with the "InitialP3Session" parameter files (and gUSBamp.prm, and dualmonitor.prm) for training. Then using p300GUI to get weights, and only loading that parameter file in addition to what was already loaded. Out comes garbage (1 out of 5 correct). P300 says it should have been 100% with 4 sequences or more.

However, using a binary distribution, with the parameters from the binary distribution, with the same subject and procedure, the second session was 100% accurate. The binary distribution's folder says it was modified on 9/16. If I'm reading my notes correctly, I also tried training with the executable from the repository and the parameters from that binary - and got 100% on the second trial.

On a possibly-related note, I've noticed (not sure from when) that executables from the repository require pressing "set config" twice before the stimulus window goes to the correct place. The first press, it shows up at 0,0 on the main monitor... the second press pops it over to the second monitor. Is it possible that the parameter files have some sort of issue?

gschalk
Posts: 615
Joined: 28 Jan 2003, 12:37

display

Post by gschalk » 11 Dec 2008, 00:36

Hi,

I don't know about the P300 GUI problem, but there was an issue with BCI2000 and two monitors when compiling with BCB2007. The first time, the window would appear on the first monitor, and the second time in the correct location. This is an issue with BCB2007 and has recently been fixed, i.e., we've found a workaround.

Gerv

halder
Posts: 3
Joined: 10 Dec 2008, 07:34

Post by halder » 11 Dec 2008, 03:48

So just to be sure I understood you correctly: when you use the executables from the binary distribution + weights generated by the current version of P300GUI it works fine? Only the combination of executables built from source + weights from current version of P300GUI does not work?

mellinger
Posts: 1097
Joined: 12 Feb 2003, 11:06

Post by mellinger » 11 Dec 2008, 03:50

Hi,

when reproducing the issue with the latest SVN version, have you done a checkout into a clean directory, or did you update an existing one? In a somewhat counterintuitive manner, "SVN update" will silently merge local modifications into the version retrieved from the server, and this might be the cause for behavior differences between binary distribution, and your own build from a local source copy.

As pointed out by Gerv, differences between BCB 6 and 2007 compilers/libraries might as well be the cause but it would help us greatly if you first confirmed that the problem is independent of the way "SVN update" operates.

Thanks for your report,
Juergen

dthomp
Posts: 20
Joined: 09 Dec 2008, 17:13

Post by dthomp » 11 Dec 2008, 07:14

I have been updating a directory rather than trying from a clean one, but I have yet to make any changes to a source file (I've been mainly playing with the .m's).

One question as I'm not terribly familiar with SVN - it checks out built executables in addition to source code. I've just been using those; should I have been building from the updated source instead of trusting that those are updating correctly?

mellinger
Posts: 1097
Joined: 12 Feb 2003, 11:06

Post by mellinger » 11 Dec 2008, 10:25

Typically, we avoid to add binary executables to SVN, with a few exceptions:

- dynamically linked libraries from third parties,
- mex files for non-windows platforms,
- executables that statically link to libraries not distributed with BCB.

Sometimes executables may be added to the SVN repository by accident, and are cleaned up from time to time.

In case of binary files, SVN will not be able to merge local changes, so it should replace those with the current version from the server. However, most binaries are not in SVN, so you will need to rebuild them after updating the source code.

Locked

Who is online

Users browsing this forum: No registered users and 1 guest