static ImageSurface showImageWithBlurSliders(S name, final BufferedImage img) {
  final ImageSurface is = showImage(name, img);
  final SimpleLiveValue<Float> lvX = floatLiveValue();
  final SimpleLiveValue<Float> lvY = floatLiveValue();
  
  Runnable update = r {
    is.setImage(new BoxBlurFilter(iround(lvX!), iround(lvY!)).filter(img, null))
  };
  
  lvX.onChange(update);
  lvY.onChange(update);
  addToWindowAndPack(is, vstack(
    withLabel("Horizontal blur:", jLiveValueSliderZeroToX(10, lvX)),
    withLabel("Vertical blur:", jLiveValueSliderZeroToX(10, lvY))));
  ret is;
}