| 543 | return denoising_strength, initial_latent, width, height, current_progress |
| 544 | |
| 545 | def apply_outpaint(async_task, inpaint_image, inpaint_mask): |
| 546 | if len(async_task.outpaint_selections) > 0: |
| 547 | H, W, C = inpaint_image.shape |
| 548 | if 'top' in async_task.outpaint_selections: |
| 549 | inpaint_image = np.pad(inpaint_image, [[int(H * 0.3), 0], [0, 0], [0, 0]], mode='edge') |
| 550 | inpaint_mask = np.pad(inpaint_mask, [[int(H * 0.3), 0], [0, 0]], mode='constant', |
| 551 | constant_values=255) |
| 552 | if 'bottom' in async_task.outpaint_selections: |
| 553 | inpaint_image = np.pad(inpaint_image, [[0, int(H * 0.3)], [0, 0], [0, 0]], mode='edge') |
| 554 | inpaint_mask = np.pad(inpaint_mask, [[0, int(H * 0.3)], [0, 0]], mode='constant', |
| 555 | constant_values=255) |
| 556 | |
| 557 | H, W, C = inpaint_image.shape |
| 558 | if 'left' in async_task.outpaint_selections: |
| 559 | inpaint_image = np.pad(inpaint_image, [[0, 0], [int(W * 0.3), 0], [0, 0]], mode='edge') |
| 560 | inpaint_mask = np.pad(inpaint_mask, [[0, 0], [int(W * 0.3), 0]], mode='constant', |
| 561 | constant_values=255) |
| 562 | if 'right' in async_task.outpaint_selections: |
| 563 | inpaint_image = np.pad(inpaint_image, [[0, 0], [0, int(W * 0.3)], [0, 0]], mode='edge') |
| 564 | inpaint_mask = np.pad(inpaint_mask, [[0, 0], [0, int(W * 0.3)]], mode='constant', |
| 565 | constant_values=255) |
| 566 | |
| 567 | inpaint_image = np.ascontiguousarray(inpaint_image.copy()) |
| 568 | inpaint_mask = np.ascontiguousarray(inpaint_mask.copy()) |
| 569 | async_task.inpaint_strength = 1.0 |
| 570 | async_task.inpaint_respective_field = 1.0 |
| 571 | return inpaint_image, inpaint_mask |
| 572 | |
| 573 | def apply_upscale(async_task, uov_input_image, uov_method, switch, current_progress, advance_progress=False): |
| 574 | H, W, C = uov_input_image.shape |