-
Notifications
You must be signed in to change notification settings - Fork 133
3D Total variation priors #745
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Andrewwango
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good so far, just a couple of small changes. I didn't review the TV models themselves nor the 3D test, as I don't understand it. Please can you request someone else to review these?
Andrewwango
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me but please request @jscanvic
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #745 +/- ##
=======================================
Coverage ? 83.91%
=======================================
Files ? 206
Lines ? 20720
Branches ? 2833
=======================================
Hits ? 17388
Misses ? 2412
Partials ? 920 ☔ View full report in Codecov by Sentry. |
|
Thanks Matthieu it looks really nice! I can't have a close look at it before next week but happy to merge if you guys think it's worth merging quickly! |
jscanvic
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Mostly minor comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably out of scope but out of curiosity, is there any reason we don't rely on the deepinv.optim in those TV models? Happy to leave it as is just wondering
deepinv/models/tv.py
Outdated
| x2 = self.x2.clone() | ||
| u2 = self.u2.clone() | ||
|
|
||
| self.sigma = ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... (see previous comment) but in this case I'd rather get rid of self.sigma entirely and use sigma instead here.
deepinv/models/tv.py
Outdated
|
|
||
| self.tau = tau | ||
| self.rho = rho | ||
| self.sigma = 1 / self.tau / 8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's technically breaking to get rid of it in the init but it was probably meant to be a private attribute so I'm happy with making the change... (see next comment)
| self.tau = 0.01 # > 0 | ||
|
|
||
| self.rho = 1.99 # in 1,2 | ||
| self.sigma = 1 / self.tau / 72 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as for TV
deepinv/models/tgv.py
Outdated
| self.restart = False | ||
|
|
||
| f = 3 if (y.ndim - 2) == 3 else 1 | ||
| self.sigma = 1 / self.tau / (72 * f) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as for TV
deepinv/models/tv.py
Outdated
| u[:, :, :-1, :, 0] = u[:, :, :-1, :, 0] + x[:, :, 1:] | ||
| u[:, :, :, :-1, 1] = u[:, :, :, :-1, 1] - x[..., :-1] | ||
| u[:, :, :, :-1, 1] = u[:, :, :, :-1, 1] + x[..., 1:] | ||
| if x.ndim == 4: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you handle the case x.ndim not in [4, 5] explicitely? i.e. raising a ValueError
Also, I think it's a bit heavy to have that many lines / variables to initialize u when it could be initialized as
u = torch.zeros((*x.shape, x.ndim - 2), device=x.device, dtype=x.dtype)
Happy to leave the code as is but feel free to make the change if you prefer it as well
deepinv/models/tv.py
Outdated
| u[:, :, :, :-1, :, 1] = u[:, :, :, :-1, :, 1] - x[:, :, :, :-1] | ||
| u[:, :, :, :-1, :, 1] = u[:, :, :, :-1, :, 1] + x[:, :, :, 1:] | ||
| u[:, :, :, :, :-1, 2] = u[:, :, :, :, :-1, 2] - x[..., :-1] | ||
| u[:, :, :, :, :-1, 2] = u[:, :, :, :, :-1, 2] + x[..., 1:] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add tests for nabla / nabla_adjoint / epsilon / epsilon_adjoint to make sure they're implemented correctly? It's really difficult to tell from the code alone
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you mean these tests?
deepinv/tests/test_models.py
Outdated
| assert torch.allclose(e, torch.tensor([0.0], dtype=torch.float64)) | ||
|
|
||
|
|
||
| def test_TVs_adjoint_3d(): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you merge the two tests using a parameter for the nb of spatial dimensions and using different shapes accordingly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It'd be nice to have a redirection for SEO but not entirely sure how - happy to let the old URL die if we don't figure it out
| / 2.0 | ||
| ) # we display the best value of dualcost2 computed so far. | ||
| primalcostlowerbound = max(primalcostlowerbound, dualcost2.item()) | ||
| if self.verbose: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch thanks!
jscanvic
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM thanks Matthieu!
* 3D Total variation priors (#745) * 3D denoising variational * comments * comments jeremy * Remove concurrency settings from gpu_docs.yml (#850) * Remove concurrency settings from gpu_docs.yml final CI fixes * Remove concurrency settings from test_gpu.yml Removed concurrency settings from the GPU test workflow. * Refine Codecov upload condition for Linux only * Update Codecov upload condition in workflow Restrict Codecov upload to Linux with Python 3.10 only. * Fix astra test failing on GPU (#841) * fix normalize threshold in astra tests * black * Fix test transform on GPU (#852) Co-authored-by: Andrew Wang <[email protected]> * Fix broken download Set14 (#845) * . * fix * adapt docs & use utils * changelog * Fix py3.9 not supported by recent coverage version (#856) * . * . * Follow up to #856 (#857) * Robustify CI for Python 3.9 (#858) * Robustify CI for Python 3.9 * Update test_pr.yml * Fix pip install command for Python 3.9 * Update test_pr.yml * Update CI workflow for deepinv installation Refactor installation steps for deepinv in CI workflow to handle Python 3.9 compatibility. * Add compatibility step for Python 3.9 in workflow Add step to modify pyproject.toml for Python 3.9 compatibility. * Refactor deepinv installation steps in workflow Removed conditional installation for Python 3.9 and adjusted the installation step for deepinv dependencies. * Support 3D patches datasets (#806) * Nibabel test hotfix (#863) * Nibabel test hotfix * Require 'blosc2' for the test dataset Added a dependency check for 'blosc2' in the test. * Typing optim (#827) * distance typed * dpir * data fidelity * fix callable * bregman * fix callable distance * epll * start optimizers.py * phase retrieval * start utils * utils fixes * fix circular import from physics * bregman returns * data fid phsycis & return * distance returns * epll returns * opt & phase retrieval * return spectral wrapper * future annotations * _reconstruction_step * utils * add suggestions * finish optimizers.py * Gentler loader check (#871) * Gentler loader check * remove codecov from test * black * add wee comment * Fix error handling for CBSD68 dataset (#868) * fix error handling * fix * suggestions * add PR #723 in CHANGELOG; fix some minor typos (#860) * add PR #723 in CHANGELOG; fix some minor typos * update CHANGELOG * Fix DDRM citation to reference Kawar et al. 2022 (#876) * Initial plan * Fix DDRM reference to cite Kawar et al. 2022 Co-authored-by: tachella <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: tachella <[email protected]> * Allow for complex data inside Wavelets (#738) * Update mri.py * Update mri.py * Added Complex support * Added support for complex data * reformat * Undo MRI change * More fixes * More fixes * yet more fixes, gosh why am i like this * Finally done * Take in comments * fix psnr and add performance checks --------- Co-authored-by: German Shâma Wache <[email protected]> Co-authored-by: Jérémy Scanvic <[email protected]> * add self-sup eval + history fixes (#777) * add self-sup eval + history fixes * changelog * avoid using losses as metrics + add explicit model inference with .eval + trainer tests * add docs warning * remove loss docstring from metric * add missing docstrings * small fix * doc fixes * doc fixes * fixes * fix adversarial * fixes * fix bugs * black * reblack * jeremy's comments * improve docs explanation * unsure + community + generate_datasets fix * early_stop int + fix doc typo * fix docs * add pragma * andrew's comments * docstring compute_metrics * change names + test * still some fixes to go * black * add train_metrics_history * fix wandb bug * black + docs fixes * black + docs fixes * fix * fix class link * re-order * Update deepinv/training/trainer.py Co-authored-by: Andrew Wang <[email protected]> * andrew's comments * andrew's comments * fix julian issue * docstring fixes --------- Co-authored-by: Andrew Wang <[email protected]> * Add 3D variants of CNN networks (#869) * dncnn * gan * . * ruff check * fix ordering test_pad * maxpool unet nd * icnn * dsccp * PDNet * fix icnn * fix dim drunet * pragma * fix dip * test dsccp 3D * icnn 3D test * more tests * test PDNet * tests GAN * . * test all modes drunet + fix bug from main * changelog * clean dummy * remove c variable * fix doc rician noise * 3d models -> denoisers * warnings * fixdim doc * userguide * syntax * Fix LsdirHR download (#866) * . * ruff + fix docs * add proposed train glob * changelog * fix docstring randompatchsampler * fix sphynx? * pragma * pragma * fix denoiser docs * `dinv.io` module and clean up utils (#768) * start develpoing io submodule + modify examples * add scipy load mat * fix doc * add references to DIP demo (idk why this hasn't been added before) * add raster * io -> io_utils, signal -> signals * checks * ISMRMD loading * add all tests * fix optional deps * add new example * fix example * changelog * fix docs * oops * fix doc * update typing * remove load_np and load_nifit in preparation for merge from vicky PR * black * test assert in doctest * add nifti vicky comment + io_utils -> io * pydicom rescale + lidc uses load_dicom * fix test * fix typing in io and add kwargs * fix sphinx typing * fix test * fix doc * vicky comments * vicky comment * fix doc * blosc2 test * PET comment * Minor README fix (#882) * fix (#885) Co-authored-by: mh-nguyen712 <[email protected]> * Minor trainer docstring fixes (#884) * io -> utils.io * improve docstring * very minor fix * Fix formatting in contributing section of README (#888) * Fix #887 (#890) * Move changelog.rst to docs (#889) * init * fix links * fix links * fix double changelog * change pytorch link * remove llm bs * black * fix docs * Update .github/workflows/release.yml Co-authored-by: Minh Hai Nguyen <[email protected]> * fix ghs * fix ghs --------- Co-authored-by: Minh Hai Nguyen <[email protected]> * Enable ruff rule N805 (#892) * enable ruff rule N805 Co-authored-by: Jérémy Scanvic <[email protected]> * ruff check --fix --unsafe-fixes Co-authored-by: Jérémy Scanvic <[email protected]> --------- Co-authored-by: Andrewwango <[email protected]> * Fix announcement text in conf.py (#901) * Update link to changelog in PR template (#903) * Fix docstring formatting in BaseSDE class (#902) * Refactor release workflow (#914) * Refactor release workflow by removing CI checks Remove CI status check step from release workflow * fixes * fixes * black * Release v0.3.6 (#917) Co-authored-by: tachella <[email protected]> * Fix license formatting in CITATION.cff (#920) * Fix license formatting in CITATION.cff * Create workflow to validate CITATION.cff Add GitHub Actions workflow to validate CITATION.cff file * Add check_citation.yml workflow file * Fix license format in CITATION.cff * Add DOI and version to CITATION.cff * Warn inconsistent upsampling parameters in SwinIR (#909) * add a warning to SwinIR * update the changelog * let test be skipped when timm is absent (#922) * Enable ruff rule E402 (#910) * enable rule E402 Co-authored-by: Jérémy Scanvic <[email protected]> * ignore E402 in the examples Co-authored-by: Jérémy Scanvic <[email protected]> * disable E402 in deepinv/__init__.py Co-authored-by: Jérémy Scanvic <[email protected]> * pull changes from original PR * fix the import location * put back the weird named import --------- Co-authored-by: Thibaut Modrzyk <[email protected]> * Add demo to connect spyrit and deepinv (#865) * Add demo to connect spyrit and deepinv * implement changes * lint * add spyrit optional dependency * fix toml file * fix attribute to /images/ * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> --------- Co-authored-by: Thibaut Modrzyk <[email protected]> Co-authored-by: Jérémy Scanvic <[email protected]> * add youtube (#926) * Add center_crop parameter to Metric class (#913) * Initial plan * Add center_crop functionality to Metric class and update all child classes Co-authored-by: tachella <[email protected]> * fix metric docs + black + test for mixed signs * fix docstrings --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: tachella <[email protected]> Co-authored-by: Julián Tachella <[email protected]> * fix contributing doc * remove auto labeller --------- Co-authored-by: Matthieu Terris <[email protected]> Co-authored-by: Julián Tachella <[email protected]> Co-authored-by: romainvo <[email protected]> Co-authored-by: Andrew Wang <[email protected]> Co-authored-by: Vicky De Ridder <[email protected]> Co-authored-by: Jérémy Scanvic <[email protected]> Co-authored-by: Johannes Hertrich <[email protected]> Co-authored-by: Brayan Monroy <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Chaithya G R <[email protected]> Co-authored-by: German Shâma Wache <[email protected]> Co-authored-by: Jérémy Scanvic <[email protected]> Co-authored-by: Minh Hai Nguyen <[email protected]> Co-authored-by: mh-nguyen712 <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Thibaut Modrzyk <[email protected]> Co-authored-by: tbaudier <[email protected]> Co-authored-by: Julián Tachella <[email protected]>
* enable blank issues * PR status labels * readme/index/community references contributing * add label system * Labelling (#931) * 3D Total variation priors (#745) * 3D denoising variational * comments * comments jeremy * Remove concurrency settings from gpu_docs.yml (#850) * Remove concurrency settings from gpu_docs.yml final CI fixes * Remove concurrency settings from test_gpu.yml Removed concurrency settings from the GPU test workflow. * Refine Codecov upload condition for Linux only * Update Codecov upload condition in workflow Restrict Codecov upload to Linux with Python 3.10 only. * Fix astra test failing on GPU (#841) * fix normalize threshold in astra tests * black * Fix test transform on GPU (#852) Co-authored-by: Andrew Wang <[email protected]> * Fix broken download Set14 (#845) * . * fix * adapt docs & use utils * changelog * Fix py3.9 not supported by recent coverage version (#856) * . * . * Follow up to #856 (#857) * Robustify CI for Python 3.9 (#858) * Robustify CI for Python 3.9 * Update test_pr.yml * Fix pip install command for Python 3.9 * Update test_pr.yml * Update CI workflow for deepinv installation Refactor installation steps for deepinv in CI workflow to handle Python 3.9 compatibility. * Add compatibility step for Python 3.9 in workflow Add step to modify pyproject.toml for Python 3.9 compatibility. * Refactor deepinv installation steps in workflow Removed conditional installation for Python 3.9 and adjusted the installation step for deepinv dependencies. * Support 3D patches datasets (#806) * Nibabel test hotfix (#863) * Nibabel test hotfix * Require 'blosc2' for the test dataset Added a dependency check for 'blosc2' in the test. * Typing optim (#827) * distance typed * dpir * data fidelity * fix callable * bregman * fix callable distance * epll * start optimizers.py * phase retrieval * start utils * utils fixes * fix circular import from physics * bregman returns * data fid phsycis & return * distance returns * epll returns * opt & phase retrieval * return spectral wrapper * future annotations * _reconstruction_step * utils * add suggestions * finish optimizers.py * Gentler loader check (#871) * Gentler loader check * remove codecov from test * black * add wee comment * Fix error handling for CBSD68 dataset (#868) * fix error handling * fix * suggestions * add PR #723 in CHANGELOG; fix some minor typos (#860) * add PR #723 in CHANGELOG; fix some minor typos * update CHANGELOG * Fix DDRM citation to reference Kawar et al. 2022 (#876) * Initial plan * Fix DDRM reference to cite Kawar et al. 2022 Co-authored-by: tachella <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: tachella <[email protected]> * Allow for complex data inside Wavelets (#738) * Update mri.py * Update mri.py * Added Complex support * Added support for complex data * reformat * Undo MRI change * More fixes * More fixes * yet more fixes, gosh why am i like this * Finally done * Take in comments * fix psnr and add performance checks --------- Co-authored-by: German Shâma Wache <[email protected]> Co-authored-by: Jérémy Scanvic <[email protected]> * add self-sup eval + history fixes (#777) * add self-sup eval + history fixes * changelog * avoid using losses as metrics + add explicit model inference with .eval + trainer tests * add docs warning * remove loss docstring from metric * add missing docstrings * small fix * doc fixes * doc fixes * fixes * fix adversarial * fixes * fix bugs * black * reblack * jeremy's comments * improve docs explanation * unsure + community + generate_datasets fix * early_stop int + fix doc typo * fix docs * add pragma * andrew's comments * docstring compute_metrics * change names + test * still some fixes to go * black * add train_metrics_history * fix wandb bug * black + docs fixes * black + docs fixes * fix * fix class link * re-order * Update deepinv/training/trainer.py Co-authored-by: Andrew Wang <[email protected]> * andrew's comments * andrew's comments * fix julian issue * docstring fixes --------- Co-authored-by: Andrew Wang <[email protected]> * Add 3D variants of CNN networks (#869) * dncnn * gan * . * ruff check * fix ordering test_pad * maxpool unet nd * icnn * dsccp * PDNet * fix icnn * fix dim drunet * pragma * fix dip * test dsccp 3D * icnn 3D test * more tests * test PDNet * tests GAN * . * test all modes drunet + fix bug from main * changelog * clean dummy * remove c variable * fix doc rician noise * 3d models -> denoisers * warnings * fixdim doc * userguide * syntax * Fix LsdirHR download (#866) * . * ruff + fix docs * add proposed train glob * changelog * fix docstring randompatchsampler * fix sphynx? * pragma * pragma * fix denoiser docs * `dinv.io` module and clean up utils (#768) * start develpoing io submodule + modify examples * add scipy load mat * fix doc * add references to DIP demo (idk why this hasn't been added before) * add raster * io -> io_utils, signal -> signals * checks * ISMRMD loading * add all tests * fix optional deps * add new example * fix example * changelog * fix docs * oops * fix doc * update typing * remove load_np and load_nifit in preparation for merge from vicky PR * black * test assert in doctest * add nifti vicky comment + io_utils -> io * pydicom rescale + lidc uses load_dicom * fix test * fix typing in io and add kwargs * fix sphinx typing * fix test * fix doc * vicky comments * vicky comment * fix doc * blosc2 test * PET comment * Minor README fix (#882) * fix (#885) Co-authored-by: mh-nguyen712 <[email protected]> * Minor trainer docstring fixes (#884) * io -> utils.io * improve docstring * very minor fix * Fix formatting in contributing section of README (#888) * Fix #887 (#890) * Move changelog.rst to docs (#889) * init * fix links * fix links * fix double changelog * change pytorch link * remove llm bs * black * fix docs * Update .github/workflows/release.yml Co-authored-by: Minh Hai Nguyen <[email protected]> * fix ghs * fix ghs --------- Co-authored-by: Minh Hai Nguyen <[email protected]> * Enable ruff rule N805 (#892) * enable ruff rule N805 Co-authored-by: Jérémy Scanvic <[email protected]> * ruff check --fix --unsafe-fixes Co-authored-by: Jérémy Scanvic <[email protected]> --------- Co-authored-by: Andrewwango <[email protected]> * Fix announcement text in conf.py (#901) * Update link to changelog in PR template (#903) * Fix docstring formatting in BaseSDE class (#902) * Refactor release workflow (#914) * Refactor release workflow by removing CI checks Remove CI status check step from release workflow * fixes * fixes * black * Release v0.3.6 (#917) Co-authored-by: tachella <[email protected]> * Fix license formatting in CITATION.cff (#920) * Fix license formatting in CITATION.cff * Create workflow to validate CITATION.cff Add GitHub Actions workflow to validate CITATION.cff file * Add check_citation.yml workflow file * Fix license format in CITATION.cff * Add DOI and version to CITATION.cff * Warn inconsistent upsampling parameters in SwinIR (#909) * add a warning to SwinIR * update the changelog * let test be skipped when timm is absent (#922) * Enable ruff rule E402 (#910) * enable rule E402 Co-authored-by: Jérémy Scanvic <[email protected]> * ignore E402 in the examples Co-authored-by: Jérémy Scanvic <[email protected]> * disable E402 in deepinv/__init__.py Co-authored-by: Jérémy Scanvic <[email protected]> * pull changes from original PR * fix the import location * put back the weird named import --------- Co-authored-by: Thibaut Modrzyk <[email protected]> * Add demo to connect spyrit and deepinv (#865) * Add demo to connect spyrit and deepinv * implement changes * lint * add spyrit optional dependency * fix toml file * fix attribute to /images/ * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> * Update examples/external-libraries/demo_connect_spyrit.py Co-authored-by: Jérémy Scanvic <[email protected]> --------- Co-authored-by: Thibaut Modrzyk <[email protected]> Co-authored-by: Jérémy Scanvic <[email protected]> * add youtube (#926) * Add center_crop parameter to Metric class (#913) * Initial plan * Add center_crop functionality to Metric class and update all child classes Co-authored-by: tachella <[email protected]> * fix metric docs + black + test for mixed signs * fix docstrings --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: tachella <[email protected]> Co-authored-by: Julián Tachella <[email protected]> * fix contributing doc * remove auto labeller --------- Co-authored-by: Matthieu Terris <[email protected]> Co-authored-by: Julián Tachella <[email protected]> Co-authored-by: romainvo <[email protected]> Co-authored-by: Andrew Wang <[email protected]> Co-authored-by: Vicky De Ridder <[email protected]> Co-authored-by: Jérémy Scanvic <[email protected]> Co-authored-by: Johannes Hertrich <[email protected]> Co-authored-by: Brayan Monroy <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Chaithya G R <[email protected]> Co-authored-by: German Shâma Wache <[email protected]> Co-authored-by: Jérémy Scanvic <[email protected]> Co-authored-by: Minh Hai Nguyen <[email protected]> Co-authored-by: mh-nguyen712 <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Thibaut Modrzyk <[email protected]> Co-authored-by: tbaudier <[email protected]> Co-authored-by: Julián Tachella <[email protected]> --------- Co-authored-by: Matthieu Terris <[email protected]> Co-authored-by: Julián Tachella <[email protected]> Co-authored-by: romainvo <[email protected]> Co-authored-by: Andrew Wang <[email protected]> Co-authored-by: Vicky De Ridder <[email protected]> Co-authored-by: Jérémy Scanvic <[email protected]> Co-authored-by: Johannes Hertrich <[email protected]> Co-authored-by: Brayan Monroy <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Chaithya G R <[email protected]> Co-authored-by: German Shâma Wache <[email protected]> Co-authored-by: Jérémy Scanvic <[email protected]> Co-authored-by: Minh Hai Nguyen <[email protected]> Co-authored-by: mh-nguyen712 <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Thibaut Modrzyk <[email protected]> Co-authored-by: tbaudier <[email protected]> Co-authored-by: Julián Tachella <[email protected]>
This PR extends current existing TV priors to the 3D case (up to now, only wavelet priors were 3d compatible). Now, these should work with tensors of shape (B, C, D, H, W) and (B, C, H, W).
Checks to be done before submitting your PR
python3 -m pytest deepinv/testsruns successfully.black .runs successfully.make htmlruns successfully (in thedocs/directory).