code: def get_top_k(self, datastore: Datastore):
      scores: Dict[str, Any] = {}
      for image in datastore.get_unlabeled_images():
          info = datastore.get_image_info(image)
          scores[image] = info.get(self.key_output_entropy, 0)
  
      # shuffle dictionary for similar scores...
      images = list(scores.keys())
      random.shuffle(images)
      scores = {
          k: {"score": scores[k], "path": datastore.get_image_uri(k)}
          for k in images
      }
  
      top_k: Dict[str, Any] = {}
      max_len = (
          self.top_k if 0 < self.top_k < len(scores) else len(scores)
      )
      for k, v in scores.items():
          if len(top_k) == max_len:
              break
          top_k[k] = v
      return top_k
  
file_path: MONAILabel/sample-apps/endoscopy/lib/scoring/cvat.py
imports: import logging
  import random
  from typing import Any, Dict
  from monailabel.datastore.cvat import CVATDatastore
  from monailabel.interfaces.datastore import Datastore
  from monailabel.interfaces.tasks.scoring import ScoringMethod
  from monailabel.tasks.infer.basic_infer import BasicInferTask
  from monailabel.tasks.scoring.epistemic_v2 import EpistemicScoring
label_desc: Use image node_id 2 for calling the CVATEpistemicScoring obj's underlying member method code with example usage: obj.get_top_k(datastore) and returns: top_k