code: def test_no_drift_grayscale_cramer(mnist_visiondata_train):
      # Arrange
      train, test = mnist_visiondata_train, mnist_visiondata_train
      check = ImageDatasetDrift(
          categorical_drift_method="cramers_v", n_samples=10000
      )
  
      # Act
      result = check.run(train, test)
      # Assert
      assert_that(
          result.value,
          has_entries(
              {
                  "domain_classifier_auc": close_to(0.254, 0.001),
                  "domain_classifier_drift_score": equal_to(0),
                  "domain_classifier_feature_importance": has_entries(
                      {
                          "Brightness": equal_to(0),
                          "Aspect Ratio": equal_to(0),
                          "Area": equal_to(0),
                          "Mean Red Relative Intensity": equal_to(0),
                          "Mean Blue Relative Intensity": equal_to(0),
                          "Mean Green Relative Intensity": equal_to(0),
                      }
                  ),
              }
          ),
      )
  
file_path: deepchecks/tests/vision/checks/train_test_validation/image_dataset_drift_test.py
imports: import numpy
  from hamcrest import assert_that, close_to, equal_to, greater_than, has_entries, has_length
  from deepchecks.vision.checks import ImageDatasetDrift
  from deepchecks.vision.datasets.detection.coco_torch import collate_without_model
  from deepchecks.vision.utils.test_utils import replace_collate_fn_visiondata
  from tests.base.utils import equal_condition_result
label_desc: Use image node_id 4 for calling a global function with example usage: test_no_drift_grayscale_cramer(mnist_visiondata_train) without return types