Nodes Browser
ComfyDeploy: How ComfyUI Resynthesizer works in ComfyUI?
What is ComfyUI Resynthesizer?
This repository is a quick port of [a/Resynthesizer](https://github.com/bootchk/resynthesizer) to ComfyUI. Resynthesizer is the open-source implementation of a texture generation technique proposed by Paul Harrison in 2005, especially useful for removing an object from an image (inpainting), which is most likely close to what Photoshop uses to for the content aware fill feature. Note that this is not using a diffusion model to inpaint, as opposed to many techniques of today, which makes it very fast and predictable, but sometimes yields worse results.
How to install it in ComfyDeploy?
Head over to the machine page
- Click on the "Create a new machine" button
- Select the
Edit
build steps - Add a new step -> Custom Node
- Search for
ComfyUI Resynthesizer
and select it - Close the build step dialig and then click on the "Save" button to rebuild the machine
ComfyUI Resynthesizer
This repository is a quick port of Resynthesizer to ComfyUI.
Introduction
Resynthesizer is the open-source implementation of a texture generation technique proposed by Paul Harrison in 2005, especially useful for removing an object from an image (inpainting), which is most likely close to what Photoshop uses to for the content aware fill feature. Note that this is not using a diffusion model to inpaint, as opposed to many techniques of today, which makes it very fast and predictable, but sometimes yields worse results.
Installation
This extension is not available on the manager. To add it to your ComfyUI instance, follow these instructions:
- Inside your
ComfyUI/custom_nodes/
directory, run the command:git clone https://github.com/brayevalerien/ComfyUI-resynthesizer
. - If you are using a virtual environment (Conda or venv for instance) for ComfyUI, activate it.
- Install the
resynthesizer
Python library by running:pip install resynthesizer
.
You should then be able to restart ComfyUI and use this extension. If not, please open an issue.
Resynthesizer node
This node simply calls the resynthesize
function from the resynthesizer
Python library, handling the image conversion and passing your arguments. The library is poorly documented and I've not experimented a lot or read the actual papers explaining the algorithm so unfortunately I can't document this node properly for now, but I will update this readme to add more info later if possible.
Example workflow
The following workflow automatically creates a mask according to the prompt given to Segment Anything (a cat in this example) and uses the Resynthesize node from this extension to remove the object.
Drag and drop this image into ComfyUI to open the workflow. It requires the Segment Anything extension in addition to this one.
References
- Resynthesizer Python library
- Original Resynthesizer implementation
- Paul Harrison's thesis explaining the algorithm (and many other fun stuff about image processing)
- 61315's Resynthesizer that removes all unecessary stuff from the original implementation (that's what the python lib is using)