| disparity | NPARRAY | | HxW float32 disparity in PIXELS (what every disparity node in this pack outputs), not the raw 1/16 int16 map cv2 returns. Invalid pixels are the ones below min_disparity. |
| guide | NPARRAY,IMAGE | | The left rectified frame the disparity belongs to; its edges are what the filter follows. Grayscaled internally. Accepts a ComfyUI IMAGE/MASK directly (frame 0 of a batch) or an NPARRAY. Arithmetic ops (add, multiply, etc.) process the full IMAGE batch when both inputs have the same batch size. |
| wls_lambda | FLOAT | 80000–100000 | Regularization strength: how strongly the filtered disparity is smoothed towards the edges of the guide image. 8000 is the OpenCV-recommended default; larger = smoother, more hole filling, more bleeding across depth edges. |
| wls_sigma_color | FLOAT | 1.50–10 | How sensitive the filter is to guide-image edges. 0.8-2.0 is the useful range: too low leaks disparity across object boundaries, too high makes it follow image noise. |
| disparity_rightopt | NPARRAY | | Optional HxW float32 right-to-left disparity in pixels, NEGATIVE as ximgproc.createRightMatcher produces it. With it the filter runs its left-right consistency check and the confidence output is real; without it confidence comes back as zeros. |
| num_disparitiesopt | INT | 6416–512 | The search range the disparity map was computed with. Used ONLY to place the region to filter - the leftmost min_disparity + num_disparities columns can never have been matched, and letting them into the solve corrupts the whole map. |
| min_disparityopt | INT | 0-256–256 | The smallest disparity the map was searched from. Also the threshold for the 'valid' output. |
| block_sizeopt | INT | 71–21 | The block size the map was matched with (forced odd). It sets depth_discontinuity_radius to ceil(block_size / 2), exactly as the matcher-bound filter does - and that is not a cosmetic detail: one step off there changes the filtered disparity by 2000+ px at the worst pixel. Leave it matching the matcher. |
| lrc_thresholdopt | FLOAT | 240–256 | Left-right consistency tolerance in 1/16 pixel units: disagreements above it are marked unconfident and re-filled by the filter. Only does anything when disparity_right is wired. |
| depth_discontinuity_radiusopt | INT | 00–32 | Radius (px) around depth discontinuities used when computing confidence. 0 = ceil(block_size / 2), which is what the matcher-bound filter picks. |
| roiopt | COMBO | auto (skip the invalid left band) | 'auto' filters everything except the invalid left band implied by num_disparities/min_disparity, which is what the matcher-bound filter does. 'full frame' reproduces cv2's own generic default - keep it only to demonstrate the difference, it corrupts a real map. |