mirror of
https://github.com/stevenrobertson/cuburn.git
synced 2025-03-13 15:01:28 -04:00
Add xfsearch helper.
This commit is contained in:
parent
fcc0911b3b
commit
0384815c8b
49
helpers/xfsearch.py
Normal file
49
helpers/xfsearch.py
Normal file
@ -0,0 +1,49 @@
|
||||
#!/usr/bin/python2
|
||||
|
||||
"""
|
||||
Render multiple versions of a genome, disabling each xform and variation in
|
||||
turn, for use in debugging.
|
||||
"""
|
||||
|
||||
import os, sys, json, scipy, pycuda.autoinit
|
||||
import numpy as np
|
||||
from copy import deepcopy
|
||||
|
||||
sys.path.insert(0, '.')
|
||||
|
||||
from cuburn import genome, render
|
||||
|
||||
prof = dict(fps=24, width=1280, height=720, quality=2500, skip=0, duration=30)
|
||||
|
||||
from main import save
|
||||
|
||||
def main(gnm_path, time):
|
||||
basename = os.path.basename(gnm_path).rsplit('.', 1)[0]
|
||||
rmgr = render.RenderManager()
|
||||
def go(gj, name):
|
||||
gnm = genome.Genome(gj)
|
||||
gnm.set_profile(prof)
|
||||
rt = [('out/%s_%s_%04d.jpg' % (name, basename, time * 10000), time)]
|
||||
for out in rmgr.render(gnm, rt, 1280, 720):
|
||||
save(out)
|
||||
|
||||
gnm = json.load(open(gnm_path))
|
||||
|
||||
for i in gnm['xforms']:
|
||||
xf = gnm['xforms'].pop(i)
|
||||
go(gnm, 'noxf_' + i)
|
||||
gnm['xforms'][i] = xf
|
||||
|
||||
vars = set([v for g in gnm['xforms'].values() for v in g['variations']])
|
||||
for v in vars:
|
||||
g2 = deepcopy(gnm)
|
||||
for x in g2['xforms'].values():
|
||||
x['variations'].pop(v, None)
|
||||
if not x['variations']:
|
||||
x['variations']['linear'] = {'weight': 1}
|
||||
go(g2, 'novar_' + v)
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) != 3:
|
||||
sys.exit('Usage: progname gnmpath render_time_01')
|
||||
main(sys.argv[1], float(sys.argv[2]))
|
Loading…
Reference in New Issue
Block a user