Application for DICOM imaging pixel and metadata visualization. This tool provides a user-friendly interface for handling, viewing, and analyzing DICOM medical imaging files.
- DICOM file loading and parsing
- Pixel data visualization
- Metadata extraction and display
- Network DICOM transfer support
- Database storage for DICOM metadata
- User-friendly GUI interface
dicom_app/
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── main.py
├── config.py
├── ui/
│ ├── __init__.py
│ ├── main_window.py
│ └── file_viewer.py
├── dicom/
│ ├── __init__.py
│ ├── file_handler.py
│ └── network.py
└── database/
├── __init__.py
└── db_handler.py
- Python 3.9 or higher
- Docker 20.10 or higher
- Docker Compose 2.0 or higher
- Clone the repository:
git clone https://github.com/yourusername/dicom-connector.git
cd dicom-connector- Build and run the application using Docker Compose:
docker compose up --buildThe application will be available at http://localhost:8000
- Clone the repository:
git clone https://github.com/yourusername/dicom-connector.git
cd dicom-connector- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Run the application:
python main.pyThe application can be configured by modifying the config.py file or using environment variables:
# config.py
DATABASE_URL = "postgresql://user:password@localhost:5432/dicom_db"
DICOM_PORT = 11112
DEBUG_MODE = FalseEnvironment variables override the config file settings:
DICOM_DB_URL: Database connection stringDICOM_PORT: Port for DICOM network operationsDEBUG: Enable debug mode
The docker-compose.yml file includes the following services:
version: '3.8'
services:
app:
build: .
ports:
- "8000:8000"
- "11112:11112"
environment:
- DICOM_DB_URL=postgresql://user:password@db:5432/dicom_db
depends_on:
- db
db:
image: postgres:14
environment:
- POSTGRES_DB=dicom_db
- POSTGRES_USER=user
- POSTGRES_PASSWORD=password
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:- Launch the application
- Use the File menu to open DICOM files or establish network connections
- View image data and metadata in the main window
- Use the toolbar for common operations like zoom, pan, and window/level adjustment
- Create a new branch for your feature
- Implement the feature following the project structure
- Add tests in the appropriate test directory
- Submit a pull request
python -m pytest tests/- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- DICOM standard documentation
- PyDICOM library
- Contributors and maintainers
For support, please open an issue in the GitHub repository or contact the maintainers.