Introduction
Introduction Statistics Contact Development Disclaimer Help
tThin section video function added - sphere - GPU-based 3D discrete element met…
git clone git://src.adamsgaard.dk/sphere
Log
Files
Refs
LICENSE
---
commit 20a8363e249e6bf706fe61c66210feabf14a7b13
parent efc573bf0e26854a149080670227281e4480bb72
Author: Anders Damsgaard <[email protected]>
Date: Fri, 11 Jan 2013 09:24:13 +0100
Thin section video function added
Diffstat:
M python/sphere.py | 34 +++++++++++++++++++++++++++++…
1 file changed, 34 insertions(+), 0 deletions(-)
---
diff --git a/python/sphere.py b/python/sphere.py
t@@ -1308,6 +1308,40 @@ def video(project,
+ "-i " + graphics_folder + project + ".output%05d." + graphics_fo…
+ out_folder + "/" + project + "." + video_format, shell=True)
+def thinsectionVideo(project,
+ out_folder = "./",
+ video_format = "mp4",
+ fps = 25,
+ qscale = 1,
+ bitrate = 1800,
+ verbose = False):
+ ''' Use ffmpeg to combine thin section images to animation.
+ This function will start off by rendering the images.
+ '''
+
+ # Render thin section images (png)
+ lastfile = status(project)
+ sb = Spherebin()
+ for i in range(lastfile+1):
+ fn = "../output/{0}.output{1:0=5}.bin".format(project, i)
+ sb.sid = project + ".output{:0=5}".format(i)
+ sb.readbin(fn, verbose = False)
+ sb.thinsection_x1x3(cbmax = sb.w_devs[0]*4.0)
+
+ # Combine images to animation
+ # Possible loglevels: quiet, panic, fatal, error, warning, info, verbose, …
+ loglevel = "info" # verbose = True
+ if (verbose == False):
+ loglevel = "error"
+
+ subprocess.call(\
+ "ffmpeg -qscale {0} -r {1} -b {2} -y ".format(qscale, fps, bitrate…
+ + "-loglevel " + loglevel + " " \
+ + "-i ../img_out/" + project + ".output%05d-ts-x1x3.png " \
+ + "-vf 'crop=((in_w/2)*2):((in_h/2)*2)' " \
+ + out_folder + "/" + project + "-ts-x1x3." + video_format, \
+ shell=True)
+
def visualize(project, method = 'energy', savefig = True, outformat = 'png'):
""" Visualize output from the target project,
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.