Ejemplo n.º 1
0
    def plot(self, pylab):
        tracks = self.input.tracks
        track2color = get_track_colors(tracks)  
        for id_track, particles in enumerate_id_track(self.input.tracks):
            color = track2color[id_track]
            bound = particles['bound']
            score = particles['score']
            pylab.scatter(bound, np.log(score), marker='s', color=color)
        
        min_score = np.min(particles['score'])
        max_score = np.max(particles['score'])
        
        if self.min_score is None:
            self.min_score = min_score
            self.max_score = max_score
            
        self.min_score = min(self.min_score, min_score)
        self.max_score = min(self.max_score, max_score)
             
#        a = pylab.axis()
#        pylab.axis((-1, 30, a[2], a[3]))
        M = 0.1
        y0 = np.log(self.min_score)
        y1 = np.log(self.max_score)
        delta = y1 - y0
        y0 -= M * delta
        y1 += M * delta
        
        pylab.axis((-1, 30, y0, y1))
        pylab.xlabel('spatial uncertainty (pixels)')
        pylab.ylabel('score')
        pylab.title('Particles statistics')
Ejemplo n.º 2
0
    def plot(self, pylab):
        tracks = self.input.tracks
        track2color = get_track_colors(tracks)
        for id_track, particles in enumerate_id_track(self.input.tracks):
            color = track2color[id_track]
            bound = particles['bound']
            score = particles['score']
            pylab.scatter(bound, np.log(score), marker='s', color=color)

        min_score = np.min(particles['score'])
        max_score = np.max(particles['score'])

        if self.min_score is None:
            self.min_score = min_score
            self.max_score = max_score

        self.min_score = min(self.min_score, min_score)
        self.max_score = min(self.max_score, max_score)

        #        a = pylab.axis()
        #        pylab.axis((-1, 30, a[2], a[3]))
        M = 0.1
        y0 = np.log(self.min_score)
        y1 = np.log(self.max_score)
        delta = y1 - y0
        y0 -= M * delta
        y1 += M * delta

        pylab.axis((-1, 30, y0, y1))
        pylab.xlabel('spatial uncertainty (pixels)')
        pylab.ylabel('score')
        pylab.title('Particles statistics')
Ejemplo n.º 3
0
 def plot(self, pylab):
     tracks = self.input.tracks
     track2color = get_track_colors(tracks)  
     for id_track, particles in enumerate_id_track(self.input.tracks):
         color = track2color[id_track]
         plot_particles(pylab, particles, color)
         
     set_viewport_style(pylab)
     pylab.title('Particles')
Ejemplo n.º 4
0
    def plot(self, pylab):
        tracks = self.input.tracks
        track2color = get_track_colors(tracks)
        for id_track, particles in enumerate_id_track(self.input.tracks):
            color = track2color[id_track]
            plot_particles(pylab, particles, color)

        set_viewport_style(pylab)
        pylab.title('Particles')
Ejemplo n.º 5
0
    def probability_velocity(self, tracks):
        for _, its_tracks in enumerate_id_track(tracks):
            if len(its_tracks) == 1:
                return 1.0

            vn = track_velocities_norm(its_tracks)
            max_vn = np.max(vn)
            if max_vn >= self.max_vel:
                return 0.0
            else:
                return 1.0
Ejemplo n.º 6
0
 def probability_velocity(self, tracks):
     for _, its_tracks in enumerate_id_track(tracks):
         if len(its_tracks) == 1:
             return 1.0
         
         vn = track_velocities_norm(its_tracks)
         max_vn = np.max(vn)
         if max_vn >= self.max_vel:
             return 0.0
         else:
             return 1.0
Ejemplo n.º 7
0
def plot_tracks(pylab, tracks, base_markersize=5, marker='s', alpha=1):
    assert isinstance(tracks, np.ndarray)
    
    t2c = get_track_colors(tracks)
    for id_track, its_data in enumerate_id_track(tracks):
        for t in its_data: 
            x = t['i']
            y = t['j']            
            # r = 1 is best, r =0 is worst
            r = (t['npeaks'] - t['peak']) * 1.0 / t['npeaks']
            markersize = base_markersize * (r / 2 + 0.5) 
            pylab.plot(x, y, color=t2c[id_track], marker=marker,
                       markersize=markersize, alpha=alpha)
Ejemplo n.º 8
0
def plot_tracks(pylab, tracks, base_markersize=5, marker='s', alpha=1):
    assert isinstance(tracks, np.ndarray)

    t2c = get_track_colors(tracks)
    for id_track, its_data in enumerate_id_track(tracks):
        for t in its_data:
            x = t['i']
            y = t['j']
            # r = 1 is best, r =0 is worst
            r = (t['npeaks'] - t['peak']) * 1.0 / t['npeaks']
            markersize = base_markersize * (r / 2 + 0.5)
            pylab.plot(x,
                       y,
                       color=t2c[id_track],
                       marker=marker,
                       markersize=markersize,
                       alpha=alpha)
Ejemplo n.º 9
0
 def plot(self, pylab):
     tracks = self.input.tracks
     assert isinstance(tracks, np.ndarray)
     
     t2c = get_track_colors(tracks)
     x_ticks = []
     x_label = []
     for i, xx in enumerate(enumerate_id_track(tracks)):
         id_track, its_data = xx
         x_ticks.append(i)
         x_label.append(id_track)
         quality = its_data['quality']
         for j, qq in enumerate(quality):
             xj = i + 0.16 * (j + 1 - len(quality) / 2.0)
             pylab.plot([xj, xj], [0, qq], '%s-' % t2c[id_track], linewidth=2)
             
     self.max_q = max(self.max_q, np.max(tracks['quality']))
 
     M = 0.1
     pylab.axis((-1, len(x_ticks), -M * self.max_q, self.max_q * (1 + M)))
     pylab.xticks(x_ticks, x_label)
     pylab.title('Detection quality') 
Ejemplo n.º 10
0
def get_last(subset):
    tracks = {}
    for id_track, its_data in enumerate_id_track(subset):
        tracks[id_track] = its_data[-1:]
    return tracks
Ejemplo n.º 11
0
 def plot_hp(self, pylab, alt, marker):
     particles = alt.subset
     track2color = get_track_colors(particles)  
     for id_track, particles in enumerate_id_track(particles):
         color = track2color[id_track]
         plot_particles(pylab, particles, color)        
Ejemplo n.º 12
0
 def plot_hp(self, pylab, alt, marker):
     particles = alt.subset
     track2color = get_track_colors(particles)
     for id_track, particles in enumerate_id_track(particles):
         color = track2color[id_track]
         plot_particles(pylab, particles, color)
Ejemplo n.º 13
0
def get_last(subset):
    tracks = {}
    for id_track, its_data in enumerate_id_track(subset):
        tracks[id_track] = its_data[-1:]
    return tracks