code: def getImageDataByReviewer(
      self, reviewerId: str, approved=False, flagged=False
  ) -> List[ImageData]:
      if reviewerId == "":
          return None
      if approved and flagged:
          logging.warning(
              "{}: Selected filter options are not valid: approved='{}' and flagged='{}')".format(
                  self.getCurrentTime(), approved, flagged
              )
          )
          return None
  
      filteredImageDataList = []
  
      for imageData in self.nameToImageData.values():
          if imageData.isSegemented() is False:
              continue
          if approved and imageData.isApproved() is False:
              continue
          if flagged and imageData.isFlagged() is False:
              continue
          if imageData.getApprovedBy() == reviewerId:
              filteredImageDataList.append(imageData)
  
      return filteredImageDataList
  
imports: import datetime
  import logging
  from typing import Dict, List
  from MONAILabelReviewerLib.ImageData import ImageData
  from MONAILabelReviewerLib.MONAILabelReviewerEnum import Level
label_desc: Use image node_id 24 for calling the ImageDataExtractor obj's underlying member method code with example usage: obj.getImageDataByReviewer(reviewerId, approved, flagged) and returns: filteredImageDataList, None, None