def __call__(self,speckle_size=3,filter=0): from gamera.core import Point, Image image=self.image_copy() if speckle_size > 0: image.despeckle(speckle_size) if filter == 0: filtered = image.rank(5) elif filter == 1: origin = Point(1,1) se = Image(Point(0,0),Point(2,2),ONEBIT) se.fill(1) filtered = image.binary_dilation(se,origin) filtered = filtered.binary_erosion(se,origin) else: image.invert() image.despeckle(5) image.invert() filtered = image return filtered