GaussianFilter.py 678 B

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