code: def __init__(
      self,
      client: DICOMwebClient,
      search_filter: Dict[str, Any],
      cache_path: Optional[str] = None,
      fetch_by_frame=False,
      convert_to_nifti=True,
  ):
      self._client = client
      self._search_filter = search_filter
      self._fetch_by_frame = fetch_by_frame
      self._convert_to_nifti = convert_to_nifti
  
      uri_hash = md5_digest(self._client.base_url)
      datastore_path = (
          os.path.join(cache_path, uri_hash)
          if cache_path
          else os.path.join(
              pathlib.Path.home(),
              ".cache",
              "monailabel",
              "dicom",
              uri_hash,
          )
      )
      logger.info(
          f"DICOMWeb Datastore (cache) Path: {datastore_path}; FetchByFrame: {fetch_by_frame}"
      )
      logger.info(f"DICOMWeb Convert To Nifti: {convert_to_nifti}")
      super().__init__(datastore_path=datastore_path, auto_reload=True)
  
imports: import logging
  import os
  import pathlib
  import shutil
  from typing import Any, Dict, Iterator, List, Optional, Tuple
  import requests
  from cachetools import TTLCache, cached
  from dicomweb_client import DICOMwebClient
  from pydicom.dataset import Dataset
  from monailabel.config import settings
  from monailabel.datastore.local import LocalDatastore
  from monailabel.datastore.utils.convert import binary_to_image, dicom_to_nifti, nifti_to_dicom_seg
  from monailabel.datastore.utils.dicom import dicom_web_download_series, dicom_web_upload_dcm
  from monailabel.interfaces.datastore import DefaultLabelTag
  from monailabel.utils.others.generic import md5_digest
label_desc: Use image node_id 1 to create a new DICOMWebDatastore object from inherited base classes: LocalDatastore with example: obj = DICOMWebDatastore(client, search_filter, cache_path, fetch_by_frame, convert_to_nifti)