Bessy Roadmapping and Backlog Grooming 15 Nov 2023
Greg’s Stream of consciousness.
Things to do priority in cleaning code:
- Separate EEGData and ERPData - files are too big
- Move all logging/printing to logger object. Make logger object. This will move a lot of variables around.
- Stop array indexing in flow control, it is is hard to follow. What this means:
- Hunt & Seek thing - style fix for coding.

This is an example. Want to move this away from doing this, but instead put it into a variable, then put it in the code.
- Instead of returning tuples return objects. Tuples - get rid of these if we can, give the thing a name, and make real properties. Instead of returning tuples, can we return a single object and get names for what this is.
- E.g. give words to the data instead of just indexes.
- This is in everything…but very difficult
- Private methods use underscores.
- Will help documentation, cause we can remove what is private which enables them to be removed from the docstrings.
- Inject classifier at initialization. (Inject at init).
- Start-up is slow - make this faster. Optimization in general? We are importing too much at once.
- Creating EEG data is taking a long time for initialization.
- Unit testing - where we can.
- Distinguish between markers and control signals in the code.
- Backwards compatibility
- What does this look like? Who are we screwing over the moment we update python, and then fix those things.
- Might want to think about this earlier rather than later.
- Bessy exits if EEG stream not available.
- Need to make sure we have a clean exit and close the available streams
- Bessy crashes on missing time units member.
- There is a crash if you don’t have a TimeUnitsMember happens, then a crash occurs.
- Bessy is looking for EEG data in this case, the inlet has been created but the
- Test out and look for ghost streams and what might exist upon crashes
- Bessy crashes if trials ends without marked training data
- Bessy crashes if we don’t have enough training data for predictions
- Check if we are getting packet loss
- Handle how we deal with packet loss
- Bessy crashes if we set iterative training to True
- Bessy crashes if stream drops, even for a minute
- BUS Error in Signal processing Bandpass, some NUMPY function is calling memory it isn’t allowed to.
- Unit test exists around Bandpass right now, but isn’t catching this
- Pull out EEG as an object for dependency injection
- Pull out Marker as an object for dependency injection
- Eli will rock it out and split commands
- Pull out observer as an object for dependency injection
- Provide markers asynchronously - When making predictions, need to send in a marker with a given label. We want to have an option to turn on “always on” classifier predictions out.
- Provide prediction probabilities (if possible)