viewdoo 0.1.4
Medical Image Viewing and Conversion Tool
Requires Python: >=3.6

![logo_original](https://github.com/user-attachments/assets/eec0239c-69f1-4831-8522-5b83dedaaf1a)

# ViewDoo

A user-friendly GUI tool for medical image visualization and format conversion, with support for DICOM, RT-STRUCT, NIfTI, NRRD, and NumPy arrays.

<img width="1297" alt="gui" src="https://github.com/user-attachments/assets/ac322ba4-ecf8-47f9-bdac-e30a3124db95">

## Features

- **Multi-format Support**
  - View and convert between DICOM, NIfTI, NRRD, and NumPy formats
  - Import and visualize RT-STRUCT files
  - Export visualizations as PNG

- **Advanced Visualization**
  - Multi-planar reconstruction (Axial, Sagittal, Coronal)
  - Real-time window/level adjustment
  - Structure overlay with customizable appearance
  - One-click navigation to largest structure cross-sections

- **Format Conversion**
  - Preserve spatial metadata and orientation
  - Flexible resampling and interpolation options
  - LPS orientation handling
  - Batch processing support

## Installation

```bash
# Create a new environment
conda create -n viewdoo python=3.9
conda activate viewdoo

# Install ViewDoo and dependencies
pip install viewdoo
```

## Usage

Launch ViewDoo:
```bash
viewdoo
```

Or run from Python:
```python
from viewdoo import launch_gui
launch_gui()
```

### Interface Guide

- **File Browser** (Top Left): Navigate and select input files
- **Canvas Controls** (Bottom Left): Adjust visualization settings
- **Main Canvas** (Top Center): Primary visualization area
- **Multi-planar Views** (Bottom): Synchronized axial, sagittal, and coronal views
- **Structure Viewer** (Top Right): RT-STRUCT navigation and visibility controls
- **Conversion Panel** (Bottom Right): Format conversion settings

## Dependencies

- SimpleITK: Core image processing
- RT-Utils: RT-STRUCT handling
- PyDICOM: DICOM operations
- NumPy: Array operations
- Matplotlib: Visualization

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

## License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.

## Citation

If you use ViewDoo in your research, please cite:

```bibtex
@software{viewdoo2024,
  title={ViewDoo: A Medical Image Conversion and Visualization Tool},
  author={Colbert, Zachery Morton and Arrington, Daniel and Ramachandran, Prabhakar},
  year={2024},
  url={https://github.com/username/viewdoo}
}
```

## Acknowledgments

ViewDoo builds on several open-source projects:
- SimpleITK
- RT-Utils
- PyDICOM
- NumPy
- Matplotlib