#!/usr/bin/env python import sys # parse aguments # image info file # threshold 1 # threshold 2 # threshold 3 # threshold 4 # median filter # filter nsigma info = sys.argv[1] thres1 = int(sys.argv[2]) thres2 = int(sys.argv[3]) thres3 = int(sys.argv[4]) thres4 = int(sys.argv[5]) filter_median = False if len(sys.argv) > 6 and sys.argv[6] == '-median': filter_median = True filter_nsigma = 0.0 if len(sys.argv) > 7: filter_nsigma = float(sys.argv[7]) # read image info text file f = open(info) fname = f.next().strip() timestamp = f.next().strip() header = f.next().strip() width, height, depth = [int(p) for p in f.next().strip().split()] x1,y1,x2,y2 = [int(p) for p in f.next().strip().split()] bx1,by1,bx2,by2 = [int(p) for p in f.next().strip().split()] f.close() # read actual image file import numpy img = numpy.fromfile(fname, dtype=numpy.uint32) img.shape = height, width # signal roi area_I = ( x2 - x1 + 1) * ( y2 - y1 + 1) I_sum = img[y1:y2, x1:x2].sum() thresh1_count = len(numpy.where(img>thres1)[0]) thresh2_count = len(numpy.where(img>thres2)[0]) thresh3_count = len(numpy.where(img>thres3)[0]) thresh4_count = len(numpy.where(img>thres4)[0]) # background roi I_sum_bgr = img[by1:by2, bx1:bx2].sum() area_bgr= (bx2 - bx1 + 1) * (by2 - by1 + 1) set_return ((I_sum, area_I, thresh1_count, thresh2_count, thresh3_count, thresh4_count, I_sum_bgr, area_bgr))