LorenFrankLab / spyglass

Neuroscience data analysis framework for reproducible research built by Loren Frank Lab at UCSF
https://lorenfranklab.github.io/spyglass/
MIT License
89 stars 41 forks source link

Add new videos to DLC project after project has been inserted into spyglass #698

Open emreybroyles opened 9 months ago

emreybroyles commented 9 months ago

Is your feature request related to a problem? Please describe. There is no way to add videos or new labeled data to a Deep Lab Cut project created in spyglass.

Describe the solution you'd like I would like the DLC function deeplabcut.add_new_videos(config, videos, extract_frames=True) to be implemented in our DLC-spyglass pipeline, such that we can add new videos to be extracted and labeled in an already-created DLC project.

Additional context I tried to follow directions here and created the notebook "tempDLC-add-new-videos.ipynb" which can be found in /home/ebroyles/Src/spyglass/notebooks/eb_notebooks/DLCNotebooks, but I could not get the function to work

edeno commented 7 months ago

@emreybroyles did you figure out how to do this at any point or is this still an issue?

emreybroyles commented 7 months ago

@edeno still an issue, but i haven't looked into it in a while. It isn't a necessary/urgent update, but it would be a nice feature to have so that we can reduce the total number of models produced (instead of creating a new project & model each time you want to add videos), and it would allow for people with similar projects (same track or sleep box set-up) to use a previously-created model and add their own videos to it.

edeno commented 7 months ago

That makes sense. @samuelbray32 not urgent but this should probably go on the list of handy features for the position pipeline to work on.

samuelbray32 commented 7 months ago

@emreybroyles Is the idea to add new videos to train the model on or new videos to apply the model to?

emreybroyles commented 7 months ago

@samuelbray32 The idea would be to add new videos to re-train the model, which means somehow adjusting the weights given to each video in the model's creation & being able to utilize the original trained model (but not totally clear about this detail). We can already apply any model to any video once it is created, in the part of the pipeline where we populate position.

samuelbray32 commented 7 months ago

Got it, just wanted to check if there was an easy pre-existing answer