import numpy as np
from numba import jit
from skimage.transform import resize
@jit(nopython=True)
def _calc(arr, out, ksize,every):
gx = arr.shape[0]
gy = arr.shape[1]
ii = 0
for i in xrange(0,gx,every):
jj = 0
for j in xrange(0,gy,every):
xmn = i-ksize
if xmn < 0:
xmn = 0
xmx = i+ksize
if xmx > gx:
xmx = gx
ymn = j-ksize
if ymn < 0:
ymn = 0
ymx = j+ksize
if ymx > gy:
ymx = gy
out[ii,jj]=np.nanmedian(arr[xmn:xmx:every, ymn:ymx:every])
jj += 1
ii += 1
return ii,jj
if __name__ == '__main__':
import sys
import pylab as plt
import imgProcessor
from imgProcessor.imgIO import imread
from fancytools.os.PathStr import PathStr
p = PathStr(imgProcessor.__file__).dirname().join(
'media', 'electroluminescence')
img = imread(p.join('EL_module_orig.PNG'), 'gray')
#add nans
img[300:310]=np.nan
img[:,110:130]=np.nan
bg = fastNaNmedianFilter(img,40,5)
if 'no_window' not in sys.argv:
plt.figure('image')
plt.imshow(img, interpolation='none')
plt.figure('background')
plt.imshow(bg, interpolation='none')
plt.figure('difference')
plt.imshow(img-bg, interpolation='none')
plt.show()