32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
import numpy
|
|
from scipy import signal, ndimage
|
|
|
|
def img_get_int(fname, thres1, thres2, thres3, thres4, header, width, height, depth, x1,y1,x2,y2, bx1,by1,bx2,by2 , filter_median = False, filter_nsigma = 0):
|
|
# read actual image file
|
|
img = numpy.fromfile(fname, dtype=numpy.uint32)
|
|
img.shape = height, width
|
|
if filter_nsigma>0:
|
|
img = ndimage.gaussian_filter(img, filter_nsigma)
|
|
elif filter_median:
|
|
#img = signal.medfilt2d(img.astype('d'), kernel_size=3)
|
|
img = ndimage.median_filter(img, size=3)
|
|
# 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)
|
|
|
|
return (I_sum, area_I, thresh1_count, thresh2_count, thresh3_count, thresh4_count, I_sum_bgr, area_bgr)
|
|
|
|
|
|
def img_read(fname, header, width, height, depth):
|
|
img = numpy.fromfile(fname, dtype=numpy.uint32)
|
|
img.shape = height, width
|
|
#return img.flatten().astype(int)
|
|
return img.astype(int)
|
|
|