Expand description
GPU-accelerated volume rendering with WGPU
This crate provides GPU-accelerated and CPU-fallback implementations for:
- DVR (Direct Volume Rendering) with ray casting
- MIP (Maximum Intensity Projection) rendering
- MPR (Multi-Planar Reconstruction) slice extraction
- Marching Cubes isosurface extraction
§Feature Flags
gpu(default): Enable GPU compute via wgpu
§Architecture
The crate uses an adaptive backend selection system that automatically chooses between GPU and CPU execution based on hardware capabilities, volume size, and runtime performance sampling.
Re-exports§
pub use backend::BackendSelectionReason;pub use backend::BackendSelector;pub use backend::BackendStatistics;pub use backend::ComputeBackend;pub use backend::GpuCapabilityInfo;pub use colormap::Colormap;pub use cpu_executor::CpuMprExecutor;pub use marching_cubes::MarchingCubes;pub use marching_cubes::Mesh;pub use marching_cubes::Triangle;pub use marching_cubes::Vertex;pub use mesh::export_to_ply;pub use mesh::fill_holes;pub use mesh::remove_islands;pub use mesh::smooth_mesh;pub use mesh::HoleFillingConfig;pub use mesh::HoleFillingMethod;pub use mesh::HoleFillingResult;pub use mesh::IslandRemovalConfig;pub use mesh::IslandRemovalResult;pub use mesh::ManifoldValidation;pub use mesh::MeshProcessingSettings;pub use mesh::PlyExportOptions;pub use mesh::PlyFormat;pub use mesh::SmoothingAlgorithm;pub use mesh::SmoothingConfig;pub use mesh::SmoothingResult;pub use mpr_ops::ExtractParams;pub use mpr_ops::MprError;pub use mpr_ops::MprExecutor;pub use mpr_ops::MprOperation;pub use mpr_ops::MprResult;pub use mpr_ops::MprTiming;pub use mpr_ops::WindowLevelParams;pub use window_level::ct_preset;pub use window_level::WindowLevelProcessor;pub use gpu_executor::GpuMemoryStrategy;pub use gpu_executor::GpuMprExecutor;pub use gpu_executor::GpuVolume;pub use gpu_executor::MAX_GPU_BUFFER_SIZE;pub use gpu_executor::SAFE_GPU_BUFFER_SIZE;pub use gpu_marching_cubes::GpuMarchingCubes;pub use volume_render::Camera;pub use volume_render::ClipBoxConfig;pub use volume_render::ClipPlaneConfig;pub use volume_render::DvrOptions;pub use volume_render::MaskConfig;pub use volume_render::RenderMode;pub use volume_render::RenderResult;pub use volume_render::SlicePlaneConfig;pub use volume_render::SculptUniforms;pub use volume_render::TransferFunction;pub use volume_render::TransferFunctionEntry;pub use volume_render::TransferFunctionPreset;pub use volume_render::VolumeRenderer;
Modules§
- backend
- Compute Backend Selection
- colormap
- Colormap / Pseudo-color mapping
- config
- Configuration module for GPU volume rendering
- cpu_
executor - CPU MPR Executor
- gpu_
executor - GPU MPR Executor
- gpu_
marching_ cubes - GPU-Accelerated Marching Cubes
- marching_
cubes - Marching Cubes Algorithm for Isosurface Extraction
- mesh
- Mesh Processing Module
- mpr_ops
- MPR Operations Trait
- volume_
render - 3D Volume Rendering Module
- window_
level - Window/Level Processing with LUT optimization