Ejemplo n.º 1
0
    def __init__(self,
                 log,
                 pipeline,
                 sigma,
                 outdir,
                 tracks_filename,
                 interval=None,
                 min_led_distance=0,
                 weight_others=0,
                 detect_smooth_sigma=1.0,
                 detect_neighbors=10,
                 write_png=False):

        # get configuration
        blink_detect_config = get_blink_config(log)

        # create trackers
        frequencies = blink_detect_config.get_frequencies()
        self.trackers = []
        for f in frequencies:
            others = list(frequencies)
            others.remove(f)
            tracker = TrackerFixedFreq(f,
                                       others=others,
                                       others_weight=weight_others,
                                       sigma=sigma,
                                       interval=interval)
            self.trackers.append(tracker)

        # start track log


#        tracks_filename = os.path.splitext(log)[0] + '.%s.tracks' % suffix
        self.tracklog = AERTrackLogWriter(tracks_filename)
        params = dict(frequencies=frequencies,
                      sigma=sigma,
                      weight_others=weight_others,
                      interval=interval)
        self.tracklog.write_comment('params: %s' % params)

        # open files
        if False:
            raw_sequence = aer_load_log_generic(log)
            self.transitions = aer_pipeline_transitions1(
                raw_sequence, pipeline)
        else:
            self.transitions = aer_pipeline_transitions1_all(log, pipeline)

        # save params needed later
        self.detect_smooth_sigma = detect_smooth_sigma
        self.detect_neighbors = detect_neighbors
        self.min_led_distance = int(min_led_distance)
        self.write_png = write_png
        self.outdir = outdir