ComfyDeploy: How ComfyUI_depthMapOperation works in ComfyUI?

What is ComfyUI_depthMapOperation?

A simple set of nodes to generate a point cloud from an image and its depth map, perform transformations and some basic operations.

How to install it in ComfyDeploy?

Head over to the machine page

  1. Click on the "Create a new machine" button
  2. Select the Edit build steps
  3. Add a new step -> Custom Node
  4. Search for ComfyUI_depthMapOperation and select it
  5. Close the build step dialig and then click on the "Save" button to rebuild the machine

ComfyUI_depthMapOperation

A simple set of nodes to generate a point cloud from an image and its depth map, perform transformations and some basic operations.

Here an example of what can be done (not the gif, but the various rotations)

<div class="grid" align="center" markdown> <img src=".//assets/start.jpg" width=40%> <img src=".//assets/gif.gif" width=40%> </div>

Installation

On the console in the custom_nodes filder execute:

git clone https://github.com/chri002/ComfyUI_depthMapOperation

Requirements

these nodes require in order to function:

  • torch
  • numpy
  • opencv-python
  • scipy
  • pandas

Workflow

workflow


Nodes

Image To Points (Torch)

Image To Points

Description

GPU-accelerated version using PyTorch tensors. Maintains gradient flow and supports automatic device placement.

Input Parameters:

  • image: Input RGB/RGBA image
  • depth_image: Depth map image
  • depth: Z-axis scaling factor (1-1024)
  • quality: Downsampling quality (1=1 point:1 pixel , 16=16 interpolate points every 2 pixel)

Output:

  • Points3D: XYZ coordinates + RGB colors

Transform Points

Transform Points

Description

Applies 3D transformations to point clouds (rotation, translation, scaling).

Input Parameters:

  • points: Input point cloud (Points3D)
  • rot_x/y/z: Euler angles in degrees
  • trl_x/y/z: Translation offsets
  • scale_x/y/z: Axis-specific scaling factors

Output:

  • Points3D: Transformed point cloud (XYZ coordinates + RGB colors)

Points To Image (Orthographic)

Points To Image (Orthographic)

Description

Renders 3D points to 2D image using orthographic projection.

Input Parameters:

  • images: Template for output dimensions
  • points: Point cloud to render (Points3D)
  • color: Enable RGB coloring

Output:

  • IMAGE: Rendered grayscale/RGB image

Points To Image (Projection)

Points To Image (Projection)

Description

Perspective projection renderer with customizable FOV.

Input Parameters:

  • images: Template for output dimensions
  • points: Point cloud to render (Points3D)
  • color: Enable RGB coloring
  • fov: Field of View in degrees (1-2000)

Output:

  • IMAGE: Rendered grayscale/RGB image

Cube Limit

Cube Limit

Description

Filters points within relative cube dimensions (0-100% of original bounds).

Input Parameters:

  • points: Point cloud to render (Points3D)
  • 6 axis range parameters (x_min-x_max, etc.)

Output:

  • Points3D: Subset of points within cube (XYZ coordinates + RGB colors)

Clean Points (KDTree)

EClean Points (KDTree)

Description

Removes outliers using KDTree neighborhood analysis.

Parameters:

  • points: Point cloud to render (Points3D)
  • k: Minimum neighbors required
  • m: Max neighbor distance threshold

Output:

  • Points3D: Cleaned point cloud (XYZ coordinates + RGB colors)

Interpolate Points (KDTree)

Interpolate Points (KDTree)

Description

Generates new points through neighborhood-based interpolation using KDTree. Enhances point cloud density in sparse regions by creating intermediate points between existing neighbors.

Input Parameters:

  • points: Input 3D point cloud
  • value: (0-1) Blend ratio for new points (0=keep original, 1=full interpolation)
  • n: Number of nearest neighbors to consider (0-32)

Output:

  • Points3D: Point cloud with added interpolated points (XYZ coordinates + RGB colors)

Export To PLY

Export To PLY

Description

Exports point cloud to PLY format (ASCII/binary).

Input Parameters:

  • points: Point cloud to render (Points3D)
  • multiple_files: Split XYZ/RGB data
  • format_out: File encoding format

Import PLY

Import PLY

Description

Import PLY point cloud files into compatible Point3D format. (Sperimental)

Input Parameter:

  • .ply file selection

Output:

  • Points3D: Loaded point cloud data (XYZ coordinates + RGB colors)

Cloud Points Info

Cloud Points Info

Description

Displays point cloud statistics and coordinate ranges.

Output:

  • STRING: Formatted summary text

DEMO FUNCTIONS

<a target="_blank" href="https://colab.research.google.com/github/chri002/ComfyUI_depthMapOperation/blob/main/test.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Test In Colab" height="30px"/> </a>

TODO

  • Fix artifacts with some extreme values