GaussianFilter.py 626 B

1234567891011121314151617181920212223
  1. from GrayscaleImage import GrayscaleImage
  2. from scipy.ndimage import gaussian_filter
  3. class GaussianFilter:
  4. def __init__(self, scale):
  5. self.scale = scale
  6. def get_filtered_copy(self, image):
  7. """Apply a gaussian blur to an image, to suppress noise."""
  8. image = gaussian_filter(image.data, self.scale)
  9. return GrayscaleImage(None, image)
  10. def filter(self, image):
  11. image.data = gaussian_filter(image.data, self.scale)
  12. def get_scale(self):
  13. return self.scale
  14. def set_scale(self, scale):
  15. self.scale = float(scale)
  16. scale = property(get_scale, set_scale)