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.