As the comment in the code snippet below states, the features in the top-K are kept static. For PGI we want the opposite. We want the features in the top-K to be perturbed and the rest to remain static.
# keeping features static that are in top-K based on feature mask
perturbed_samples = original_sample * feature_mask + perturbations * (~feature_mask)
(code snippet from NormalPerturbation.get_perturbed_inputs in explainers/catalog/perturbation_methods.py)