code: def sample_step_core(
      self,
      image: Tensor,
      cond: Optional[cond_type],
      step: int,
      total_step: int,
      get_model_output: IGetModelOutput,
      get_denoised: IGetDenoised,
      *,
      eta: float,
      discretize: str,
      unconditional_cond: Optional[Any],
      unconditional_guidance_scale: float,
      temperature: float,
      noise_dropout: float,
      quantize_denoised: bool,
      **kwargs: Any,
  ) -> Tensor:
      denoised = super().sample_step_core(
          image,
          cond,
          step,
          total_step,
          get_model_output,
          get_denoised,
          eta=eta,
          discretize=discretize,
          unconditional_cond=unconditional_cond,
          unconditional_guidance_scale=unconditional_guidance_scale,
          temperature=temperature,
          noise_dropout=noise_dropout,
          quantize_denoised=quantize_denoised,
          **kwargs,
      )
      if step < total_step - 1:
          denoised = self.q_sample(
              denoised,
              get_timesteps(
                  self._t_index_prev, denoised.shape[0], denoised.device
              ),
          )
      return denoised
  
file_path: carefree-learn/cflearn/models/cv/diffusion/samplers/lcm.py
imports: from torch import Tensor
  from typing import Any
  from typing import Tuple
  from typing import Optional
  from .ddim import DDIMSampler
  from .ddim import IGetModelOutput
  from .ddim import IGetDenoised
  from .schema import ISampler
  from ..utils import cond_type
  from ..utils import get_timesteps
label_desc: Use image node_id 1 for calling the LCMSampler obj's underlying member method code with example usage: obj.sample_step_core(image, cond, step, total_step, get_model_output, get_denoised) and returns: denoised