Code: https://github.com/armeetj/3dlab
Demo App: https://3dlab.fly.dev/
3D MRI Volume Renderer in the Browser!
Built this WebGL renderer to solve a problem I had working on AI models for MRI reconstruction at Caltech. The 3D volumes were too massive for standard Python plotting tools - best I could do was 2D slices with matplotlib/plotly. So I made this simple browser-based renderer for quick 3D visualization.
Currently renders a 512x512x160 volume (~170MB) at around 20fps on my M1 MacBook Pro.
Quick note: This is just a hobby project, not production software. Built it with lots of help from Claude Code & Amp!
Tech Stack:
Client: Rust + egui/eframe compiled to WASM
Renderer: WebGL ray marching with glow
Server: Axum serving HDF5 files
Features:
✓ Real-time volume rendering with ray marching
✓ Trackball rotation (no gimbal lock!)
✓ Quality/performance slider
✓ Opacity control
✓ Hover to see voxel data
✓ Occupancy grid optimization
✓ XYZ axes
✓ Async loading
Works with any 3D volume in HDF5 format. Sample data available from Stanford's SKM-TEA dataset. The project's a bit rough but works great for my needs. Open to contributions - just open an issue first so we can discuss!
Controls: Drag to rotate, scroll to zoom, sidebar for adjustments