up [pdf]
from rsf.proj import *

def cube(title,extra=''):
    return '''
    byte gainpanel=all %s | grey3 frame1=20 frame2=20 frame3=20 
    flat=n point1=0.586 point2=0.586 title="%s"
    ''' % (extra,title)

Flow('cube',None,'cube -')
Result('cube',cube('Model'))

Flow('dip','cube','dip rect1=5 rect2=5 rect3=5')

for case in range(2):
    dip = 'dip%d' % case

    Flow(dip,'dip','window n4=1 f4=%d' % case)
    Plot(dip,cube('XY'[case] + ' slope') + ' color=j')

Result('cslope','dip0 dip1','SideBySideIso')

Flow('cmain','cube dip',
     'factorm eps=0.005 dip=${SOURCES[1]} nt=20 nx=20 niter=5 npx=50 npy=50')

Result('cmain','math output="abs(input)" | ' + \
       cube('Prediction Residual','allpos=y'))

End()

sfcube
sfbyte
sfgrey3
sfdip
sfwindow
sffactorm
sfmath