Project-MONAI / Project-MONAI/MONAI
Restormer Implementation for MONAI: High-Resolution Image Restoration
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8.7k
- Forks
- 1.6k
- Avg merge
- 5d 1h
- Merged PRs (30d)
- 20
Description
Is your feature request related to a problem? Please describe.
I've noticed that MONAI currently lacks dedicated models for image denoising and restoration tasks. While MONAI provides excellent tools for medical image analysis, having specialized architectures for improving image quality would be valuable for preprocessing pipelines and enhancing low-quality medical images (microscopy, X-ray, scans...).
Describe the solution you'd like
I have implemented a well-documented version of the Restormer model (https://arxiv.org/abs/2111.09881) that could be contributed to MONAI. The implementation includes key components like:
- Multi-DConv Head Transposed Self-Attention (MDTA) for efficient attention computation
- Gated-DConv Feed-Forward Network (GDFN) for refined feature selection
- Modular architecture allowing easy extension and modification
- Support for flash attention when available
- Comprehensive documentation of components and architecture
Describe alternatives you've considered
The implementation is already structured in a modular way with clear separation of components. I'm willing to:
- Refactor the code to meet MONAI coding standards
- Add appropriate type hints and docstrings
- Include unit tests
- Provide example notebooks demonstrating usage
- Add benchmarks comparing performance
Additional context
The code is currently functional and tested. It supports both standard and dual-pixel tasks, with configurable parameters for network depth, attention heads, and feature dimensions. The implementation prioritizes efficiency through features like flash attention support while maintaining flexibility for different use cases.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the Restormer paper and the existing implementation described in the issue, then compare its components and configurable modes with MONAI's model conventions. Define the integration scope, coding standards, unit tests, documentation, examples, and benchmarks needed for the contribution to be complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- computer-vision, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100