SainsburyWellcomeCentre / aeon_experiments

Experiment workflows for Project Aeon
BSD 3-Clause "New" or "Revised" License
2 stars 0 forks source link

Consider moving rig testing and calibration workflows to reusable acquisition package #308

Open glopesdev opened 1 year ago

glopesdev commented 1 year ago

The growing number and complexity of foraging arena components requires the development of self-contained hardware and system integration tests to ensure both the correct functioning and calibration of the rig elements, e.g. feeder delivery and torque measurements, RFID testing, camera calibration, etc.

These tests cut across the different experimental protocols, since they are associated with quality-control of the entire arena structure. As such, it makes sense to have some kind of reusable and pluggable module that is available to include in protocols.

Considerations:

Proposals:

[!Note] The below are not mutually exclusive and combinations might be advantageous, e.g. reusable acquisition testing modules could be included in the running environments powering the aeon tests repo.

New experiments branch (tests)

Pros:

Cons:

New aeon package (Aeon.Testing)

Pros:

Cons:

New aeon repository (aeon_tests)

Pros:

Cons:

Include tests together with hardware module repositories

Pros:

Cons:

jkbhagatio commented 1 year ago

Comments from #308 (closed as duplicate):

from @RoboDoig

aeon_experiments should have a standard structure for tracking benchmarking and calibration experiments related to the main aeon experiments.

Proposal is to have a branch off main called 'rig-qc'. For specific benchmarking experiments a new branch is created off rig-qc. The folder structure for benchmark worflows/analysis/data is:

workflows

  • tests
  • Readme (general readme for how to set up benchmark folder)
  • bonsai (contains env for the benchmark)
  • analysis
  • qc-workflows
  • Readme (purpose of benchmark, data location on ceph etc.)

from @jkbhagatio

Actually if we're not enforcing for qc stuff via the LogController, and if we end up having and keeping many branches branched off of 'rig-qc' that don't ever get merged back in, I may be inclined to go back to having all qc stuff in a separate repo. Let's discuss further again.

jkbhagatio commented 1 year ago

Every QC project / folder should have at a minimum:

This would rougly follow the structure in root of the 'aeon_experiments' repo: image