code: def export_scatternd_min() -> None:
      node = onnx.helper.make_node(
          "ScatterND",
          inputs=["data", "indices", "updates"],
          outputs=["y"],
          reduction="min",
      )
      data = np.array(
          [
              [[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],
              [[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],
              [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]],
              [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]],
          ],
          dtype=np.float32,
      )
      indices = np.array([[0], [0]], dtype=np.int64)
      updates = np.array(
          [
              [[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]],
              [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]],
          ],
          dtype=np.float32,
      )
      # Expecting output as np.array(
      #    [[[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 3, 2, 1]],
      #     [[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]],
      #     [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]],
      #     [[8, 7, 6, 5], [4, 3, 2, 1], [1, 2, 3, 4], [5, 6, 7, 8]]], dtype=np.float32)
      output = scatter_nd_impl(data, indices, updates, reduction="min")
      expect(
          node,
          inputs=[data, indices, updates],
          outputs=[output],
          name="test_scatternd_min",
      )
  
file_path: onnx/onnx/backend/test/case/node/scatternd.py
imports: import numpy
  import onnx
  from onnx.backend.test.case.base import Base
  from onnx.backend.test.case.node import expect
label_desc: Use image node_id 5 for calling the ScatterND obj's underlying member method code with example usage: obj.export_scatternd_min() without return types