class_docstr: Sliding window method for HoVerNet model inference,
  with `sw_batch_size` windows for every model.forward().
  Usage example can be found in the :py:class:`monai.inferers.Inferer` base class.
  
  Args:
      roi_size: the window size to execute SlidingWindow evaluation.
          If it has non-positive components, the corresponding `inputs` size will be used.
          if the components of the `roi_size` are non-positive values, the transform will use the
          corresponding components of img size. For example, `roi_size=(32, -1)` will be adapted
          to `(32, 64)` if the second spatial dimension size of img is `64`.
      sw_batch_size: the batch size to run window slices.
      overlap: Amount of overlap between scans.
      mode: {``"constant"``, ``"gaussian"``}
          How to blend output of overlapping windows. Defaults to ``"constant"``.
  
          - ``"constant``": gives equal weight to all predictions.
          - ``"gaussian``": gives less weight to predictions on edges of windows.
  
      sigma_scale: the standard deviation coefficient of the Gaussian window when `mode` is ``"gaussian"``.
          Default: 0.125. Actual window sigma is ``sigma_scale`` * ``dim_size``.
          When sigma_scale is a sequence of floats, the values denote sigma_scale at the corresponding
          spatial dimensions.
      padding_mode: {``"constant"``, ``"reflect"``, ``"replicate"``, ``"circular"``}
          Padding mode when ``roi_size`` is larger than inputs. Defaults to ``"constant"``
          See also: https://pytorch.org/docs/stable/generated/torch.nn.functional.pad.html
      cval: fill value for 'constant' padding mode. Default: 0
      sw_device: device for the window data.
          By default the device (and accordingly the memory) of the `inputs` is used.
          Normally `sw_device` should be consistent with the device where `predictor` is defined.
      device: device for the stitched output prediction.
          By default the device (and accordingly the memory) of the `inputs` is used. If for example
          set to device=torch.device('cpu') the gpu memory consumption is less and independent of the
          `inputs` and `roi_size`. Output is on the `device`.
      progress: whether to print a tqdm progress bar.
      cache_roi_weight_map: whether to pre-compute the ROI weight map.
      cpu_thresh: when provided, dynamically switch to stitching on cpu (to save gpu memory)
          when input image volume is larger than this threshold (in pixels/voxels).
          Otherwise use ``"device"``. Thus, the output may end-up on either cpu or gpu.
      extra_input_padding: the amount of padding for the input image, which is a tuple of even number of pads.
          Refer to to the `pad` argument of `torch.nn.functional.pad` for more details.
  
  Note:
      ``sw_batch_size`` denotes the max number of windows per network inference iteration,
      not the batch size of inputs.
class_docstr_tok: ["Sliding","window","method","for","HoVerNet","model","inference",",","with","`","sw_batch_size","`","windows","for","every","model.forward","(",")",".","Usage","example","can","be","found","in","the",":","py",":","class",":","`","monai.inferers.Inferer","`","base","class",".","Args",":","roi_size",":","the","window","size","to","execute","SlidingWindow","evaluation",".","If","it","has","non-positive","components",",","the","corresponding","`","inputs","`","size","will","be","used",".","if","the","components","of","the","`","roi_size","`","are","non-positive","values",",","the","transform","will","use","the","corresponding","components","of","img","size",".","For","example",",","`","roi_size=","(","32",",","-1",")","`","will","be","adapted","to","`","(","32",",","64",")","`","if","the","second","spatial","dimension","size","of","img","is","`","64","`",".","sw_batch_size",":","the","batch","size","to","run","window","slices",".","overlap",":","Amount","of","overlap","between","scans",".","mode",":","{","``","``","constant","''","``",",","``","``","gaussian","''","``","}","How","to","blend","output","of","overlapping","windows",".","Defaults","to","``","``","constant","''","``",".","-","``","``","constant","``","``",":","gives","equal","weight","to","all","predictions",".","-","``","``","gaussian","``","``",":","gives","less","weight","to","predictions","on","edges","of","windows",".","sigma_scale",":","the","standard","deviation","coefficient","of","the","Gaussian","window","when","`","mode","`","is","``","``","gaussian","''","``",".","Default",":","0.125",".","Actual","window","sigma","is","``","sigma_scale","``","*","``","dim_size","``",".","When","sigma_scale","is","a","sequence","of","floats",",","the","values","denote","sigma_scale","at","the","corresponding","spatial","dimensions",".","padding_mode",":","{","``","``","constant","''","``",",","``","``","reflect","''","``",",","``","``","replicate","''","``",",","``","``","circular","''","``","}","Padding","mode","when","``","roi_size","``","is","larger","than","inputs",".","Defaults","to","``","``","constant","''","``","See","also",":","https",":","\/\/pytorch.org\/docs\/stable\/generated\/torch.nn.functional.pad.html","cval",":","fill","value","for","'constant","'","padding","mode",".","Default",":","0","sw_device",":","device","for","the","window","data",".","By","default","the","device","(","and","accordingly","the","memory",")","of","the","`","inputs","`","is","used",".","Normally","`","sw_device","`","should","be","consistent","with","the","device","where","`","predictor","`","is","defined",".","device",":","device","for","the","stitched","output","prediction",".","By","default","the","device","(","and","accordingly","the","memory",")","of","the","`","inputs","`","is","used",".","If","for","example","set","to","device=torch.device","(","'cpu","'",")","the","gpu","memory","consumption","is","less","and","independent","of","the","`","inputs","`","and","`","roi_size","`",".","Output","is","on","the","`","device","`",".","progress",":","whether","to","print","a","tqdm","progress","bar",".","cache_roi_weight_map",":","whether","to","pre-compute","the","ROI","weight","map",".","cpu_thresh",":","when","provided",",","dynamically","switch","to","stitching","on","cpu","(","to","save","gpu","memory",")","when","input","image","volume","is","larger","than","this","threshold","(","in","pixels\/voxels",")",".","Otherwise","use","``","``","device","''","``",".","Thus",",","the","output","may","end-up","on","either","cpu","or","gpu",".","extra_input_padding",":","the","amount","of","padding","for","the","input","image",",","which","is","a","tuple","of","even","number","of","pads",".","Refer","to","to","the","`","pad","`","argument","of","`","torch.nn.functional.pad","`","for","more","details",".","Note",":","``","sw_batch_size","``","denotes","the","max","number","of","windows","per","network","inference","iteration",",","not","the","batch","size","of","inputs","."]
code: def __init__(
      self,
      roi_size: Sequence[int] | int,
      sw_batch_size: int = 1,
      overlap: float = 0.25,
      mode: BlendMode | str = BlendMode.CONSTANT,
      sigma_scale: Sequence[float] | float = 0.125,
      padding_mode: PytorchPadMode | str = PytorchPadMode.CONSTANT,
      cval: float = 0.0,
      sw_device: torch.device | str | None = None,
      device: torch.device | str | None = None,
      progress: bool = False,
      cache_roi_weight_map: bool = False,
      cpu_thresh: int | None = None,
      extra_input_padding: tuple[int] | None = None,
  ) -> None:
      super().__init__(
          roi_size=roi_size,
          sw_batch_size=sw_batch_size,
          overlap=overlap,
          mode=mode,
          sigma_scale=sigma_scale,
          padding_mode=padding_mode,
          cval=cval,
          sw_device=sw_device,
          device=device,
          progress=progress,
          cache_roi_weight_map=cache_roi_weight_map,
          cpu_thresh=cpu_thresh,
      )
      self.extra_input_padding = extra_input_padding
  
file_path: MONAI/monai/apps/pathology/inferers/inferer.py
imports: from __future__ import annotations
  from typing import Any, Callable, Sequence
  import numpy
  import torch
  import torch.nn.functional
  from monai.inferers import SlidingWindowInferer
  from monai.inferers.utils import sliding_window_inference
  from monai.utils import BlendMode, PytorchPadMode, look_up_option
label_desc: Use image node_id 1 to create a new SlidingWindowHoVerNetInferer object from inherited base classes: SlidingWindowInferer with example: obj = SlidingWindowHoVerNetInferer(roi_size, sw_batch_size, overlap, mode, sigma_scale, padding_mode, cval, sw_device, device, progress, cache_roi_weight_map, cpu_thresh, extra_input_padding)