Update homepage video with reproducible napari-animation script#1036
Update homepage video with reproducible napari-animation script#1036TimMonko wants to merge 12 commits into
Conversation
Mmm, this is annoying... Ideally we would expose the camera rotation as quaternions to avoid this. I'll think on how to do this without adding too much special casing.
I think that the fact that all interpolation seems sto be linear (the default) also results in a video that feels "less human". Have you tried playing with that? |
|
Phone post as I see my post from last night is missing: But I wonder if it's too fast??! |
Yep! It's pretty much all linear with a few "step" ones. Once I actually right the review in napari-animation I'll discuss some of the UX issues I had with that. I will play with some of the interpolations -- any recommendations. TBH there are too many so it became overwhelming to try to sort through them. Will play with this though.
Thanks! Curious what you mean by too fast? With the data locally (which is what this specific .webm is from) I get this type of real-time performance, and it's how napari could theoretically work -- though that's where I point out it feels like it's missing the human pauses. I also avoided doing human-impossible things like moving both dims sliders simultaneously. (The exception sort of being rotating the camera and moving the dims slider, but that is technically possible by hitting play on the slider and then interacting with the canvas) As for arbitrary fps, I'm curious what you refer to? I'm a bit confused on the UX (@brisvag) because I can set fps both in the animation-timeline widget and also when I save the video, I'm not sure if they interact, or if the timeline fps was just for tuning. I designed this around 30fps because those videos are smaller but still look smooth enough to me |
There was a problem hiding this comment.
Noting that locally this file is 7.2MB for me, but 1.6MB on github. Interesting, so maybe the remote compresses my compressed file? Anyways, I'm quite happy about that
There was a problem hiding this comment.
Oh Melissa and I think this might be a (secret) delta
|
I'd be in favor of merging and revisiting this later if it bothers people enough! |
|
I don't have much time to prioritize this myself right now either, so if folks want to merge and make changes themselves that would be great! I'm happy with it to go in as is. |
|
Did I correctly understand that this PR depends on forked version of napari animation? Is there an opened PR for that? |
References and relevant issues
Closes #680 🥳 🎉 👏
Description
Reproducibility
napari/napari-animation#261 introduces a timeline-widget to the plugin. I wanted to both practically review this, and take advantage of the easily modifiable and saveable json to redo the homepage video. To accomplish this PR I had to learn quite a bit, including about napari-animation generally, more about zarrs local vs remote, async, and video encoding (this was the hardest part!).
This script uses a uv header and is currently pointed at https://github.com/TimMonko/napari-animation.git@766dbbbcd0ec8607e67f49da0402ad41d4e512fb because this has Windows patches and webm functionality (because webm really is 10X smaller in this scenario).
In the future, re-rendering the homepage is just:
uv run docs/_scripts/homepage_video.py renderOne really cool part of how napari-animation works is that the data can be remote still, the rendering take a long time (because of that) and it still is a 1-to-1 rendering compared to having the data locally 😁
This also serves as functional insight into where napari-animation can/should go.
Design choices
Some opinionated choices include the following, the I think for all of them being able to swap with napari-animation mid timeline would be cool!
magmaLUT instead of grayscale. I like this pop of color and I think it does give a bit of insight into rendering.And more notes