code: def _preprocess_fast_guided_blur(
      guidance: Tensor,
      input: Tensor,
      kernel_size: tuple[int, int] | int,
      subsample: int = 1,
  ) -> tuple[Tensor, Tensor, tuple[int, int]]:
      ky, kx = _unpack_2d_ks(kernel_size)
      if subsample > 1:
          s = 1 / subsample
          guidance_sub = interpolate(
              guidance, scale_factor=s, mode="nearest"
          )
          input_sub = (
              guidance_sub
              if input is guidance
              else interpolate(input, scale_factor=s, mode="nearest")
          )
          ky, kx = ((k - 1) // subsample + 1 for k in (ky, kx))
      else:
          guidance_sub = guidance
          input_sub = input
      return guidance_sub, input_sub, (ky, kx)
  
file_path: kornia/kornia/filters/guided.py
imports: from __future__ import annotations
  import torch
  from torch.nn.functional import interpolate
  from kornia.core import Module, Tensor
  from kornia.core.check import KORNIA_CHECK, KORNIA_CHECK_IS_TENSOR, KORNIA_CHECK_SHAPE
  from .blur import box_blur
  from .kernels import _unpack_2d_ks
label_desc: Use image node_id 1 for calling a global function with example usage: _preprocess_fast_guided_blur(guidance, input, kernel_size, subsample) and returns: guidance_sub,  input_sub,  ky,  kx