🪐TTP Tile Preprocessor HYDiT cufoff
A tile preprocessor that ships half-finished — and what to use instead
- image
- image_output
Straight to it: this node, as shipped, does not run. The pack is the TTP "image preprocessor" repo from TTPlanetPig - the person behind the TTPLanet tile ControlNet models and the TTP Toolset - and TTPlanet_Tile_Preprocessor_cufoff ("🪐TTP Tile Preprocessor HYDiT cufoff", typo included) looks like an experiment that got pushed before it worked.
What it was meant to do
It's the third tile preprocessor in the pack, sitting alongside a Simple version and the guided-filter (GF) version. Where GF strips detail with an edge-preserving guided filter, this one was supposed to be the frequency-domain take: a low-pass filter that cuts high-frequency detail at a cutoff_frequency, then the usual tile round trip of downscaling and upscaling back to the original size, then a Gaussian blur. Same job as the others - hand a tile ControlNet a detail-free copy so it can add detail back during a low-denoise upscale - just via Fourier territory.
Why it fails
Read the source and it's clear this was never finished. process_image calls apply_low_pass_filter(img_np, cutoff_frequency, filter_strength) - and that function does not exist anywhere in the repo. There's no import, no definition, nothing. Run the node and you get a NameError the moment it executes.
Worse, even if you patched in a low-pass function, the blur knob is wired to nothing: the code blurs one image and then returns a different, unblurred one. The blur_strength input on this node does literally nothing. This is not a "you're holding it wrong" situation - it's WIP code that was committed and forgotten, in a repo whose README is a single line.
The inputs, for completeness
For the record, the schema lists image, scale_factor (1–8), blur_strength (1–10), cutoff_frequency (0–256, default 100), and filter_strength (0.1–10), with an image_output result. Don't expect any of them to do anything yet.
What to do instead
If a workflow you downloaded references this node, your options are:
- Use the GF variant instead -
TTPlanet_Tile_Preprocessor_GFin the same pack does the edge-preserving detail-stripping job that this node was aiming for, and it works (assuming you haveopencv-contrib-python-headlessinstalled for the guided filter). - Skip the pack entirely. A tile preprocessor is, at its core, blur + resample. ComfyUI's built-in Blur and ImageScale nodes can reproduce the trick, or install a maintained preprocessor pack like
comfyui_controlnet_auxand use its tile node. - If you're feeling ambitious, fork the repo, write the
apply_low_pass_filterfunction yourself (a numpy FFT with a frequency mask would do), and un-wire the dead blur. But you shouldn't have to.
Installing it
Same install as the rest of the pack, for completeness:
cd ComfyUI/custom_nodes
git clone https://github.com/TTPlanetPig/Comfyui_TTP_CN_Preprocessor
or ComfyUI Manager → search "Comfyui_TTP_CN_Preprocessor". No models to download, no API keys - the only declared dependency is opencv-python-headless, which is funny given the node itself won't run.
Bottom line
This is a broken, half-wired variant. Don't fight it - swap in the GF node from the same pack, which does the edge-preserving tile job properly, and move on with your upscale.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| scale_factor | FLOAT | 1.001–8 | — |
| blur_strength | FLOAT | 2.01–10 | — |
| cutoff_frequency | INT | 1000–256 | — |
| filter_strength | FLOAT | 1.00.1–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image_output | IMAGE | — |