Nodes/Atlas Camera/Atlas Decompose Solve
ComfyUI Node

Atlas Decompose Solve

The gateway to your camera's numbers

By mikejamesvfx·Created 3 months ago·Updated a day ago· 1
Atlas Decompose Solve
  • solve
  • camera
  • confidence
  • source_method
  • image_width
  • image_height
  • solve_json
  • horizon_angle_deg

An ATLAS_SOLVE is an opaque bundle - camera, confidence, method, geometry, all packed together. Most of the time you treat it as a black box and feed it to the viewport. But every pipeline needs a moment where you look inside, and Atlas Decompose Solve is that moment: it breaks the solve into its typed components so you can read the numbers, wire the camera onward, or log the solve's own JSON.

What comes out

Feed it a solve and you get seven outputs:

  • camera - the ATLAS_CAMERA itself, split out as a typed object. This is the hand-off to AtlasDecomposeCamera (for raw floats) or to anything that wants just the camera without the rest of the solve.
  • confidence - the solve's confidence float. This is the number to actually look at. It tells you whether the recovered camera is trustworthy or a shrug. Low confidence is your cue to check the image, switch solve methods, or constrain the solve.
  • source_method - how the camera was recovered (the geometric vanishing-point solve, a learned prior, a constrained solve, etc.). Read it when you're debugging: "why is this focal length weird?" often resolves to "because it was solved with this method."
  • image_width, image_height - the plate size the solve was built for.
  • solve_json - the whole solve serialized to a JSON string. The escape hatch: dump it, inspect it, log it, or feed it to a tool that understands the format.
  • horizon_angle_deg - the recovered horizon angle, pulled from the solve's debug metadata. For a level camera this is ~0; a tilted shot shows its roll here.

Why you'd wire it

The decompose pair exists to make the pack transparent. Concrete uses:

  • Trust checks. Route confidence into a gate or a log. The pack's own QA philosophy is "advisory, artist decides" - this is the raw material for that decision.
  • Downstream math. camera feeds AtlasDecomposeCamera for fov_h_deg / focal_mm / position floats; image_width/image_height feed resolution-dependent nodes.
  • Debugging. When a solve looks wrong, source_method + solve_json + horizon_angle_deg together tell you how it was solved and what it thinks the horizon is - usually enough to spot a mis-solve.
  • Interop. solve_json is the pack's machine-readable solve format, the same one AtlasExportSolveJSON / AtlasLoadSolveJSON write and read. A text output means any node or script can consume the solve without the ATLAS_SOLVE type.

It's a pure read-only node - no computation beyond formatting, no extras, no GPU. Install is the pack's usual clone-and-go. If you've ever stared at a solve and wished it would tell you what it was thinking, this is the node that finally does.

CategoryAtlas/01 · Input & Camera

Inputs (1)

NameTypeDefaultDescription
solveATLAS_SOLVE

Outputs (7)

NameTypeDescription
cameraATLAS_CAMERA
confidenceFLOAT
source_methodSTRING
image_widthINT
image_heightINT
solve_jsonSTRING
horizon_angle_degFLOAT