-
Notifications
You must be signed in to change notification settings - Fork 369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Attempt to load avi throws importerror #1137
Comments
Note I also have pyav installed. |
I'm looking at this fairly old issue suggesting pims/pyav versioning, but I have most recent releases of each: |
I reproduced this problem in an independent environment (not caiman), and can't load this or other avi files, and am getting this same error. So it seems to be a caiman-independent problem (at least on Windows 10). I'll open an issue over at the pims library. I'm now confused why I didn't see this problem earlier when I tested this notebook on the old master branch. |
Actually, I can reproduce this too (if I force pims to load the movie, bypassing opencv). I wonder why opencv is failing for you) |
Yes I guess that is the bigger more annoying question. I was able to get pims to work by installing with |
Ok for this issue I'm going to just work on what happens after fixing this problem: in my dev env, I Which is I think a useful test, as other things are starting to fail. I'll go through and fix them and do a PR, and we can get back to the weird opencv fail after. |
Fixing the Line 1433 in b3e4b72
So I think we basically have two things to fix here: loading avi with opencv in windows, and fix the |
It looks like opencv will load avi correctly in Windows in version 4.7 of opencv, which just came out recently (a little over two weeks ago). It may be a little while (e.g., release after next) before this is ready for prime time. |
Interesting that on conda-forge, OpenCV seems to have skipped a python 3.10 build. I wonder why things worked out that way. Their build matrix is 3.8/3.9/3.11. |
Actually nevermind that, I misread the binary list. |
(already covered on slack, updating the ticket) Right now tensorflow is going to hold us back from OpenCV 4.7, but only on Windows. conda-forge sometime back migrated from libjpeg to libjpeg-turbo (which was a fork of libjpeg, but not of the final version of it, so the APIs differ a bit - long story) . Most software in the repo got rebuilt. OpenCV hasn't had a release for a very long time (they're very behind in general and have a complex release history), but about half a month ago did their most recent conda-forge release (of code that's considerably older - their next source release came out at about the same time), which finally put them on libjpeg-turbo. We get tensorflow from conda-forge on 2 platforms - osx and linux, and on those platforms it uses libjpeg-turbo. Unfortunately, its least-supported platform, windows, hasn't been available on conda-forge for a long time now, so we get it from defaults there, where it's still built with classic libjpeg. Which is the root of the problem. If you try to include both tensorflow and the "new" opencv in the same project, they won't want to coexist because libjpeg and libjpeg-turbo don't want to coexist in the same environment and that ripples up. I filed an issue against the tensorflow recipe with ContinuumIO (or whatever they're calling themselves nowadays), which despite appearances actually is still how tensorflow is built nowadays (they just use branches weird - look at the non-master branches and you'll see current activity elsewhere). No idea how long if they're open to or even technically could change over just their tensorflow or if this would have to be the entire defaults channel. Either way, let's not hold our breath. A notebook is a promise that things will work. Let's not break it - this is a release blocker, so we'll need to find another way to make this go. |
The issue I filed: |
Other options to get the next release out the door:
|
Fixed in most recent release! |
In Windows 10, dev install, dev branch,
demo_online_cnmfE.ipynb
, when I hit the linemc.motion_correct(save_movie=True)
, I get the following:I have ImageIO installed.
The text was updated successfully, but these errors were encountered: