code: def __init__(self, dirname):
      self.name = "ScuNET"
      self.model_name = "ScuNET GAN"
      self.model_name2 = "ScuNET PSNR"
      self.model_url = "https://github.com/cszn/KAIR/releases/download/v1.0/scunet_color_real_gan.pth"
      self.model_url2 = "https://github.com/cszn/KAIR/releases/download/v1.0/scunet_color_real_psnr.pth"
      self.user_path = dirname
      super().__init__()
      model_paths = self.find_models(ext_filter=[".pth"])
      scalers = []
      add_model2 = True
      for file in model_paths:
          if file.startswith("http"):
              name = self.model_name
          else:
              name = modelloader.friendly_name(file)
          if name == self.model_name2 or file == self.model_url2:
              add_model2 = False
          try:
              scaler_data = modules.upscaler.UpscalerData(
                  name, file, self, 4
              )
              scalers.append(scaler_data)
          except Exception:
              errors.report(
                  f"Error loading ScuNET model: {file}", exc_info=True
              )
      if add_model2:
          scaler_data2 = modules.upscaler.UpscalerData(
              self.model_name2, self.model_url2, self
          )
          scalers.append(scaler_data2)
      self.scalers = scalers
  
file_path: stable-diffusion-webui/extensions-builtin/ScuNET/scripts/scunet_model.py
imports: import sys
  import PIL.Image
  import numpy
  import torch
  from tqdm import tqdm
  import modules.upscaler
  from modules import devices, modelloader, script_callbacks, errors
  from scunet_model_arch import SCUNet
  from modules.modelloader import load_file_from_url
  from modules.shared import opts
label_desc: Use image node_id 1 to create a new UpscalerScuNET object from inherited base classes: modules.upscaler with example: obj = UpscalerScuNET(dirname)