YttriLab / B-SOID

Behavioral segmentation of open field in DeepLabCut, or B-SOID ("B-side"), is a pipeline that pairs unsupervised pattern recognition with supervised classification to achieve fast predictions of behaviors that are not predefined by users.
GNU General Public License v3.0
190 stars 54 forks source link

TypeError when generating synchronized B-SOID video in analysis app #52

Open pnair7 opened 2 years ago

pnair7 commented 2 years ago

I am trying to generate the side-by-side video in the analysis app, and am running into the following error when I click the "Generate synchronized B-SOID video" button. A possible issue is the file input "Which file corresponds to the video?", as it's unclear to me which file is meant to be passed in here. (Currently, I am passing in the .h5 pose data file from DeepLabCut.) If it's important, I am running B-SOID using the Streamlit app on Windows.

TypeError: slice indices must be integers or None or have an __index__ method

Traceback:
File "C:\ProgramData\Anaconda3\envs\bsoid_v2\lib\site-packages\streamlit\script_runner.py", line 332, in _run_script
    exec(code, module.__dict__)
File "C:\Users\xxxx\Documents\B-SOID\bsoid_app\bsoid_analysis.py", line 49, in <module>
    video_generator.main()
File "./bsoid_app\analysis_subroutines\video_analysis.py", line 95, in main
    self.generate()
File "./bsoid_app\analysis_subroutines\video_analysis.py", line 77, in generate
    self.working_dir, self.width, self.height)
File "./bsoid_app\analysis_subroutines\analysis_utilities\visuals.py", line 251, in umap_scatter
    umap_x, umap_y = embeds[mov_range[0]:mov_range[1], 0], embeds[mov_range[0]:mov_range[1], 1]

Thanks!