code: def __call__(
      self,
      image: Tensor,
      timesteps: Tensor,
      cond: Optional[cond_type],
      step: int,
      total_step: int,
  ) -> Tensor:
      pass
  
imports: import torch
  import torch.nn
  from abc import abstractmethod
  from tqdm import tqdm
  from torch import Tensor
  from typing import Any
  from typing import Dict
  from typing import Type
  from typing import Callable
  from typing import Optional
  from typing import Protocol
  from cftool.misc import update_dict
  from cftool.misc import safe_execute
  from cftool.misc import shallow_copy_dict
  from cftool.misc import WithRegister
  from ..utils import cond_type
  from ..utils import extract_to
  from ..utils import get_timesteps
  from ..utils import CONCAT_KEY
  from ..utils import CONTROL_HINT_KEY
  from ..utils import CONTROL_HINT_END_KEY
  from ..utils import CONTROL_HINT_START_KEY
label_desc: Use image node_id 1 for calling the Denoise obj's underlying member method code with example usage: obj.__call__(image, timesteps, cond, step, total_step) without return types