code: def test_with_drift_object_detection_change_max_cat(
      coco_visiondata_train, coco_visiondata_test
  ):
      # Arrange
      check = LabelDrift(
          categorical_drift_method="PSI",
          numerical_drift_method="EMD",
          max_num_categories_for_drift=100,
      )
  
      # Act
      result = check.run(coco_visiondata_train, coco_visiondata_test)
  
      # Assert
      assert_that(
          result.value,
          has_entries(
              {
                  "Samples Per Class": has_entries(
                      {
                          "Drift score": close_to(0.44, 0.01),
                          "Method": equal_to("PSI"),
                      }
                  ),
                  "Bounding Box Area (in pixels)": has_entries(
                      {
                          "Drift score": close_to(0.013, 0.001),
                          "Method": equal_to("Earth Mover's Distance"),
                      }
                  ),
                  "Number of Bounding Boxes Per Image": has_entries(
                      {
                          "Drift score": close_to(0.051, 0.001),
                          "Method": equal_to("Earth Mover's Distance"),
                      }
                  ),
              }
          ),
      )
  
file_path: deepchecks/tests/vision/checks/train_test_validation/label_drift_test.py
imports: from hamcrest import assert_that, calling, close_to, equal_to, greater_than, has_entries, has_length, raises
  from deepchecks.core.errors import NotEnoughSamplesError
  from deepchecks.vision.checks import LabelDrift
  from tests.base.utils import equal_condition_result
label_desc: Use image node_id 12 for calling a global function with example usage: test_with_drift_object_detection_change_max_cat(coco_visiondata_train, coco_visiondata_test) without return types