Python wrapper for running instances of trisurf-ng
Samo Penic
2017-01-15 d55834e161e1f79b7685bb56202f48914b083364
Added possibility of setting the VTU color mapper. Color palete is not yet implemented.
4 files modified
26 ■■■■ changed files
networkedExample.py 4 ●●●● patch | view | raw | blame | history
nir_log 5 ●●●● patch | view | raw | blame | history
trisurf/VTKRendering.py 12 ●●●●● patch | view | raw | blame | history
trisurf/analyses.py 5 ●●●●● patch | view | raw | blame | history
networkedExample.py
@@ -2,7 +2,7 @@
from trisurf import trisurf
from trisurf import tsmgr
from trisurf import analyses
#Ok... Configure your keys:
@@ -42,6 +42,6 @@
hosts=({'name':'natalie','address':'kabinet.penic.eu', 'runs':Runs, 'username':'samo', 'remotebasepath':'simulations-test/subdir/subdir'},
    {'name':'Hestia','address':'127.0.0.1', 'runs':Runs, 'username':'samo'})
analyses={'analysis1':analyze,'webReport':testWebAnalysis}
analyses={'analysis1':analyze,'webReport':testWebAnalysis,'runningavg':analyses.plotrunningavginteractive}
tsmgr.start(hosts, analyses=analyses)
nir_log
@@ -54,9 +54,12 @@
    from trisurf import analyses
    analyses.plotColumnFromPostProcess(run,column='VertexMoveSucessRate',filename='statistics.csv',**kwargs)
def runningavgc0(run, **kwargs):
    from trisurf import analyses
    analyses.plotrunningavginteractive(run, scalar_field='spontaneous_curvature', **kwargs)
#start manager with configured runs
tsmgr.start(Runs, analyses={'demo':analyses.demo,'runningavg':analyses.plotrunningavginteractive, 'plothbar':analyses.plotColumnFromPostProcess, 'plotvol':plotvolume, 'plotbondrate':plotbondrate})
tsmgr.start(Runs, analyses={'demo':analyses.demo,'runningavg':analyses.plotrunningavginteractive, 'plothbar':analyses.plotColumnFromPostProcess, 'plotvol':plotvolume, 'plotbondrate':plotbondrate, 'runningavgC0':runningavgc0})
#here is how we combine statistics of multiple runs
#statistics.combine([Runs[1],Runs[2]])
trisurf/VTKRendering.py
@@ -80,11 +80,12 @@
class Renderer:
    def __init__(self,args,host,run, timestep=-1):
    def __init__(self,args,host,run, timestep=-1, scalar_field='vertices_idx'):
        self.host=host
        self.args=args
        self.run=run
        self.timestep=timestep
        self.scalar_field=scalar_field
        self.renderer = vtkRenderer()
        self.actor=self.lastActor()
        self.textactor=self.textActor()
@@ -137,10 +138,19 @@
        reader.SetFileName(self.filename)
        reader.Update() # Needed because of GetScalarRange
        output = reader.GetOutput()
        output.GetPointData().SetActiveScalars(self.scalar_field)
        scalar_range = output.GetScalarRange()
        mapper = vtkDataSetMapper()
        mapper.SetInputData(output)
        mapper.SetScalarRange(scalar_range)
        #color lookuptables
        #lut = vtk.vtkLookupTable()
        #lut.SetHueRange(0.5, 0.6)
        #lut.SetSaturationRange(0, 1)
        #lut.SetValueRange(0, 1)
        #mapper.SetLookupTable(lut)
        # Create the Actor
        actor = vtkActor()
trisurf/analyses.py
@@ -13,7 +13,8 @@
    print(kwargs.get('args',None))
def plotrunningavginteractive(run, **kwargs):
# can be wrapped to specify scalar_field)
def plotrunningavginteractive(run, scalar_field='vertices_idx', **kwargs):
    import matplotlib.pyplot as plt
    from trisurf import VTKRendering as vtk
    import math
@@ -26,7 +27,7 @@
            avg.append(np.average(col[:-i]))
        return avg
    def spawned_viewer(n):
        vtk.Renderer(kwargs.get('args', None),kwargs.get('host',None),run, n)
        vtk.Renderer(kwargs.get('args', None),kwargs.get('host',None),run, timestep=n,scalar_field=scalar_field)
    fig=plt.figure(1)
    ra=running_avg(table['hbar'])