| 12345678910111213141516171819202122232425262728 |
- from GrayscaleImage import GrayscaleImage
- from scipy.ndimage import gaussian_filter
- class GaussianFilter:
- """This class can apply a Gaussian blur on an image."""
- def __init__(self, scale):
- """Create a GaussianFilter object with a given scale."""
- self.scale = scale
- def get_filtered_copy(self, image):
- """Apply a gaussian blur to an image, to suppress noise."""
- image = gaussian_filter(image.data, self.scale)
- return GrayscaleImage(None, image)
- def filter(self, image):
- """Apply a Gaussian blur on the image data."""
- image.data = gaussian_filter(image.data, self.scale)
- def get_scale(self):
- """Return the scale of the Gaussian kernel."""
- return self.scale
- def set_scale(self, scale):
- """Set the scale of the Gaussian kernel."""
- self.scale = float(scale)
- scale = property(get_scale, set_scale)
|