Skip to content

Conversation

@mmeagher
Copy link

@mmeagher mmeagher commented Nov 8, 2025

No description provided.

mmeagher and others added 14 commits October 18, 2025 22:19
- Added ability to visualize information by coloring the points (currently based on height or distance from centre).
Modified the notebook to systematically generate 100 point cloud variations with:
- 15 different text prompts (furniture descriptions)
- Varied guidance scales (2.0 to 5.0)
- Different karras steps (64, 96, 128)
- Varying s_churn values (0.5 to 5.0)

Features:
- Sequential file naming (pointcloud_001.ply to pointcloud_100.ply)
- CSV tracking file with all parameters for each variation
- Organized output in pointcloud_variations/ directory
- Easy lookup of parameters for successful models

Added NOTEBOOK_MODIFICATIONS.md with detailed documentation
Modified cell 7 to automatically create a zip file containing:
- All generated PLY files
- CSV parameters file
- Timestamped filename for easy organization

The zip file is created after all point clouds are generated.
Added two new cells for visualizing generated point clouds:

Cell 9 - Grid Visualization:
- Displays all point clouds in a 3-column grid layout
- Shows abbreviated prompt and key parameters as titles
- Saves visualization as 'pointcloud_grid_visualization.png'
- Useful for quick comparison of all variations

Cell 10 - Individual Detailed View:
- Shows each point cloud individually with full detail
- Displays complete parameters for each variation
- Larger figure size for better viewing
- Configurable to show all or specific variations

Both cells load PLY files, render 3D point clouds with colors,
and provide different viewing approaches for analyzing results.
Fixed AttributeError: PointCloud has no 'read_ply' method

Changes:
- Cell 6: Store generated point clouds in a list for later visualization
- Cell 9: Use in-memory point clouds instead of loading from PLY
- Cell 10: Use in-memory point clouds instead of loading from PLY

The PointCloud class only supports writing PLY files, not reading them.
Point clouds are now kept in memory after generation for visualization.
Changes:
1. Grid Visualization (Cell 10):
   - Changed from 3 to 6 columns per row
   - Adjusted figure size to (20, 3.5 * num_rows)
   - Reduced font size to 6 for better fit

2. Mesh Generation (New Cell 7):
   - Load SDF model for mesh conversion
   - Generate meshes from all point clouds using marching_cubes_mesh
   - Save meshes to mesh_variations/ directory
   - Store meshes in memory for potential future use
   - Uses grid_size=32 for speed (can be increased to 128 for quality)

3. Zip File Creation (Cell 8):
   - Now includes both point cloud PLY files and mesh PLY files
   - Separate folders in zip: pointcloud_variations/ and mesh_variations/
   - Updated progress messages to show counts of each type
   - Shows total contents in final summary

The notebook now generates both point clouds and meshes, saving and
zipping them together with the parameter CSV file.
Changes to Cell 10 (Grid Visualization):
- Now displays point clouds and their corresponding meshes side by side
- Layout: 3 variations per row (each taking 2 columns)
- Each variation shows: Point Cloud (left) | Mesh (right)
- Total: 6 columns per row

Point Cloud Display:
- Scatter plot with RGB vertex colors
- Same visualization as before

Mesh Display:
- 3D polygon collection showing mesh faces
- Vertex colors transferred to face colors (averaged)
- Uses Poly3DCollection for proper mesh rendering
- Fallback to gray color if vertex colors unavailable
- Same viewing angle and bounds as point cloud for easy comparison

Both subplots share:
- Same title information (variation #, prompt, parameters)
- Same 3D bounds for consistent scale
- Same viewing angle (elev=20, azim=45)
- Compact font size (6pt) to fit more information

This allows direct visual comparison between the point cloud
representation and the generated mesh for each variation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants