Repository navigation
What's Changed
- Implement multiscale restarts by @eigenvivek in #1
- Set up ruff by @eigenvivek in #3
- Implement patient-agnostic training scripts by @eigenvivek in #5
- Add patient-specific training scripts by @eigenvivek in #6
- Move imports within functions by @eigenvivek in #7
- Add missing argument by @eigenvivek in #8
- Add Python API for registration by @eigenvivek in #9
- Refactor registration code by @eigenvivek in #10
- Replace setup.py with pyproject.toml by @eigenvivek in #11
- Implement modular initialization strategies by @eigenvivek in #12
- Fix bugs in fixed pose registration by @eigenvivek in #13
- Many miscellaneous updates by @eigenvivek in #14
- More miscellaneous updates by @eigenvivek in #15
- Compress images before saving by @eigenvivek in #16
- Bring animate API up to date by @eigenvivek in #17
- Fix directions for RAS+/LPS+ volumes by @eigenvivek in #18
- Add option to skip frames in
xvr animateby @eigenvivek in #19 - Specifically reorient RAO images by @eigenvivek in #20
- Create LICENSE by @eigenvivek in #21
- Small utilities and bug fixes by @eigenvivek in #22
- Update LICENSE by @eigenvivek in #23
- Add all training and inference scripts by @eigenvivek in #24
- More user info by @eigenvivek in #25
- Update the demo by @eigenvivek in #26
- Switch to uv backend by @eigenvivek in #27
- Update README by @eigenvivek in #28
- Update README.md by @eigenvivek in #29
- Add a development guide by @eigenvivek in #30
- Add a roadmap by @eigenvivek in #32
- Bump DiffDRR version by @eigenvivek in #33
- Save poses in torch convention by @eigenvivek in #34
- Update colab tutorials by @eigenvivek in #35
- Make compute device specifiable by @eigenvivek in #36
- Add installation time by @eigenvivek in #37
- Add jupyter utility packages by @eigenvivek in #43
- Add an optional Dice loss to the pose regression network by @eigenvivek in #44
- Fix gradient accumulation in the trainer by @eigenvivek in #45
- Update restart command to use Trainer class by @eigenvivek in #46
- Add an optional weight to the Dice loss by @eigenvivek in #47
- Simplify chain training protocols by @eigenvivek in #48
- Start swapping scripts from python to bash by @eigenvivek in #49
- Add instructions to install pre-commit hooks locally by @eigenvivek in #50
- Update test-time optimization API by @eigenvivek in #51
- Add custom support for parameter categories by @eigenvivek in #52
- Sync with DiffDRR v0.6.0rc3 by @eigenvivek in #53
- Simplify package dependencies by @eigenvivek in #54
- Simplify environment and restart script by @eigenvivek in #55
- Add coordinate frame transforms during training by @eigenvivek in #56
- Refactor a separate io subpackage by @eigenvivek in #57
- Change default orientation to AP by @eigenvivek in #58
- Add LoRA finetuning option by @eigenvivek in #60
- Allow training to restart from a folder by @eigenvivek in #61
- Bump to latest version of DiffDRR by @eigenvivek in #63
- Update docstrings in README by @eigenvivek in #64
- Add option to disable the LR scheduler by @eigenvivek in #65
- Revert DiffDRR source to PyPI by @eigenvivek in #67
- Make options lowercase in help strings by @eigenvivek in #68
- Fix affine matrix inversion by @eigenvivek in #69
- Switch from pre-commit to prek by @eigenvivek in #71
- Speed up IO with torchio.SubjectsLoader by @eigenvivek in #70
- Add bash tags by @eigenvivek in #72
- Misc fixes in training loop by @eigenvivek in #73
- Get latest checkpoint by time modified by @eigenvivek in #74
- Re-weight the training loss function terms by @eigenvivek in #75
- Add a random crop sampler for large volumes by @eigenvivek in #76
- Bump xvr version by @eigenvivek in #77
- Simplify 2D augmentations by @eigenvivek in #78
- Refactor an unnecessary CPU-to-GPU transfer by @eigenvivek in #80
- Switch to glob patterns for training vols and masks by @eigenvivek in #81
- Add WandB run ID option for training restarts by @eigenvivek in #82
- Revert glob pattern for input volumes by @eigenvivek in #83
- Remove nonexistent module by @eigenvivek in #84
- Use same hyperparameters as v0.0.0rc1 by @eigenvivek in #85
- Pin DiffDRR version by @eigenvivek in #86
- Remove hf dependency with uvx by @eigenvivek in #87
- Remove LoRa finetuning capabilities by @eigenvivek in #88
- Get the last checkpoint by lexicographical name by @eigenvivek in #89
- Add pairwise multiview consistency loss by @eigenvivek in #90
- Hot-fix loss function by @eigenvivek in #91
- Update training hyperparameters by @eigenvivek in #92
- Initial docs commit by @eigenvivek in #96
- Refactor CLI by @eigenvivek in #97
- Fix uv environment setup by @eigenvivek in #99
- Lower non-zero image pixel threshold by @eigenvivek in #101
- Add histogram equalization by @eigenvivek in #102
- Add a restart-from-previous-run optimizer by @eigenvivek in #103
- Add antipodal pose estimation by @eigenvivek in #104
- Update scripts for new API by @eigenvivek in #105
- Update CLAHE probability by @eigenvivek in #106
- Add optional weighted sampling for multivolume training by @eigenvivek in #107
- Miscellaneous fixes by @eigenvivek in #108
- Save models more granularly during training by @eigenvivek in #109
- Add a single source of defaults for the API/CLI by @eigenvivek in #111
- Major update (v0.0.0rc2) by @eigenvivek in #113
- Change from zensical to mkdocs by @eigenvivek in #124
- Fix docs build by @eigenvivek in #125
- Update docs.yml by @eigenvivek in #126
- Test docs build during PRs by @eigenvivek in #128
- Add jaxtyping dependency by @eigenvivek in #157
- Add dataclass for camera intrinsics by @eigenvivek in #158
- Refactor registration module by @eigenvivek in #159
- Use attrs to simplify inheritance by @eigenvivek in #160
- Add some QoL to registration classes by @eigenvivek in #161
- Add fast rendering to training by @eigenvivek in #162
- Add init_only registration option by @eigenvivek in #163
- Switch to cyclopts backend by @eigenvivek in #164
- Fix singularities at zero by @eigenvivek in #165
- Deprecate metrics and visualization modules by @eigenvivek in #166
- Deprecate ANTs by @eigenvivek in #167
- Add Hausdorff distance to training losses by @eigenvivek in #169
- Modularize registration backend with protocols by @eigenvivek in #168
- Misc training fixes by @eigenvivek in #170
- A few miscellaneous registration improvements by @eigenvivek in #171
- Add methods to speed up finetuning by @eigenvivek in #172
- Compact experiments into a single folder by @eigenvivek in #173
- Add cnvx2 backend by @eigenvivek in #174
- Clean up data organization by @eigenvivek in #175
- Deprecate warp kwarg in training by @eigenvivek in #176
- Fix precision for cross-platform reproducibility by @eigenvivek in #177
- Change plateau threshold mode to
absby @eigenvivek in #178 - Reproduce main branch's registration results by @eigenvivek in #179
- Synchronize experiment scripts with main by @eigenvivek in #180
- Consolidate experiment files by @eigenvivek in #181
- Update experiments structure by @eigenvivek in #182
- Pin SO(3) parameterization by @eigenvivek in #183
- Add antipodal kwarg to model inference by @eigenvivek in #184
- Add runtime measurement and evaluation by @eigenvivek in #185
- Synchronize dev branch with main by @eigenvivek in #186
- Major upgrades to package structure by @eigenvivek in #187
- Migrate docs to zensical by @eigenvivek in #188
- Fix security vulnerabilities by @eigenvivek in #189
- Add radius flag to read_xray to isolate circular detector area by @Dark-Knight499 in #190
- Add test suite by @eigenvivek in #191
- Add citation by @eigenvivek in #193
- Add PyPI build and install instructions by @eigenvivek in #194
- Hotfix docs versioning by @eigenvivek in #195
New Contributors
- @Dark-Knight499 made their first contribution in #190
Full Changelog: https://github.com/eigenvivek/xvr/commits/v0.1.0