def addImg(self, i):
img = self._read(i)
if self._first:
img = self._firstImg(img)
elif self.scale_factor != 1:
img = rescale(img, self.scale_factor)
try:
f = FitHistogramPeaks(img)
except AssertionError:
return
#sp = getSignalPeak(f.fitParams)
mn = getSignalMinimum(f.fitParams)
# non-backround indices:
ind = img > mn # sp[1] - self.nstd * sp[2]
# blur:
# blurred = minimum_filter(img, 3)#remove artefacts
#blurred = maximum_filter(blurred, self.ksize)
# blurred = img
# gblurred = gaussian_filter(img, self.ksize)
# ind = minimum_filter(ind, self.ksize)
nind = np.logical_not(ind)
gblurred = maskedFilter(img, nind, ksize=2 * self.ksize,
fill_mask=False,
fn="mean")
#blurred[ind] = gblurred[ind]
# scale [0-1]:
mn = img[nind].mean()
if np.isnan(mn):
mn = 0
mx = gblurred[ind].max()
gblurred -= mn
gblurred /= (mx - mn)
# img -= mn
# img /= (mx - mn)
# ind = np.logical_and(ind, img > self._m.avg)
self._m.update(gblurred, ind)
self.bglevel.append(mn)
self._mx += mx
self._n += 1
# import pylab as plt
# plt.imshow(self._m.avg)
# plt.show()
vignettingFromDifferentObjects.py 文件源码
python
阅读 19
收藏 0
点赞 0
评论 0
评论列表
文章目录