class_docstr: A base class for splitting the inputs into iterable tuple of patches and locations
  Extend this class to support operations for `PatchInference`, e.g. SlidingPatchSplitter.
  
  Args:
      patch_size: the size of patches to be generated.
      device: the device where the patches are generated.
class_docstr_tok: ["A","base","class","for","splitting","the","inputs","into","iterable","tuple","of","patches","and","locations","Extend","this","class","to","support","operations","for","`","PatchInference","`",",","e.g",".","SlidingPatchSplitter",".","Args",":","patch_size",":","the","size","of","patches","to","be","generated",".","device",":","the","device","where","the","patches","are","generated","."]
code: def __init__(
      self,
      patch_size: Sequence[int] | int,
      device: torch.device | str | None = None,
  ) -> None:
      self.patch_size = patch_size
      self.device = device
  
imports: from __future__ import annotations
  import os
  import warnings
  from abc import ABC, abstractmethod
  from collections.abc import Callable, Iterable, Sequence
  from inspect import _empty, isclass, signature
  from typing import Any
  import torch
  from monai.data.utils import iter_patch_position
  from monai.data.wsi_reader import BaseWSIReader, WSIReader
  from monai.transforms.utility.array import convert_to_tensor
  from monai.utils.misc import PathLike, ensure_tuple, ensure_tuple_rep
label_desc: Use image node_id 1 to create a new Splitter object from inherited base classes: ABC with example: obj = Splitter(patch_size, device)