class_docstr: Blur an image with a Butterworth filter with a frequency
  cutoff matching local block size
class_docstr_tok: ["Blur","an","image","with","a","Butterworth","filter","with","a","frequency","cutoff","matching","local","block","size"]
docstr: inputs should have values between 0 and 255
docstr_tok: ["inputs","should","have","values","between","0","and","255"]
code: def __call__(self, *inputs):
      """
      inputs should have values between 0 and 255
      """
      outputs = []
      idx = None
      for idx, _input in enumerate(inputs):
          rows = _input.size(1)
          cols = _input.size(2)
          fc = self.threshold  # threshold
          fs = 128.0  # max frequency
          n = self.order  # filter order
          fc_rad = (fc / fs) * 0.5
          H = _butterworth_filter(rows, cols, fc_rad, n)
          _input_blurred = _blur_image(
              _input.numpy().astype("uint8"), H
          )
          _input_blurred = th.from_numpy(_input_blurred).float()
          outputs.append(_input_blurred)
  
      return outputs if idx >= 1 else outputs[0]
  
file_path: pywick/pywick/transforms/distortion_transforms.py
imports: import torch
  import numpy
  import random
label_desc: Use image node_id 2 for calling the Blur obj's underlying member method code with example usage: obj.__call__() and returns: unknown