from cozmo_fsm import *
import matplotlib.pyplot as plt

class Histogram(StateMachineProgram):

    class PlotIntensity(StateNode):
        def start(self,event=None):
            super().start()
            img = np.array(self.robot.world.latest_image.raw_image)
            pixels = tuple(img[:,:,1].flat)
            plt.hist(pixels, bins=25)
            plt.show()
            self.post_completion()

    def setup(self):
        """
            StateNode() =T(2)=> self.PlotIntensity()
        """
        
        # Code generated by genfsm on Mon Feb 18 06:30:37 2019:
        
        statenode1 = StateNode() .set_name("statenode1") .set_parent(self)
        plotintensity1 = self.PlotIntensity() .set_name("plotintensity1") .set_parent(self)
        
        timertrans1 = TimerTrans(2) .set_name("timertrans1")
        timertrans1 .add_sources(statenode1) .add_destinations(plotintensity1)
        
        return self
