gentnerlab / pyoperant

python package for operant conditioning
BSD 3-Clause "New" or "Revised" License
13 stars 15 forks source link

Major experiment refactoring #100

Closed siriuslee closed 5 years ago

siriuslee commented 8 years ago

I would like to open this and start working through getting this merged into the main code. I have implemented most of the major changes we discussed in #84, #85, #87, and is relevant to #83 because I added support for YAML config files. They are much more easily read and can contain native python objects. We have been running this code successfully for quite a while, so it is stable with the newly implemented go_no_go_interrupt.py behavior. I'd be happy to work with you all to get it working with your behaviors.

neuromusic commented 8 years ago

@siriuslee on first blush, this looks amazing!

in order to integrate this with our active behaviors, I think we're going to...

  1. close this pull request
  2. open a new branch on gentnerlab/pyoperant
  3. clone this into that branch and work on it there

does that sound good?

siriuslee commented 8 years ago

That sounds like a great plan. Let me know what I can do to help you out in getting everything integrated.

siriuslee commented 8 years ago

I've been revisiting these changes and adding documentation to help get my lab up to speed on how everything works. Should I carry forward with this pull request and make a few (probably long) comments on how everything is set to work, or should we move out of this pull request do something else?

neuromusic commented 8 years ago

let's stick with this pull request

siriuslee commented 8 years ago

I just updated this with another major reworking we did when trying to get our awake-behaving experiments up and running. This has made creating new behaviors a lot easier on our end and I think is overall a much more modular and clean solution for the behavior side of pyoperant. The hardware side remains largely unchanged. On the hardware side, I mostly added documentation plus a few more abstractions that seemed useful when adding support for pylibnidaqmx. It would be great if we could get this into a branch on the main repository and begin the integration process. I would be happy to help with re-writing the behaviors that are currently in the main repo.