NeLy-EPFL / DeepFly3D

Motion capture (markerless 3D pose estimation) pipeline and helper GUI for tethered Drosophila.
GNU Lesser General Public License v3.0
89 stars 17 forks source link

Update scipy / opencv / matplotlib / numpy versions #43

Closed jasper-tms closed 1 month ago

jasper-tms commented 6 months ago

In d8f4b88 we relaxed the scipy version requirement a bit, but scipy==1.4.1 still only has wheels for python3.8 and below (see available wheels at https://pypi.org/project/scipy/1.4.1/#files). The latest version of scipy currently is 1.13.0, which has wheels for python3.9 to python3.12. We should try just unpinning the scipy version to let pip install the latest version that's compatible with the version of python the user is trying to use. If unpinning breaks things, there might be some work to do to get everything to run with a more modern python version. Maybe aim for 3.10 or so.

This will also fix https://github.com/NeLy-EPFL/DeepFly3D/security/dependabot/2

I can get around to doing this sometime, though @azmaite if you're testing/using this code soon feel free to give the updated scipy a try.

jasper-tms commented 6 months ago

Oh the JB_stable branch already has scipy unpinned. It has been a while but iirc I was using that branch and didn't have any problems, so probably we can merge it into master and call it a day.

jasper-tms commented 5 months ago

I'm trying to get everything running with python3.10 and recent versions of a bunch of standard packages:

I've pushed some commits to the jsp-bugfixes branch that were necessary for this. With these commits, things overall work -- I'm getting 2D and 3D pose estimations that look to be correct on new data and on the data in the sample/test/ folder.

Remaining things to figure out:

jasper-tms commented 5 months ago

numpy 2.0.0 was just released (https://pypi.org/project/numpy/), so as part of this issue I should also see what needs to be done to get deepfly3d to run with that

jasper-tms commented 2 months ago

There's a dependabot warning that there's a vulnerability in opencv-python versions below 4.8.1.78. That will be addressed when this issue is closed since I've tested with opencv-python 4.9.x