-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add timer for surface finding #1228
base: develop
Are you sure you want to change the base?
Conversation
This seems like an ephys specific feature, and not a behavior feature. |
I would say they are behavior+ephys features. We are using the GUI to control the start/stop of OpenEphys GUI. The advantage is that we can retrieve the settings from OpenEphys, which are used to generate the session metadata. |
We need a clear plan for what ephys+behavior features are going to be in the GUI, and what will be dedicated software. We are adding significant complexity to the GUI to handle unusual ephys situations that would be easier to maintain in a separate piece of software |
|
I'm not asking for a perfect solution - I want a plan for a solution. If we can't have stand-alone ephys control (or its slow to be available), then we need a plan for how ephys and behavior interact. Otherwise the code gets messy and hard to maintain very quickly. |
I feel that the influence of this PR might be a bit overstated. The functionality is quite straightforward, similar to a timer used in photometry or the start/stop functions for photometry or a camera. While these standalone systems (e.g., Spinnaker software) have their own controls, they still need to communicate with the behavior GUI for synchronization. What we’re doing here follows the same principle. The ephys system remains standalone, but we’re using the behavior GUI to control its start/stop and to extract parameters for metadata generation. Were you perhaps referring to a different aspect? I’m having difficulty understanding how such a simple function could make the GUI gets messy and hard to maintain very quickly. Additionally, what kind of plan do you want? Who do you think we should involve in a discussion to ensure we approach this issue effectively? |
Its not this PR alone, its the multiplicative effect of new features that are added without a larger plan. For example your other open PR about disabling manifest upload for ephys. Bugs get created when this little features don't align properly. We haven't been planning things out well, and as a result we are buried under technical debt. Lets try to improve our software development going forward. Note that I'm trying to impose this same degree of planning on the rest of the GUI too. Micah is working on adopting the data models from Aind.Behavior.Services, to help organize the code. A plan looks like a written document of how the GUI and ephys tools should interact. Detailing:
|
I understand your concerns, and I’m open to discussing specific ways to improve the system. I believe this concern is being overemphasized. These features are straightforward and unrelated to the functionality of the ephys software. They simply serve as start/stop functions, much like those used for photometry and camera control. If this level of concern applies here, do you also have plans to propose updates to the photometry and camera systems for consistency? |
Pull Request instructions:
Describe changes:
Add a timer for ephys recording when the condition type is set to "surface finding." The recording will automatically prompt the user for confirmation to terminate once the timer ends. Additionally, the user will have the option to manually stop the recording at any time during the session.
What issues or discussions does this update address?
It's more convenient to have a timer for the "surface finding".
Describe the expected change in behavior from the perspective of the experimenter
No
Describe any manual update steps for task computers
No
Was this update tested in 446/447?
Tested in 323_Ephys3