This application is a 3D volume viewer designed to visualize medical imaging data of mouse body parts. The frontend is built with React and communicates with a Node.js backend that serves the volume files. Users can select different body parts and view the corresponding 3D volume files.
- Visualize 3D volume data in various formats (OME-TIFF, OME-ZARR, TIFF).
- Control rendering modes (Path Trace, Ray March).
- Adjust visualization parameters such as density, exposure, and gamma.
- Manipulate lighting settings and camera modes.
- Playback functionality for time-series data.
- Dynamic channel controls to adjust color and material properties.
- Set clipping regions and view bounding boxes.
- Flip volume along different axes.
- Screenshot capturing functionality.
- RESTful API for serving volume files.
- Node.js (v12 or later)
- npm (v6 or later)
-
Clone the repository:
git clone https://github.com/yourusername/3d-volume-viewer.git cd 3d-volume-viewer -
Navigate to the backend directory:
cd server -
Install dependencies:
npm install
-
Start the server:
npm start
-
Navigate to the frontend directory:
cd ../client -
Install dependencies:
npm install
-
Start the development server:
npm start
-
Open your browser and navigate to
http://localhost:3000.
- Place your volume files in the appropriate directories under
server/uploads. Each directory represents a different body part (e.g.,liver,brain).
- Use the file selector in the frontend to choose a body part and a specific volume file.
- Adjust rendering and visualization settings using the provided controls.
- Use playback controls to navigate through time-series data.
- Capture screenshots using the screenshot button.