From f7012e467021614d0832166fce12e4f16ea18eca Mon Sep 17 00:00:00 2001 From: Noe Brucy Date: Tue, 6 Jul 2021 10:00:29 +0200 Subject: [PATCH] [plotter] add basic movie feature --- plotter.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/plotter.py b/plotter.py index 2250626..9f21eff 100644 --- a/plotter.py +++ b/plotter.py @@ -26,6 +26,7 @@ if os.environ.get("DISPLAY", "") == "": import datetime import matplotlib.pyplot as plt +from moviepy.video.io import ImageSequenceClip import pspec_read from baseprocessor import Rule, BaseProcessor @@ -265,6 +266,8 @@ class Plotter(Aggregator, BaseProcessor): select=None, ax=None, from_cells=False, + movie=False, + movie_fps=15, **kwargs, ): """ @@ -373,6 +376,14 @@ class Plotter(Aggregator, BaseProcessor): self.simulations[run].snapshots.add(snap) datafiles.append(df) + + if movie: + filenames = [df[filetype] for df in datafiles] + clip = ImageSequenceClip(filenames, fps=movie_fps) + movie_filename = self._find_filename(name_full) + movie.filename = os.path.splitext(movie_filename)[0] + ".mp4" + clip.write_videofile(movie_filename) + return datafiles def _plot_rule(