Nodes/atlas-camera/Atlas Depth Map 🌊
ComfyUI Node

Atlas Depth Map 🌊

A ComfyUI node in Atlas/03 Β· Depth with 10 inputs and 1 output.

By mikejamesvfxΒ·Created 2 months agoΒ·Updated about 23 hours agoΒ· 1
Atlas Depth Map 🌊
  • image
  • solve
  • depth
β—„depth_modeldepth-anything/Depth-Anything-V2-Metric-Outdoor-Large-hfβ–Ί
β—„deviceautoβ–Ί
β—„moge_resolution_level9β–Ί
β—„moge_max_side0β–Ί
β—„moge_checkpoint_pathβ–Ί
β—„moge_tile_side0β–Ί
β—„moge_tile_overlap0.25β–Ί
β—„moge_report_free_focalfalseβ–Ί
CategoryAtlas/03 Β· Depth

Inputs (10)

NameTypeDefaultDescription
imageIMAGEβ€”
depth_modeloptCOMBOdepth-anything/Depth-Anything-V2-Metric-Outdoor-Large-hf10 options: depth-anything/Depth-Anything-V2-Metric-Outdoor-Large-hf, depth-anything/Depth-Anything-V2-Metric-Indoor-Large-hf, depth-anything/DA3METRIC-LARGE, depth-anything/DA3MONO-LARGE, depth-anything/DA3NESTED-GIANT-LARGE-1.1, Ruicheng/moge-2-vitl-normal, +4
deviceoptCOMBOauto4 options: auto, cuda, mps, cpu
solveoptATLAS_SOLVEOptional — supplies the SOLVED focal (GeoCalib/VP) for DA3METRIC's canonical→metric conversion (focal_source='solve' instead of the assumed normal-lens fallback). Ignored by V2 models.
moge_resolution_leveloptINT90–9MoGe ONLY. Its own token-budget dial; 9 is MoGe's default and full detail. Lower = faster and coarser. No effect on DA/V2/DepthPro.
moge_max_sideoptINT00–16384MoGe ONLY. Cap the longer edge BEFORE inference (0 = off). MoGe resamples internally anyway, so this buys VRAM and time, not quality β€” an 8K plate is ~415 MB of float32 on the device before MoGe touches it. Depth/normals still come back at SOURCE size.
moge_checkpoint_pathoptSTRINGMoGe ONLY. Local MoGe `model.pt` to load instead of downloading from HuggingFace (air-gapped / shared model dirs). NOT ComfyUI core's geometry_estimation/*.safetensors β€” different container, and it carries no model_config.
moge_tile_sideoptINT00–4096MoGe ONLY. Run inference on overlapping TILES of this size at SOURCE resolution (0 = off). The opposite lever to moge_max_side: that one downscales to save VRAM, this one refuses to downscale so a 36MP plate keeps its fine structure β€” the model spends its whole token budget on each tile instead of on the shrunken whole. Costs one inference pass PER TILE plus one global pass, so a 4x4 tiling is ~17x the time. Every tile is affine-fitted onto that global pass first: monocular depth is scale-ambiguous per input, so raw tiles disagree and pasting them steps at every seam. Try 1024.
moge_tile_overlapoptFLOAT0.250–0.5MoGe ONLY. Tile overlap as a fraction of tile size. More overlap = wider blend and more tiles (slower). Only used when moge_tile_side > 0.
moge_report_free_focaloptBOOLEANfalseMoGe ONLY. When a solve is wired, MoGe is FED the solve's focal, so its own intrinsics just echo it. This runs a second, fov-free pass (depth discarded, cheaper resolution level) and records MoGe's INDEPENDENT focal so the 🩺 debug report can flag a focal_mismatch (band 0.75-1.33). ~+30% time. sh001 example: solve 6207 px vs MoGe 5278 px β€” invisible without this.

Outputs (1)

NameTypeDescription
depthATLAS_DEPTH_MAPβ€”