#!/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))

