Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
BPod with Octave
#1
Idea
I am interested to run Bpod on Octave instead of Matlab. A brief review reveals to me that most of the problems will be with the user interface which is using functions that are not supported on Octave.

Have anybody here tried that before? Any previous experiences before I go down this path? Exclamation
Reply
#2
(12-08-2016, 10:39 AM)Mahyar Wrote: Idea
I am interested to run Bpod on Octave instead of Matlab. A brief review reveals to me that most of the problems will be with the user interface which is using functions that are not supported on Octave.

Have anybody here tried that before? Any previous experiences before I go down this path? Exclamation

Hi Mahyar

Pulse Pal is compatible with Octave, but unfortunately Bpod is not - precisely because of its UI.
We posted a new command line client for Python in the beta branch of the repository. Hopefully we'll have Python GUI support soon, through a collaboration with Champalimaud Foundation. Unfortunately, Octave support is not yet planned.

If you would like to contribute code, we'd be thrilled to have Octave support! The beta branch is the place to start - it has several major changes that will soon be standardized.

Thanks!
Josh
Reply
#3
(12-09-2016, 01:26 AM)Josh Wrote: Hi Mahyar

Pulse Pal is compatible with Octave, but unfortunately Bpod is not - precisely because of its UI.
We posted a new command line client for Python in the beta branch of the repository. Hopefully we'll have Python GUI support soon, through a collaboration with Champalimaud Foundation. Unfortunately, Octave support is not yet planned.

If you would like to contribute code, we'd be thrilled to have Octave support! The beta branch is the place to start - it has several major changes that will soon be standardized.

Thanks!
Josh

Hi
I finally started working on this. If anyone else is interested please leave a message.
One problem is that the the uicontrol in octave doesn't effectively present images on the push buttons, therefore I decided to adopt a minimalist strategy just to get it work. I will update here when I finish.

Thanks for the great job Josh
Reply
#4
(02-22-2017, 05:10 PM)Mahyar Wrote:
(12-09-2016, 01:26 AM)Josh Wrote: Hi Mahyar

Pulse Pal is compatible with Octave, but unfortunately Bpod is not - precisely because of its UI.
We posted a new command line client for Python in the beta branch of the repository. Hopefully we'll have Python GUI support soon, through a collaboration with Champalimaud Foundation. Unfortunately, Octave support is not yet planned.

If you would like to contribute code, we'd be thrilled to have Octave support! The beta branch is the place to start - it has several major changes that will soon be standardized.

Thanks!
Josh

Hi
I finally started working on this. If anyone else is interested please leave a message.
One problem is that the the uicontrol in octave doesn't effectively present images on the push buttons, therefore I decided to adopt a minimalist strategy just to get it work. I will update here when I finish.

Thanks for the great job Josh

Hi

At I ended up with a command line version of Bpod which I can run my experiments with. It doesn't have the capabilities of the visual interface such as monitoring the events(although you can see a print of the events on the command line) or changing the parameters or interacting with the software while running the experiment. Now I run the experiments like Bpod('cli', 'NameOfProtocol', 'NameOfSubject').

I am not sure if it can be of use for others. But if you think so please tell me how to refurbish and where to upload it. I would be happy to share it.

Best

Mahyar
Reply
#5
Hi Mahyar

Wow, this is awesome!
I'm super-happy you brought Octave support this far.
I'll gladly help you share it, and retain credit for its authorship. Let's do this:
-Create a personal account on Github, create a repository, and upload the Octave port. If you're new to Github, Sourcetree is a great entry point.
-I'll fork the repository once you've uploaded it, to test the code in our workshop. 
-We may make changes, at which point we'll submit a "pull request" for you to merge our changes back into your branch (after confirming that we didn't break anything!). 
-A copy of the final version of the code can live in Bpod's main repository, with a note pointing to your Github repository as its original source.

We should chat more by Email - josh@sanworks.io.

Major thanks for this!

-Josh
Reply
#6
(04-07-2017, 01:03 AM)Josh Wrote: Hi Mahyar

Wow, this is awesome!
I'm super-happy you brought Octave support this far.
I'll gladly help you share it, and retain credit for its authorship. Let's do this:
-Create a personal account on Github, create a repository, and upload the Octave port. If you're new to Github, Sourcetree is a great entry point.
-I'll fork the repository once you've uploaded it, to test the code in our workshop. 
-We may make changes, at which point we'll submit a "pull request" for you to merge our changes back into your branch (after confirming that we didn't break anything!). 
-A copy of the final version of the code can live in Bpod's main repository, with a note pointing to your Github repository as its original source.

We should chat more by Email - josh@sanworks.io.

Major thanks for this!

-Josh

Hi Josh

Thank you for you warm message
Here is the repository:
https://github.com/moonfriend/Bpod_cli

Sorry I couldn't really clean it up. I have tested this on a linux machine with octave(command line) and it has worked pretty well.
I hope it comes useful for others.
If you had questions please write me an email or write a message here.

Best Regards

Mahyar

----------------------------
update: So this is a simple non graphical version of Bpod to be used with octave(non graphical: octave --no-gui)
To use it you have run this on an octave command line: Bpod('cli', 'NameOfProtocol', 'NameOfSubject')
The protocol will run and will return to the command line when it is finished. There is no graphical observation or manipulation possible.
Reply


Forum Jump: