zensvi.transform.VGGTProcessor

class zensvi.transform.VGGTProcessor(vggt_path: str = 'vggt')

A class for processing images using VGGT model to generate point clouds.

process_images(image_paths: List[str]) Dict[str, Any]

Process images and generate predictions.

Parameters:

image_paths – List of paths to input images

Returns:

Dictionary containing processed predictions

generate_point_cloud(predictions: Dict[str, Any]) Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray]

Generate point cloud from model predictions.

Parameters:

predictions – Dictionary containing model predictions

Returns:

Tuple containing (points, colors, confidence, camera poses)

process_images_to_pointcloud(dir_input: str | pathlib.Path, dir_output: str | pathlib.Path, batch_size: int = 1, max_workers: int = 4) None

Process images to generate point clouds using VGGT model.

Parameters:
  • dir_input – Input directory or file containing images

  • dir_output – Output directory for point cloud files

  • batch_size – Batch size for processing

  • max_workers – Number of worker threads

visualize_point_cloud(points: numpy.ndarray, colors_flat: numpy.ndarray, marker_size: int = 1, opacity: float = 0.8, sample_rate: float = 0.1, camera_eye: Dict[str, float] | None = None, camera_up: Dict[str, float] | None = None) None

Visualizes a point cloud using Plotly with random sampling.

Parameters:
  • points (np.ndarray) – The point cloud coordinates array.

  • colors_flat (np.ndarray) – The colors array for the points.

  • marker_size (int) – Size of point markers.

  • opacity (float) – Opacity of points.

  • sample_rate (float) – Percentage of points to sample (0-1).

  • camera_eye (dict) – Camera position.

  • camera_up (dict) – Camera up direction.