Replies: 11 comments 3 replies
-
My main reason to support Option 2 is flexibility and independence-generating rig.json should be independent from the current behavior GUI. The advantage is that 1) it will make the code much easier to maintain and expand. 2) It's more flexible to generate rig metadata both for behavior and ephys rigs. 3) People can generate rig metadata without using the behavior GUI. My suggestion is to combine Alex's current PR (#447) with my code (https://github.com/AllenNeuralDynamics/CTLUT-metadata-gen/blob/generate_rig_metadata/src/CTLUT_metadata_gen/generate_rig_metadata.py). Keep the check for changes section from Alex's code and use the build rig.json from my code. If we agree on this combination, I can make some changes based on Alex's current PR. |
Beta Was this translation helpful? Give feedback.
-
I also support having a separate repo for generating rig metadata. I think it makes sense to keep this independent of the behavior GUI so it can be reused by multiple projects. |
Beta Was this translation helpful? Give feedback.
-
If we choose Option 2, I think it makes sense to ask Sci Comp to develop and maintain such a separate repo with the metadata information we provide. Otherwise, it's hard to coordinate across different rigs. However, I don't know if this is acceptable in terms of time, since rig.json is now blocking our next steps using the AIND data upload pipeline. |
Beta Was this translation helpful? Give feedback.
-
I strongly advocate that we merge #447 in, which will also us to generate rig.json files immediately. If we want to pursue a stand alone repo, we can do that on a longer timescale. My code is future-proofed - its easy to simply swap the function call to a stand alone repo. I'll point out that currently Xinxin's CTLUT_metadata package depends on the dynamic-foraging-task to parse water calibration files. So if the GUI is dependent on the CTLUT_metadata package it will create a circular dependency. Easy to remove, just pointing out the potential issue. |
Beta Was this translation helpful? Give feedback.
-
There is already a repo maintained by Sci Comp for this, but it's not widely used: https://github.com/allenneuraldynamics/aind-metadata-mapper/ It sounds like there are three stages needed:
|
Beta Was this translation helpful? Give feedback.
-
I support Option#1 for now, primarily because of the expected time-line (yes, we should proceed to transfer data to AWS before long). At least more than 24rigs in 446/447 (+428) are standardized/identical rigs. Integrated |
Beta Was this translation helpful? Give feedback.
-
I'll go ahead and approve PR #447, and then let's work on Josh's steps 2 and 3. |
Beta Was this translation helpful? Give feedback.
-
Let's first work on merging #447 given the urgency. And optimize it later. |
Beta Was this translation helpful? Give feedback.
-
I'm late to the party, but I think this warrants some in-person discussion. It's not clear to me how long it will take to implement Alex's option 2 (preferable long term, but we may need a short-term solution for now). I'll follow up. |
Beta Was this translation helpful? Give feedback.
-
In case we want to use these features, I extended the CTLUT metadata project to allow automatic scraping of open ephys settings files here: gcamp8-ephys-metadata-gen) ( I think it would be great to have a library that builds as much of the metadata as possible from files or other ways software can interrogate the rig. For the rest of the unconnected devices, @dyf suggested we all maintain our own scripts or something similar since the path to making a formalism to produce metadata can lead to madness. I think hijacking a repo that works as is for Anna's CTLUT project is not the best approach. We should just make a new repo if we're going to make a new effort. Strongly agree that metadata generation should be outside of the GUI, though for now the perfect shouldn't be the enemy of the good, and we should use the solution we have. |
Beta Was this translation helpful? Give feedback.
-
Considering the diverse aspects of ephys projects across different rigs, it seems more practical to have a separate repository dedicated to generating rig metadata for ephys rigs outside of the GUI. During our discussion about ephys metadata last month, it became clear that developing a common repository to handle rig metadata for different rigs presents significant challenges. However, for training rigs in rooms 446 and 447, generating standardized rig metadata through the Foraging GUI would simplify maintenance and ensure consistency across various experiments, including optogenetics and photometry. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Following up on the discussion in the 05/21/2024 behavior meeting on the creation of rig.json metadata.
Requirements:
Option 1 (implemented in #447)
ForagingSettings.json
, andSettings_box#.csv
to create the rig.json metadata. It will check the saved version on the computer. If anything is out of date, the new version will be saved.Settings_box#.csv
, and the rig.json will be automatically updated on the next sessionForagingSettings.json
that skips the rig.json generation, and they can supply their own (both ephys1 and ephys3 already have implementations)Option 2(proposed by Xinxin)
Settings_box#.csv
), which lists all the componentsI prefer option 1 because I think the ephys rigs are significantly more complex, and are going to update much more frequently. However if option 2 is implemented well, it could work, and I don't oppose it as long as manual interventions/code updates to the training rigs are not required except at implementation. At the very least, I think we should merge in option 1 so we have rig metadata while we think about/develop option 2.
Thoughts?
@JeremiahYCohen @jsiegle @XX-Yin @hanhou @hagikent @galenlynch @KanghoonJ
Beta Was this translation helpful? Give feedback.
All reactions