Feature: support webcams for behavior recording#144
Conversation
Pull Request Test Coverage Report for Build 19775939086Details
💛 - Coveralls |
|
will take a look after holiday, but yes I want to refactor all the devices into |
|
Thanks, that sounds great to me. The quality fixes on my end for getting this into main will probably happen after finishing the upcoming experiments, so no rush at all. |
|
Also, more as a note to myself, this is pretty much the same pattern as |
|
I think u are gonna have fun with noob |
|
I think ultimately the interface we will want is one where all the different types of cameras have a shared interface, and the config determines what class/etc. Is used to implement that interface. So we would want to be able to do then stuff for specific device types would be like BC eventually we will want to be able to do like |
696c6ee to
b1628cf
Compare
|
Makes sense. I think about the combining thing a bit later. |
|
Something that might be a rather fundamental limitation here is that the |
|
Ope I missed that. Yep that's a must fix |
|
@t-sasatani says: ready except for testing |
3bb241b to
88d11d6
Compare
|
Will be pretty noisy for a while as I'm having trouble reproducing the skvideo frame drop. |
c907f38 to
5680111
Compare
|
Probably getting too obsessed, but one issue was that the moov atom isn't set properly on Windows/skvideo after ending recording with But I can't think of a way to emulate this in CI/CD in a way that makes sense, so I just changed to use |
|
|
|
So we could live without |
5e9c90c to
a15128c
Compare
Updates
mio/behavior_cam.py: Multiprocess behavior cam runner. Very similar tostream_daq.mio/io.py: Addcv2backend to videowritermio/cli/usbcam.py: CLI for behavior camera. Mostly matches thestream capturepattern, but has additional interfaces for camera listing and selection.mio/data/config/camera/*.yaml: Example config for cameramio/devices/mocks.py: AddedUSBCamMock. Similar toOKDevMockbut uses.npzfor data as this is mainly generated by the test fixture.mio/devices/usbcam.py: Helper functions for the camera.mio/models/usbcam.py: Model for the webcam.mio/utils.py,mio/stream_daq.py: Moveexact_itertoutils.pyfor reusing.Misc
This started from porting functionalities of the following repo:
https://github.com/MarcelMB/ELP_behavior_wide_lens_camera
📚 Documentation preview 📚: https://miniscope-io--144.org.readthedocs.build/en/144/