code: def get_image(self, image_id: str, params=None) -> Any:
      try:
          name = self.get_image_info(image_id)["name"]
      except girder_client.HttpError:
          image_id, name = self._name_to_id(image_id)
  
      location = params.get("location", [0, 0])
      size = params.get("size", [0, 0])
      if sum(location) <= 0 and sum(size) <= 0:  # whole side image
          dest = os.path.join(self.cache_path, name)
          if not os.path.exists(dest):
              logger.info(
                  f"Downloading: {image_id} => {name} => {dest}"
              )
              self.gc.downloadItem(
                  itemId=image_id, dest=self.cache_path
              )
          return dest
  
      parameters = {
          "left": location[0],
          "top": location[1],
          "regionWidth": size[0],
          "regionHeight": size[1],
          "units": "base_pixels",
          "encoding": "PNG",
      }
  
      resp = self.gc.get(
          f"item/{image_id}/tiles/region",
          parameters=parameters,
          jsonResp=False,
      )
      img = Image.open(BytesIO(resp.content)).convert("RGB")
      return np.asarray(img, dtype=np.uint8)
  
imports: import logging
  import os
  import pathlib
  from io import BytesIO
  from pathlib import Path
  from typing import Any, Dict, List, Optional
  import girder_client
  import numpy
  from PIL import Image
  from monailabel.interfaces.datastore import Datastore, DefaultLabelTag
  from monailabel.utils.others.generic import md5_digest
label_desc: Use image node_id 10 for calling the DSADatastore obj's underlying member method code with example usage: obj.get_image(image_id, params) and returns: np, dest