In [1]:
import math
import networkx.drawing.layout
import IPython.display
In [2]:
from pikov import pikov, visualization
gamekitty = pikov.Pikov.open('gamekitty.pikov')
In [12]:
gamekitty
Out[12]:
In [3]:
stand_waggle = gamekitty.get_frame('stand_waggle_0')
stand_waggle
Out[3]:
In [4]:
stand_waggle.transitions[0]
Out[4]:
In [5]:
stand_waggle.transitions[0].target
Out[5]:
In [6]:
gamekitty.get_image('md5-9b084a2f4cc7a7f940fac47ebe710c45')
Out[6]:
In [7]:
#sit = gamekitty.get_clip('sit')
#sit_to_stand = gamekitty.get_clip('sit_to_stand')
#sit_paw = gamekitty.get_clip('sit_paw')
#stand_to_sit = gamekitty.get_clip('stand_to_sit')
#sit + sit_to_stand + clip + clip + stand_to_sit + sit_paw
In [ ]:
graph = gamekitty.to_networkx()
svg = visualization.render_svg(graph)
IPython.display.display(IPython.display.SVG(data=svg))
In [37]:
sit_nodes = [gamekitty.get_frame('sit_0')] + [
gamekitty.get_frame(f'sit_to_stand_{index}') for index in range(4)
] + [
gamekitty.get_frame(f'stand_waggle_{index}') for index in range(2)
] + [
gamekitty.get_frame(f'stand_to_sit_{index}') for index in range(5)
]
paw_nodes = [gamekitty.get_frame(f'sit_paw_{index}') for index in range(3, -1, -1)]
shell_layout = networkx.drawing.layout.shell_layout(graph, [paw_nodes, sit_nodes])
IPython.display.display(IPython.display.SVG(data=visualization.render_svg(shell_layout, frames, transitions)))
In [ ]: