This PR adds two commands to the BDV views. They toggle two new dialogs that let the user configure and record movies from a BDV view. Default shortcuts: ctrl R & ctrl shift R
The first one is used to record movies from the display, as it is currently shown in the BDV.
The second one does the same, but can build a MIP image over a sandwich of images above and below the displayed plane.
The two dialogs look like this:
The code is of course derived from the classes with the same name in the BDV core by Tobias.
I adapted it so that:
The track overlay is also recorded. And possibly projected in the second case.
The colorbar overlay is also recorded.
When building the MIP, take planes above and below, not just below.
It can export the results as a collection of PNG files, like in the original BDV version.
If required, generate a MP4, MOV or AVI movie on the fly, using the io.humble library (https://github.com/artclarke/humble-video). This adds 100MB to the mastodon libs.
Regarding the last point, it would make sense to ship these two commands in a separate, optional repo as a plugin, but we first need a plugin infrastructure that has specific plugin for each view, and attach to a view instance. For instance, we want to launch a plugin that knows of THE BDV window it has been launched on.
This PR adds two commands to the BDV views. They toggle two new dialogs that let the user configure and record movies from a BDV view. Default shortcuts:
ctrl R
&ctrl shift R
The first one is used to record movies from the display, as it is currently shown in the BDV. The second one does the same, but can build a MIP image over a sandwich of images above and below the displayed plane.
The two dialogs look like this:
The code is of course derived from the classes with the same name in the BDV core by Tobias. I adapted it so that:
Regarding the last point, it would make sense to ship these two commands in a separate, optional repo as a plugin, but we first need a plugin infrastructure that has specific plugin for each view, and attach to a view instance. For instance, we want to launch a plugin that knows of THE BDV window it has been launched on.