(self, all_prompts, all_seeds, all_subseeds)
| 1697 | nmask: torch.Tensor = field(default=None, init=False) |
| 1698 | image_conditioning: torch.Tensor = field(default=None, init=False) |
| 1699 | init_img_hash: str = field(default=None, init=False) |
| 1700 | mask_for_overlay: Image = field(default=None, init=False) |
| 1701 | init_latent: torch.Tensor = field(default=None, init=False) |
| 1702 | |
| 1703 | def __post_init__(self): |
| 1704 | super().__post_init__() |
| 1705 | |
| 1706 | self.image_mask = self.mask |
| 1707 | self.mask = None |
| 1708 | self.initial_noise_multiplier = opts.initial_noise_multiplier if self.initial_noise_multiplier is None else self.initial_noise_multiplier |
| 1709 | |
| 1710 | @property |
| 1711 | def mask_blur(self): |
| 1712 | if self.mask_blur_x == self.mask_blur_y: |
| 1713 | return self.mask_blur_x |
| 1714 | return None |
| 1715 | |
| 1716 | @mask_blur.setter |
| 1717 | def mask_blur(self, value): |
| 1718 | if isinstance(value, int): |
| 1719 | self.mask_blur_x = value |
| 1720 | self.mask_blur_y = value |
| 1721 | |
| 1722 | def init(self, all_prompts, all_seeds, all_subseeds): |
| 1723 | self.extra_generation_params["Denoising strength"] = self.denoising_strength |
| 1724 | |
| 1725 | self.image_cfg_scale: float = None |
| 1726 | |
| 1727 | self.sampler = sd_samplers.create_sampler(self.sampler_name, self.sd_model) |
| 1728 | crop_region = None |
| 1729 | |
| 1730 | image_mask = self.image_mask |
| 1731 | |
| 1732 | if image_mask is not None: |
| 1733 | # image_mask is passed in as RGBA by Gradio to support alpha masks, |
| 1734 | # but we still want to support binary masks. |
| 1735 | image_mask = create_binary_mask(image_mask, round=self.mask_round) |
| 1736 | |
| 1737 | if self.inpainting_mask_invert: |
| 1738 | image_mask = ImageOps.invert(image_mask) |
| 1739 | self.extra_generation_params["Mask mode"] = "Inpaint not masked" |
| 1740 | |
| 1741 | if self.mask_blur_x > 0: |
| 1742 | np_mask = np.array(image_mask) |
| 1743 | kernel_size = 2 * int(2.5 * self.mask_blur_x + 0.5) + 1 |
| 1744 | np_mask = cv2.GaussianBlur(np_mask, (kernel_size, 1), self.mask_blur_x) |
| 1745 | image_mask = Image.fromarray(np_mask) |
| 1746 | |
| 1747 | if self.mask_blur_y > 0: |
| 1748 | np_mask = np.array(image_mask) |
| 1749 | kernel_size = 2 * int(2.5 * self.mask_blur_y + 0.5) + 1 |
| 1750 | np_mask = cv2.GaussianBlur(np_mask, (1, kernel_size), self.mask_blur_y) |
| 1751 | image_mask = Image.fromarray(np_mask) |
| 1752 | |
| 1753 | if self.mask_blur_x > 0 or self.mask_blur_y > 0: |
| 1754 | self.extra_generation_params["Mask blur"] = self.mask_blur |
| 1755 | |
| 1756 | if self.inpaint_full_res: |
nothing calls this directly
no test coverage detected