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')
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')
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
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)
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')
def get_last(subset): tracks = {} for id_track, its_data in enumerate_id_track(subset): tracks[id_track] = its_data[-1:] return tracks
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)