Skip to content

Feat metadata mapping - #63

Merged
micahwoodard merged 67 commits into
mainfrom
feat-metadata-mapping
Jul 28, 2026
Merged

Feat metadata mapping#63
micahwoodard merged 67 commits into
mainfrom
feat-metadata-mapping

Conversation

@micahwoodard

@micahwoodard micahwoodard commented Apr 13, 2026

Copy link
Copy Markdown
Collaborator

Adds metadata mapping for acquisition, instrument, and data description as well as a cli. Based of vr foraging metadata mappers. Also some fixes for coupled trial generator. There are some things in data description like funding and investigators that need to be worked out

Comment thread src/aind_behavior_dynamic_foraging/data_contract/_dataset.py
Optional[float]: Total volume of water consumed in milliliters, or None if unavailable.
"""

trial_outcomes = dataset(session_path)["Behavior"]["SoftwareEvents"]["TrialOutcome"].load().data["data"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can validate this with the TrialOutcome pydantic class to make your life easier

Comment thread src/Extensions/bonsai.py
Comment thread workspace/aind_behavior_dynamic_foraging_metadata_mapper/pyproject.toml Outdated
@micahwoodard

Copy link
Copy Markdown
Collaborator Author

@arielleleon @saskiad this is the pr mapping the dynamic foraging output into an acquisition and instrument model.

@micahwoodard

Copy link
Copy Markdown
Collaborator Author

Updates mapper to classes to match vr foraging. resolves #97

@micahwoodard

Copy link
Copy Markdown
Collaborator Author

acquisition.json
instrument.json

@alexpiet these are new files generated with fixes for issues found in #107. There a couple of things I noted in the issue that will take more work

@alexpiet

Copy link
Copy Markdown
Collaborator

Taking another look at these, more feedback

  • acquisition, the water calibration has repeated information under the input/output, and then under fit/fit_parameters/measurements. Its confusing to me. I'm not sure if this is the way the schema is designed, or a choice you are making.
  • The water calibration is duplicated in both acquisition and instrument, to me it makes more sense in instrument. But someone from scicomp should weigh in
  • This is feedback on the calibration itself, but it appears we do 200 repeats at valve_open_time of 0.02, and 1000 repeats at 0.03 and 0.04. Why the difference?
  • instrument/components/camera, why is the camera model, frame_rate, recording_software not listed?
  • instrument/components/lens, why is there no model information?
  • instrument/components/behavior board, why is firmware/hardware/core/tag version not listed? (similarly for the white rabbit and sound card and environment sensor)
  • lickspout stage has no information about model or manufacturer

@micahwoodard

Copy link
Copy Markdown
Collaborator Author

merging since this has been running as acquisition code for testing for about ~2 months. Can continue to iterate on metadata mapping as issues arise

@micahwoodard
micahwoodard merged commit 53ec3ff into main Jul 28, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants