Skip to content

Commit

Permalink
update doi and contibuting guideline
Browse files Browse the repository at this point in the history
  • Loading branch information
guanhuaw committed Sep 29, 2024
1 parent c984b04 commit b2d1a84
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 5 deletions.
53 changes: 53 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Contributing to MIRTorch

Thank you for your interest in contributing to MIRTorch! MIRTorch is an academic project focused on advancing medical imaging reconstruction methods. Your contributions are valuable in improving and extending this library, e.g., adding new linear operators for modalities beyond MRI, optimization solvers, and other useful tools.

## How to Contribute

We encourage contributions that expand the functionality of MIRTorch while maintaining user-friendly and hackable. Below are some suggestions.

### 1. Reporting Bugs

If you find any bugs, please [open an issue](https://github.com/guanhuaw/MIRTorch/issues) on GitHub. When reporting, please include:
- A clear description of the problem.
- The version of MIRTorch, Python, and PyTorch you are using.

### 2. Implementing LinearMap Extensions

For any work related to `LinearMap`, please ensure:
- **Testing Linearity:** All new LinearMap implementations must be tested for linearity. This means that the map should satisfy both additivity and homogeneity properties:
- Additivity: `A(x1 + x2) = A(x1) + A(x2)`
- Homogeneity: `A(c * x) = c * A(x)` for any scalar `c`.

Please consider designing tests that explicitly verify these conditions.

### 3. Optimization Solvers

When working on optimization solvers, please make sure:
- The solver is tested on at least **one kind** of `LinearMap` to ensure compatibility and correctness.
- Tests should include convergence criteria and comparisons with baseline solvers when applicable.

Document any assumptions or limitations in the implementation.

### 4. Submitting Pull Requests

When you're ready to submit your code:
- Fork the repository and make your changes in a new branch.
- Ensure your code passes all existing tests and add new tests if necessary using `pytest`.
- Follow the coding style used in the project.
- Open a pull request with a clear description of your changes.

### 5. Coding Standards

- Write easy-to-read and well-documented code. Clear is better than clever.
- Use meaningful variable and function names.
- Ensure your code is modular and maintainable.
- Include comments where necessary to explain complex sections.

### 6. Tests

All new features must include tests. We use [PyTest](https://pytest.org) for testing. Run tests locally before submitting your code to ensure nothing is broken.

---

Thank you again for contributing to MIRTorch. We look forward to working together!
15 changes: 10 additions & 5 deletions paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ @article{CG
volume = {49},
number = {1},
year = {1952},
publisher = {NBS Washington, DC}
publisher = {NBS Washington, DC},
doi = {10.6028/igres.049.044}
}

@article{deep_learning,
Expand Down Expand Up @@ -58,7 +59,8 @@ @article{FISTA
number = {1},
pages = {183--202},
year = {2009},
publisher = {SIAM}
publisher = {SIAM},
doi = {10.1137/080716542}
}

@article{primal_dual,
Expand All @@ -68,7 +70,8 @@ @article{primal_dual
volume = {40},
pages = {120--145},
year = {2011},
publisher = {Springer}
publisher = {Springer},
doi = {10.1007/s10851-010-0251-1}
}

@article{proximal,
Expand All @@ -79,7 +82,8 @@ @article{proximal
number = {3},
pages = {127--239},
year = {2014},
publisher = {Now Publishers, Inc.}
publisher = {Now Publishers, Inc.},
doi = {10.1561/2400000003}
}

@article{sampling,
Expand Down Expand Up @@ -110,5 +114,6 @@ @article{Gadgetron
number = {6},
pages = {1768--1776},
year = {2013},
publisher = {Wiley Online Library}
publisher = {Wiley Online Library},
doi = {10.1002/mrm.24389}
}

0 comments on commit b2d1a84

Please sign in to comment.