class_docstr: Blurs the image by setting each pixel to the average value of the pixels
  in a square box extending radius pixels in each direction.
  Supports float radius of arbitrary size. Uses an optimized implementation
  which runs in linear time relative to the size of the image
  for any radius value.
  
  :param radius: Size of the box in one direction. Radius 0 does not blur,
                 returns an identical image. Radius 1 takes 1 pixel
                 in each direction, i.e. 9 pixels in total.
class_docstr_tok: ["Blurs","the","image","by","setting","each","pixel","to","the","average","value","of","the","pixels","in","a","square","box","extending","radius","pixels","in","each","direction",".","Supports","float","radius","of","arbitrary","size",".","Uses","an","optimized","implementation","which","runs","in","linear","time","relative","to","the","size","of","the","image","for","any","radius","value",".",":","param","radius",":","Size","of","the","box","in","one","direction",".","Radius","0","does","not","blur",",","returns","an","identical","image",".","Radius","1","takes","1","pixel","in","each","direction",",","i.e",".","9","pixels","in","total","."]
code: def filter(self, image):
      return image.box_blur(self.radius)
  
imports: import functools
label_desc: Use image node_id 2 for calling the BoxBlur obj's underlying member method code with example usage: obj.filter(image) and returns: image