ComfyUI Node Runs on cloud

From SEG_ELT

Crack open a single detection and read its parts

By ltdrdata·Created 3 years ago·Updated 4 months ago· 3,242
From SEG_ELT
  • seg_elt
  • seg_elt
  • cropped_image
  • cropped_mask
  • crop_region
  • bbox
  • control_net_wrapper
  • confidence
  • label

This is a power-user node, and the README files it under "experimental" for a reason - but if you're doing anything custom with detections, it's how you get your hands on the raw pieces. A SEGS is a collection; a SEG_ELT is one element of it - a single detected thing. From SEG_ELT decomposes that one element into all its component parts so you can inspect them, route them, or feed them into logic that a normal SEGS chain never exposes.

You reach for it after DecomposeSEGS (which splits a SEGS into individual SEG_ELTs) when you want to do something per-detection that the packaged detailer nodes don't offer: pull the cropped image out, read the confidence score to make a decision, grab the exact bounding box coordinates.

How it works

The pack's SEG_ELT nodes are its escape hatch into the internals of a detection. Where the detailer nodes treat a detection as an opaque blob to refine and paste, this node unpacks it. The README lists the SEG_ELT family under "SEGS_ELT Manipulation" as experimental tooling for "detailed manipulation," and From SEG_ELT is the read side - it extracts, it doesn't modify (that's Edit SEG_ELT's job).

The inputs and outputs

One input: seg_elt - a single decomposed detection. The value is in the outputs, and there are a lot of them:

  • seg_elt - the element passed straight through, so you can chain it onward.
  • cropped_image and cropped_mask - the actual pixels and mask for this one detection.
  • crop_region and bbox - the geometry: where the crop sits and where the detection box is.
  • control_net_wrapper - any ControlNet attached to this detection.
  • confidence - the detector's score for this hit, as a FLOAT. This is the useful one for logic: branch on it to drop low-confidence detections.
  • label - the detection's label, as a STRING.

That confidence-and-label pair is why the node exists for most people: it lets you build conditional workflows that treat a shaky 0.4 detection differently from a solid 0.9 one, using Impact Pack's logic nodes.

How to install it

ComfyUI Manager: search ComfyUI Impact Pack, install, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack, install requirements into ComfyUI's Python (pip install -r requirements.txt, or ..\..\..\python_embeded\python.exe -m pip install -r requirements.txt for Windows portable), restart. No auto-install since v7.6. A small SAM model downloads to ComfyUI/models/sams on first load.

Common issues

cropped_image is empty. A SEG_ELT only carries an image if the SEGS it came from had one - fresh detector output is mask-and-geometry only, no pixels. Run it through SEGSDetailer first, or set an image with Set Default Image for SEGS before decomposing, if you need the crop.

You fed it a whole SEGS. This node wants a single SEG_ELT, not the collection. Put a DecomposeSEGS in front to split the SEGS into individual elements first; feeding the collection directly won't connect.

It feels fiddly because it is. The README flags the entire SEG_ELT family as experimental. If you just want to refine faces, you never need this - the standard detect / detail / paste nodes handle it. Reach for From SEG_ELT only when you're building per-detection logic that the packaged nodes can't express.

CategoryImpactPack/Util

Inputs (1)

NameTypeDefaultDescription
seg_eltSEG_ELT

Outputs (8)

NameTypeDescription
seg_eltSEG_ELT
cropped_imageIMAGE
cropped_maskMASK
crop_regionSEG_ELT_crop_region
bboxSEG_ELT_bbox
control_net_wrapperSEG_ELT_control_net_wrapper
confidenceFLOAT
labelSTRING