Closed Cardinal3844 closed 9 months ago
hi @Cardinal3844 - thanks for the report and taking the time to make a nice minimal example!
I've whittled it down to a bug in imageio which I've reported at imageio/imageio#992 - in the meantime I would expect that downgrading pillow to some slightly less recent version would solve the issue until an imageio fix is pushed. Does this work for you?
Actually I couldn't find a version that worked, can you suggest one? E.g. I tried Pillow==8.3.2 but still the same error. When I go as low as 8.1.0, I get an exception on install taht Python 3.10 is not supported...
I don't know when things changed upstream, did you try downgrading imageio?
So this has been fixed upstream -- sort of. the fps
is being converted to the new duration
, see:
https://github.com/imageio/imageio/pull/1039/files
(Man is this a UX setback, FPS is easy to grok, while duration per frame in in ms is 🤯 )
I think here I would advocate keeping fps
on our user side but then converting and passing duration
to the writer so when the conversion is dropped everything will keep working here?
I agree 100% with your assessment @psobolewskiPhD, let's keep fps locally and switch between duration and fps depending on the underlying imageio version. Or, just bump the minimum imageio version and always translate to duration. But I agree a lot that fps is better UX.
I did some more testing:
fps
useage by napari-animation first breaks with imageio 2.29.0
duration
works going back to at least 2.13.0 (2 years ago) -- it looks like the old legacy pillow plugin supported/supports both fps and duration.
Also there's already a PR to fix this!
https://github.com/napari/napari-animation/pull/182
So I will get that over the line
I get an error when running this minimal example:
Error:
Seems like the imagio package was updated but napari-animation is still using the old API?
My module versions: