Atlas Crop Source Photo π·βοΈ
Give your generator the subject with its context
- source_image
- crop
- source_crop
- gen_width
- gen_height
- report
AtlasCropROI cuts the hole region out of your frame for the generator to fill. Atlas Crop Source Photo π·βοΈ is its quiet partner: it cuts the source photo to match that same region - because a subject-centric model doesn't want just the hole, it wants the subject with some surroundings so it understands what it's looking at. This node is how you give an inpainting or novel-view model its context, in the exact raster the crop expects.
The inputs
source_image- the full plate (the same imageAtlasCropROIwas given).crop-AtlasCropROI's crop handle. The whole node exists to translate that handle into a raster.
Then two optional knobs, both about framing:
pad_frac- extra context around the ROI rect, as a fraction of the rect's own size, clamped to the plate. Default 0 (the exact rect); set ~0.1β0.2 when your model keeps treating a close crop as a different scene. The output keeps the crop's aspect.square- expand the rect to a centered square, clamped to the plate. The tooltip says why it exists: many novel-view LoRAs were trained square. If your generator was, tick this.
That's the whole surface. Two inputs, two framing knobs, and the thing you're actually buying is consistency: source_crop comes out at the same raster conventions as the ROI's guide, with gen_width / gen_height as plain INTs to wire into the same generator's size widgets. You never hand-assemble a crop and hope the widths line up.
Where it fits
The typical wiring in the repair chain:
AtlasCropROI ββguideβββ [generator] ββfillβββ AtlasCompositeCrop
βββββcropβββββ AtlasCropSourcePhoto ββsource_cropβββ [generator as ref]
One AtlasCropROI drives both the fill and the source crop from the same handle, so nothing can drift between what the generator sees and where the fill lands when it comes back. That's the design worth appreciating: the crop handle is the single source of truth for the whole loop.
It's a small node, filed under Atlas/advanced with the rest of the ROI machinery. Pure tensor slicing - no extras, no GPU, pack's usual clone-and-go install. If you've been feeding generators full frames and wondering why the fills wander, this is the missing piece that makes them behave.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| source_image | IMAGE | The full plate (same image AtlasCropROI was given). | |
| crop | ATLAS_CROP | AtlasCropROI's crop handle. | |
| pad_fracopt | FLOAT | 0.000β1 | EXTRA context around the ROI rect (fraction of the rect size, clamped to the plate) β a subject-centric model wants the subject with some surroundings. 0 = the exact ROI rect. The output raster keeps the crop's aspect. |
| squareopt | BOOLEAN | false | Expand the rect to a square (centred, clamped to the plate) β many novel-view LoRAs were trained square. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| source_crop | IMAGE | β |
| gen_width | INT | β |
| gen_height | INT | β |
| report | STRING | β |