Example #1
0
    def onclick(self, event):
        click_x=event.xdata
        if event.button==1 and click_x<self.right_bound:
            self.left_bound=click_x
        elif event.button==3 and click_x>self.left_bound:
            self.right_bound=click_x
        for subplot_ax in self.figure.axes:
            if len(subplot_ax.lines) > 1:
                subplot_ax.lines[-1].remove()
                subplot_ax.lines[-1].remove()
            subplot_ax.axvline(x=self.left_bound, visible=True, color="yellow")
            subplot_ax.axvline(x=self.right_bound, visible=True, color="red")
        self.figure.canvas.draw()
        
        subsignal=Signal.get_subsignal(self.signal, self.left_bound,
                                       self.right_bound)
        if self.callback:
            plt.close(self.callback)
        self.callback=plt.figure()
        plt.figure(self.callback.number)
        display_signal(subsignal, True)

        plt.figure(self.figure.number)
Example #2
0
def main():
    parser=ArgumentParser()
    parser.add_argument("--log", "-l", required=True)
    parser.add_argument("--output", "-o", required=True)
    args=parser.parse_args()

    signal=Signal.read_3d_csv(args.log)
    print("Length: %d" % len(signal.time))
    time_diffs=np.diff(signal.time)
    print("dt: %f..%f" % (min(time_diffs), max(time_diffs)))


    cutter=LogCutter(signal)
    working_figure=plt.gcf()
    display_signal(signal, False)
    #print(working_figure.number)
    cutter.connect(working_figure)

    plt.show()

    subsignal=Signal.get_subsignal(signal, cutter.left_bound,
                                   cutter.right_bound)

    Signal.save_csv(subsignal, args.output)