diff --git a/lime/lime_image.py b/lime/lime_image.py index 5c252944c..055d914d7 100644 --- a/lime/lime_image.py +++ b/lime/lime_image.py @@ -15,6 +15,7 @@ from . import lime_base from .wrappers.scikit_image import SegmentationAlgorithm +from skimage.filters import gaussian class ImageExplanation(object): def __init__(self, image, segments): @@ -186,12 +187,17 @@ def explain_instance(self, image, classifier_fn, labels=(1,), raise e fudged_image = image.copy() - if hide_color is None: + + if hide_color is 'blur': + fudged_image = gaussian(fudged_image, sigma=4, multichannel=True, preserve_range = True) + + elif hide_color is None: for x in np.unique(segments): fudged_image[segments == x] = ( np.mean(image[segments == x][:, 0]), np.mean(image[segments == x][:, 1]), np.mean(image[segments == x][:, 2])) + else: fudged_image[:] = hide_color