- Overview
- Tech Stack
- Demo Video
- Quick Start
- Project Structure
- Core Components
- Technical Implementation
- Development Challenges
- Acknowledgments
A specialized web application for viewing and manipulating DICOM (Digital Imaging and Communications in Medicine) files, built with React, TypeScript, and Konva.js.
DCV_Demo.mp4
# Clone repository
git clone https://github.com/falgun143/Dicom_Viewer.git
# Install dependencies
npm install
# Start development server
npm run dev# Build Docker image
docker build -t dicom_viewer .
# Run container
docker run -p 5173:5173 dicom_viewernpm run buildnpm run start- Main entry point
- User interface ins pired by Vzy.co
- Konva.js integration
- Canvas stage management
- Cropping area implementation
- Measurement t ools
- Utilizes cornerstone.js for DICOM parsing
- Implements dicom-parser and dicom-image-l oader
- Local storage integration for image persistence
- Konva.js for interactive canvas elements
- Custom stage management for optimal performance
- Event handling for mouse/touch interactions
- React Context API for global state
- Custom hooks for DICOM operat ions
- Local storage integration for persistence
- Store base64 string in localStorage
- Extract and validate image type
- For standard images: direct base64 rendering
- For DICOM:
- Convert base64 to Blob
- Process through cornerstone
- Generate Image ID
- Render using Konva.js
- Required research into DICOM format
- Studied existing viewers for inspiration
- Analyzed medical imaging requirements
- Initially attempted ohif/core
- TypeScript compatibility issues
- Switched to cornerstone.js for better integration
- Implemented base64 storage solution
- Developed custom loading pipeline
- Handled different image format types
- Origin Medical team
- Cornerstone.js community
- Konva.js developers
