code: def __run_boundary_difference_of_means_test(
      self, label, gradient, expected_result, msg=""
  ):
      label = numpy.asarray(label)
      gradient = numpy.asarray(gradient)
      graph = GCGraphTest(
          numpy.unique(label).size,
          math.pow(numpy.unique(label).size, 2),
      )
      boundary_difference_of_means(graph, label, gradient)
      graph.validate_nweights(self, expected_result, msg)
  
imports: import sys
  import math
  import unittest
  import scipy
  import numpy
  from numpy.testing import assert_raises
  from medpy.graphcut.energy_label import boundary_stawiaski, boundary_difference_of_means, boundary_stawiaski_directed, regional_atlas
  from medpy.graphcut.graph import GCGraph
label_desc: Use image node_id 3 for calling the TestEnergyLabel obj's underlying member method code with example usage: obj.__run_boundary_difference_of_means_test(label, gradient, expected_result, msg) without return types