def _print_distribution_stats(self): 'Print a summary table of distribution stats.' self._print_title('Distribution stats') print 'Number of values: %d' % len(self.readings_array) print 'Minimum: %0.3f' % self.readings_array.min() print 'Maximum: %0.3f' % self.readings_array.max() print 'Mean: %0.3f' % self.readings_array.mean() print 'Deviation: %0.3f' % self.readings_array.std() print 'Median: %0.3f' % percentile(self.readings_array, 50) print '80th Percentile: %0.3f' % percentile(self.readings_array, 80) print
def _compute_stats_function(values): stats = None if len(values)>1: stats = {} stats['min'] = min(values) stats['max'] = max(values) stats['mean'] = mean(values) stats['median'] = median(values) stats['1st-quartile'] = percentile(values,25) stats['3rd-quartile'] = percentile(values,75) stats['std-error'] = std(values) return stats
def _print_zoom_histograms(self): 'Generates zoom histograms based on user specified intervals' if not self.app.pargs.zoom or not self.app.pargs.zoom[0]: return interval_start = 0 # set the initial minimum to less than the input minimum # makes the condition match easier (min < x <= max) min_value = self.readings_array.min() - 1 for interval_width in self.app.pargs.zoom: if not interval_width: self.app.log.info( 'Skipping zero width interval at %dth percentile' % (interval_start)) continue interval_end = interval_start + interval_width max_value = percentile(self.readings_array, interval_end) title = 'Distribution of values in percentile range %d - %d' % ( interval_start, interval_end) def value_in_interval(value): if min_value < value <= max_value: return value self._print_histogram(title, condition=value_in_interval) interval_start = interval_end min_value = max_value
def get_focus_measure(src, kind): if not isinstance(src, ndarray): src = asarray(src) dst = laplace(src.astype(float)) d = dst.flatten() d = percentile(d, 99) return d.mean()
def get_focus_measure(src, kind): if not isinstance(src, ndarray): src = asarray(src) # w, h = GetSize(pychron) # dst = CreateMat(w, h, CV_16SC1) # Laplace(pychron, dst) # d = asarray(dst).flatten() dst = laplace(src.astype(float)) d = dst.flatten() d = percentile(d, 99) return d.mean()