code: def __call__(self, denoiser, x, cond, uc=None, num_steps=None):
      (
          x,
          s_in,
          sigmas,
          num_sigmas,
          cond,
          uc,
      ) = self.prepare_sampling_loop(x, cond, uc, num_steps)
  
      for i in self.get_sigma_gen(num_sigmas):
          x = self.sampler_step(
              s_in * sigmas[i],
              s_in * sigmas[i + 1],
              denoiser,
              x,
              cond,
              uc,
          )
  
      return x
  
imports: from typing import Dict, Union
  import torch
  from omegaconf import ListConfig, OmegaConf
  from tqdm import tqdm
  from ...modules.diffusionmodules.sampling_utils import get_ancestral_step, linear_multistep_coeff, to_d, to_neg_log_sigma, to_sigma
  from ...util import append_dims, default, instantiate_from_config
label_desc: Use image node_id 4 for calling the AncestralSampler obj's underlying member method code with example usage: obj.__call__(denoiser, x, cond, uc, num_steps) and returns: x