InvokeAI/invokeai/backend/image_util/infill_methods
psychedelicious f0b1bb0327 feat(nodes): redo tile infill
The previous algorithm errored if the image wasn't divisible by the tile size. I've reimplemented it from scratch to mitigate this issue.

The new algorithm is simpler. We create a pool of tiles, then use them to create an image composed completely of tiles. If there is any awkwardly sized space on the edge of the image, the tiles are cropped to fit.

Finally, paste the original image over the tile image.

I've added a jupyter notebook to do a smoke test of infilling methods, and 10 test images.

The other infill algorithms can be easily tested with the notebook on the same images, though I didn't set that up yet.

Tested and confirmed this gives results just as good as the earlier infill, though of course they aren't the same due to the change in the algorithm.
2024-04-05 08:49:13 +11:00
..
test_images feat(nodes): redo tile infill 2024-04-05 08:49:13 +11:00
cv2_inpaint.py wip: Initial Infill Methods Refactor 2024-04-05 08:49:13 +11:00
lama.py wip: Initial Infill Methods Refactor 2024-04-05 08:49:13 +11:00
mosaic.py fix: bypass edge pixels which cannot transform to tile size 2024-04-05 08:49:13 +11:00
patchmatch.py wip: Initial Infill Methods Refactor 2024-04-05 08:49:13 +11:00
tile.ipynb feat(nodes): redo tile infill 2024-04-05 08:49:13 +11:00
tile.py feat(nodes): redo tile infill 2024-04-05 08:49:13 +11:00