Changeset 261


Ignore:
Timestamp:
01/22/11 14:35:34 (10 years ago)
Author:
sc
Message:

synapse/synapse-render_video.py:

  • function calling cleanup
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/synapse/synapse-render_video.py

    r260 r261  
    3939##################################################################### 
    4040 
    41         def render_history(): 
    42                  
    43                 #figsize = (8, 6) # 800x600 @ 100 dpi 
    44                 figsize = (2.4, 1.8) # 240x180 @ 100 dpi 
     41def render_history(attention=None, \ 
     42                                                        meditation=None ,\ 
     43                                                        width = 240, \ 
     44                                                        height = 180, \ 
     45                                                        attention_color = 'red', \ 
     46                                                        mediation_color = 'blue', \ 
     47                                                        output_file=DEFAULT_HISTORY_IMAGE_FILE): 
     48         
     49        figsize = (width / 100.0, height / 100.0) # @ 100 dpi 
    4550 
    46                 #fig = plt.figure() 
    47                 fig = plt.figure(figsize=figsize) 
    48                 ax = fig.gca(projection='3d') 
     51        fig = plt.figure(figsize=figsize) 
    4952 
    50                 print dir(ax) 
     53        ax = fig.gca(projection='3d') 
    5154 
    52                 print fig.set_dpi(100) 
     55        cc = lambda arg: colorConverter.to_rgba(arg, alpha=0.6) 
    5356 
    54                 #ax.set_axis_bgcolor('white') 
    55                 ax.set_axis_bgcolor('black') 
     57        xs = numpy.arange(-30, 0, 1) 
     58        verts = [] 
     59        #zs = [0.333, 0.667] 
     60        #zs = [0.25, 0.75] 
     61        zs = [0.2, 0.8] 
    5662 
    57                 cc = lambda arg: colorConverter.to_rgba(arg, alpha=0.6) 
    5863 
    59                 xs = numpy.arange(-30, 0, 1) 
    60                 verts = [] 
    61                 #zs = [0.333, 0.667] 
    62                 #zs = [0.25, 0.75] 
    63                 zs = [0.2, 0.8] 
    64                 for z in zs: 
    65                         ys = numpy.random.rand(len(xs)) 
     64        # Draw Attention History 
     65        if attention == None: 
     66                ys = numpy.random.rand(len(xs)) 
    6667 
    67                         #for y in range(0, len(ys) - 1): 
    68                         for y in range(0, len(ys)): 
     68                #for y in range(0, len(ys) - 1): 
     69                for y in range(0, len(ys)): 
    6970                        ys[y] = ys[y] * 100 # bring random numbers up to the 100's range 
    70                         #ys[0], ys[-1] = 0, 0 
    71                         #ys[0], ys[-1] = 50, 50 
    72                         ys[0] = 0 
    73                         #ys[1] = 50 
     71         
     72        else: 
     73                ys = attention 
     74         
     75        #ys[0], ys[-1] = 0, 0 
     76        #ys[0], ys[-1] = 50, 50 
     77        ys[0] = 0 
     78        #ys[1] = 50 
    7479 
    75                         #print ys 
     80        verts.append(zip(xs, ys)) 
    7681 
    77                         verts.append(zip(xs, ys)) 
    7882 
    79                 poly = PolyCollection(verts, facecolors = [cc('red'), cc('blue')]) 
    80                 #poly.set_alpha(0.7) 
    81                 poly.set_alpha(0.8) 
    82                 ax.add_collection3d(poly, zs=zs, zdir='y') 
     83        # Draw Meditation History 
     84        if meditation == None: 
     85                ys = numpy.random.rand(len(xs)) 
    8386 
    84                 #ax.set_xlabel('X') 
    85                 ax.set_xlim3d(-30, 0) 
    86                 #ax.set_ylabel('Y') 
    87                 ax.set_ylim3d(0, 1) 
    88                 #ax.set_zlabel('Z') 
    89                 ax.set_zlim3d(0, 100) 
     87                #for y in range(0, len(ys) - 1): 
     88                for y in range(0, len(ys)): 
     89                        ys[y] = ys[y] * 100 # bring random numbers up to the 100's range 
     90         
     91        else: 
     92                ys = meditation 
     93         
     94        #ys[0], ys[-1] = 0, 0 
     95        #ys[0], ys[-1] = 50, 50 
     96        ys[0] = 0 
     97        #ys[1] = 50 
    9098 
    91                 #plt.show() 
     99        verts.append(zip(xs, ys)) 
    92100 
    93                 plt.savefig(DEFAULT_HISTORY_IMAGE_FILE, \ 
    94                         dpi=100, \ 
    95                         facecolor='black', \ 
    96                         edgecolor='black', \ 
    97                         format='png', \ 
    98                         pad_inches=0) 
     101 
     102        poly = PolyCollection(verts, facecolors = [cc('red'), cc('blue')]) 
     103        poly.set_alpha(0.8) 
     104        ax.add_collection3d(poly, zs=zs, zdir='y') 
     105 
     106        ax.set_axis_bgcolor('black') 
     107 
     108        ax.set_xlim3d(-30, 0) 
     109        ax.set_ylim3d(0, 1) 
     110        ax.set_zlim3d(0, 100) 
     111 
     112        plt.savefig(output_file, \ 
     113                dpi=100, \ 
     114                facecolor='black', \ 
     115                edgecolor='black', \ 
     116                format='png', \ 
     117                pad_inches=0) 
    99118 
    100119 
    101120        ################################################################## 
    102121 
    103         def render_current_values(): 
     122def render_current_values(x=None, y=None ,\ 
     123                                                                        width = 96, \ 
     124                                                                        height = 720, \ 
     125                                                                        x_color = 'red', \ 
     126                                                                        y_color = 'blue', \ 
     127                                                                        output_file=DEFAULT_CURRENT_VALUES_IMAGE_FILE): 
     128         
     129        figsize = (width / 100.0, height / 100.0) # @ 100 dpi 
     130         
     131        fig = plt.figure(figsize=figsize) 
     132         
     133        ax = fig.add_subplot(111, projection='3d') 
     134         
     135        if x == None: 
     136                x = numpy.random.rand(1)[0] * 100 
     137         
     138        if y == None: 
     139                y = numpy.random.rand(1)[0] * 100 
     140         
     141        if type(x) != type([]): 
     142                x = [x] 
     143         
     144        if type(y) != type([]): 
     145                y = [y] 
    104146                 
    105                 #figsize = (8, 6) # 800x600 @ 100 dpi 
    106                 #figsize = (2, 15) 
    107                 figsize = (0.96, 7.20) # 96x720 @ 100 dpi 
     147        hist, xedges, yedges = numpy.histogram2d(x, y, bins=[2,1]) 
    108148 
    109                 #fig = plt.figure() 
    110                 fig = plt.figure(figsize=figsize) 
     149        elements = (len(xedges) - 1) * (len(yedges) - 1) 
     150        xpos, ypos = numpy.meshgrid(xedges[:-1], yedges[:-1]) 
    111151 
    112                 ax = fig.add_subplot(111, projection='3d') 
    113                 #x, y = np.random.rand(2, 100) * 4 
    114                 #x, y = np.random.rand(2, 100) 
    115                 x, y = numpy.random.rand(2) 
    116                 #x[0] = x[0] * 100 
    117                 #y[0] = y[0] * 100 
    118                 x = [x * 100] 
    119                 y = [y * 100] 
    120                 print x, y 
    121                 #hist, xedges, yedges = np.histogram2d(x, y, bins=4) 
    122                 hist, xedges, yedges = numpy.histogram2d(x, y, bins=[2,1]) 
    123                 #hist, xedges, yedges = np.histogram2d(x, y, bins=[1,2]) 
     152        xpos = xpos.flatten() 
     153        ypos = ypos.flatten() 
     154        zpos = numpy.zeros(elements) 
     155        dx = 0.5 * numpy.ones_like(zpos) 
     156        dy = dx.copy() 
     157        dz = hist.flatten() 
    124158 
    125                 print hist 
    126                 print xedges 
    127                 print yedges 
     159        dx = [0.5] 
     160        dy = [0.5] 
     161        dz = [x, y] 
    128162 
    129                 elements = (len(xedges) - 1) * (len(yedges) - 1) 
    130                 #xpos, ypos = np.meshgrid(xedges[:-1]+0.25, yedges[:-1]+0.25) 
    131                 xpos, ypos = numpy.meshgrid(xedges[:-1], yedges[:-1]) 
     163        ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color=[x_color, y_color], zsort='average') 
    132164 
    133                 xpos = xpos.flatten() 
    134                 ypos = ypos.flatten() 
    135                 zpos = np.zeros(elements) 
    136                 #dx = 0.5 * np.ones_like(zpos) 
    137                 dx = 0.5 * numpy.ones_like(zpos) 
    138                 dy = dx.copy() 
    139                 dz = hist.flatten() 
     165        ax.set_axis_bgcolor('black') 
    140166 
    141                 print 
     167        ax.set_zlim3d(0, 100) 
    142168 
    143                 #xpos = [0, 0] 
    144                 #ypos = [0, 0] 
    145                 #zpos = [[0.],[1.]] 
     169        ax.view_init(10, -120) 
    146170 
    147                 dx = [0.5] 
    148                 dy = [0.5] 
    149                 dz = [x, y] 
    150  
    151                 print xpos,ypos,zpos 
    152                 print dx,dy,dz 
    153  
    154                 #ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color=['red', 'blue'], zsort='average') 
    155  
    156                 ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color=['red', 'blue'], zsort='average') 
    157  
    158                 ax.set_axis_bgcolor('black') 
    159  
    160                 ax.set_zlim3d(0, 100) 
    161  
    162                 ax.view_init(10, -120) 
    163  
    164                 #plt.show() 
    165  
    166                 plt.savefig(DEFAULT_CURRENT_VALUES_IMAGE_FILE, \ 
    167                         dpi=100, \ 
    168                         facecolor='black', \ 
    169                         edgecolor='black', \ 
    170                         format='png', \ 
    171                         pad_inches=0) 
     171        plt.savefig(output_file, \ 
     172                dpi=100, \ 
     173                facecolor='black', \ 
     174                edgecolor='black', \ 
     175                format='png', \ 
     176                pad_inches=0) 
    172177 
    173178 
     
    178183if __name__ == '__main__': 
    179184 
    180         pass 
     185        render_history() 
     186        render_current_values() 
    181187 
Note: See TracChangeset for help on using the changeset viewer.