code: def test_blur_at_indices(
      params: dict,
      expected: Union[float, dict, bool],
  ):
      input = random_array(params["arr_shape"])
      kernel = random_array(params["kernel_shape"])
  
      if "exception" in expected:
          with pytest.raises(expected["exception"]):
              out = blur_at_indices(
                  arr=input,
                  kernel=kernel,
                  indices=params["indices"],
                  indexed_axes=params["indexed_axes"],
              )
          return
      out = blur_at_indices(
          arr=input,
          kernel=kernel,
          indices=params["indices"],
          indexed_axes=params["indexed_axes"],
      )
      if "shape" in expected:
          assert expected["shape"] == out.shape, "Test failed."
  
      if "blurchange" in expected:
          indices = expand_indices(
              input, params["indices"], params["indexed_axes"]
          )
  
          # print(indices)
          # print(out[indices])
          # print(input[indices])
  
          assert (out[indices] != input[indices]).all() == expected[
              "blurchange"
          ], "Test failed."
  
imports: import pytest
  from pytest_lazyfixture import lazy_fixture
  from quantus.helpers.utils import *
label_desc: Use image node_id 32 for calling a global function with example usage: test_blur_at_indices(params, expected) without return types