From 2f37f69bfc047ffaa17ac3f05df4249a6c40d9c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20P=C3=A9rez-Garc=C3=ADa?= Date: Thu, 30 Jan 2025 08:46:54 +0000 Subject: [PATCH] Update repository URL everywhere --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/ISSUE_TEMPLATE/config.yml | 2 +- .github/ISSUE_TEMPLATE/not_working.yml | 2 +- .github/pull_request_template.md | 4 +- CHANGELOG.md | 246 +++++++++--------- CITATION.cff | 2 +- CONTRIBUTING.rst | 4 +- README.md | 204 +++++++-------- docs/examples/plot_custom_z_spacing.py | 2 +- docs/source/README.rst | 28 +- docs/source/_templates/layout.html | 2 +- docs/source/datasets.rst | 2 +- docs/source/index.rst | 2 +- docs/source/quickstart.rst | 6 +- pyproject.toml | 6 +- src/torchio/constants.py | 4 +- src/torchio/data/image.py | 6 +- src/torchio/data/inference/aggregator.py | 4 +- src/torchio/data/queue.py | 2 +- src/torchio/data/sampler/label.py | 4 +- src/torchio/data/sampler/weighted.py | 4 +- src/torchio/data/subject.py | 2 +- src/torchio/datasets/ixi.py | 2 +- src/torchio/datasets/mni/colin.py | 2 +- .../augmentation/spatial/random_affine.py | 2 +- .../label/keep_largest_component.py | 2 +- .../preprocessing/spatial/copy_affine.py | 14 +- tests/data/inference/test_aggregator.py | 2 +- tests/data/sampler/test_label_sampler.py | 4 +- tests/data/sampler/test_uniform_sampler.py | 2 +- tests/data/sampler/test_weighted_sampler.py | 2 +- tests/data/test_image.py | 6 +- tests/data/test_subject.py | 2 +- .../augmentation/test_random_affine.py | 2 +- .../augmentation/test_random_bias_field.py | 2 +- .../transforms/preprocessing/test_crop_pad.py | 4 +- .../transforms/preprocessing/test_rescale.py | 2 +- .../preprocessing/test_z_normalization.py | 2 +- tests/transforms/test_transforms.py | 6 +- tutorials/README.md | 8 +- 40 files changed, 303 insertions(+), 303 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 068c1b1b5..f00dce393 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -61,7 +61,7 @@ body: Please run this command in your console and paste the output below ```shell - python <(curl -s https://raw.githubusercontent.com/fepegar/torchio/main/print_system.py) + python <(curl -s https://raw.githubusercontent.com/TorchIO-Project/main/print_system.py) ``` placeholder: Your system info render: shell diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index f670e7888..dbfd5efbf 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ blank_issues_enabled: true contact_links: - name: ❓ Discussions tab - url: https://github.com/fepegar/torchio/discussions/new + url: https://github.com/TorchIO-Project/discussions/new about: Ask and answer TorchIO-related questions or start a general discussion diff --git a/.github/ISSUE_TEMPLATE/not_working.yml b/.github/ISSUE_TEMPLATE/not_working.yml index 7a035cd55..ff4c50c3f 100644 --- a/.github/ISSUE_TEMPLATE/not_working.yml +++ b/.github/ISSUE_TEMPLATE/not_working.yml @@ -70,7 +70,7 @@ body: Please run this command in your console and paste the output below ```shell - python <(curl -s https://raw.githubusercontent.com/fepegar/torchio/main/print_system.py) + python <(curl -s https://raw.githubusercontent.com/TorchIO-Project/main/print_system.py) ``` placeholder: Your system info render: shell diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 0b3247c1b..b811b6fa7 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -13,10 +13,10 @@ Fixes #{issue_number}. +CONTRIBUTING (https://github.com/TorchIO-Project/blob/main/CONTRIBUTING.rst) docs. --> -- [ ] I have read the [`CONTRIBUTING`](https://github.com/fepegar/torchio/blob/main/CONTRIBUTING.rst) docs and have a developer setup (especially important are `pre-commit`and `pytest`) +- [ ] I have read the [`CONTRIBUTING`](https://github.com/TorchIO-Project/blob/main/CONTRIBUTING.rst) docs and have a developer setup (especially important are `pre-commit`and `pytest`) - [ ] Non-breaking change (would not break existing functionality) - [ ] Breaking change (would cause existing functionality to change) - [ ] Tests added or modified to cover the changes diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c4bc3069..9bf415d6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,132 +2,132 @@ ## 0.20.0 (2024-09-20) -* Fix silenced exception in Queue when using faulty transform by @Zhack47 in https://github.com/fepegar/torchio/pull/1101 -* Fix `RescaleIntensity` by @fepegar in https://github.com/fepegar/torchio/pull/1116 -* Queue length modification with the use of DDP by @haughty-yeon in https://github.com/fepegar/torchio/pull/1127 -* Fix get_subjects_from_batch ignoring metadata by @KonoMaxi in https://github.com/fepegar/torchio/pull/1131 -* Fix random errors in queue test by @fepegar in https://github.com/fepegar/torchio/pull/1142 -* Add masking_method arg name in Mask by @lchauvin in https://github.com/fepegar/torchio/pull/1137 -* Enable plotting of PNG images with alpha channel by @ChristianHinge in https://github.com/fepegar/torchio/pull/1150 -* Fix transforms taking strings instead of sequences by @fepegar in https://github.com/fepegar/torchio/pull/1153 -* Improve docs for "isotropic" arg in RandomAffine by @AminAlam in https://github.com/fepegar/torchio/pull/1163 -* Add support to slice images and subjects by @fepegar in https://github.com/fepegar/torchio/pull/1170 -* Make transform return the same type as input by @haarisr in https://github.com/fepegar/torchio/pull/1182 -* Fix error which copying a subclass of Subject with keyword attributes by @c-winder in https://github.com/fepegar/torchio/pull/1186 -* Add SubjectsLoader by @fepegar in https://github.com/fepegar/torchio/pull/1194 +* Fix silenced exception in Queue when using faulty transform by @Zhack47 in https://github.com/TorchIO-Project/pull/1101 +* Fix `RescaleIntensity` by @fepegar in https://github.com/TorchIO-Project/pull/1116 +* Queue length modification with the use of DDP by @haughty-yeon in https://github.com/TorchIO-Project/pull/1127 +* Fix get_subjects_from_batch ignoring metadata by @KonoMaxi in https://github.com/TorchIO-Project/pull/1131 +* Fix random errors in queue test by @fepegar in https://github.com/TorchIO-Project/pull/1142 +* Add masking_method arg name in Mask by @lchauvin in https://github.com/TorchIO-Project/pull/1137 +* Enable plotting of PNG images with alpha channel by @ChristianHinge in https://github.com/TorchIO-Project/pull/1150 +* Fix transforms taking strings instead of sequences by @fepegar in https://github.com/TorchIO-Project/pull/1153 +* Improve docs for "isotropic" arg in RandomAffine by @AminAlam in https://github.com/TorchIO-Project/pull/1163 +* Add support to slice images and subjects by @fepegar in https://github.com/TorchIO-Project/pull/1170 +* Make transform return the same type as input by @haarisr in https://github.com/TorchIO-Project/pull/1182 +* Fix error which copying a subclass of Subject with keyword attributes by @c-winder in https://github.com/TorchIO-Project/pull/1186 +* Add SubjectsLoader by @fepegar in https://github.com/TorchIO-Project/pull/1194 ## 0.19.0 (2023-07-26) -* Replace p by **kwargs in all transforms by @dmus in https://github.com/fepegar/torchio/pull/370 -* Implementation of include/exclude args by @dmus in https://github.com/fepegar/torchio/pull/373 -* Remove internal self.fill, and keep padding_mode as string or number by @romainVala in https://github.com/fepegar/torchio/pull/378 -* Remove checks and casts to float32 by @dmus in https://github.com/fepegar/torchio/pull/380 -* Fix conversion to Pillow image by @fepegar in https://github.com/fepegar/torchio/pull/385 -* Print image path if probability map is empty by @fepegar in https://github.com/fepegar/torchio/pull/386 -* Remove torchvision requirement by @fepegar in https://github.com/fepegar/torchio/pull/391 -* Fix label sampler and improve error message by @fepegar in https://github.com/fepegar/torchio/pull/394 -* Fix error with invertible custom transforms, also keep include/exclude lists for inverse transforms. by @efirdc in https://github.com/fepegar/torchio/pull/398 -* New label transformations by @efirdc in https://github.com/fepegar/torchio/pull/402 -* Add transform to ensure shape multiple of N by @fepegar in https://github.com/fepegar/torchio/pull/401 -* Allow empty list as input to Compose. by @efirdc in https://github.com/fepegar/torchio/pull/404 -* Cast to float before computing mean by @fepegar in https://github.com/fepegar/torchio/pull/408 -* Add option to keep copies of original images by @fepegar in https://github.com/fepegar/torchio/pull/413 -* Delete image attribute when removing image by @fepegar in https://github.com/fepegar/torchio/pull/415 -* Add option to ignore intensity transforms when inverting by @fepegar in https://github.com/fepegar/torchio/pull/417 -* Add OneHot transform by @fepegar in https://github.com/fepegar/torchio/pull/420 -* Add option to modify interpolation when inverting by @fepegar in https://github.com/fepegar/torchio/pull/418 -* Add some label transforms for binary morphological operations by @fepegar in https://github.com/fepegar/torchio/pull/424 -* Small improvements for Queue by @fepegar in https://github.com/fepegar/torchio/pull/423 -* Fix CropOrPad for 2D images by @fepegar in https://github.com/fepegar/torchio/pull/435 -* Add EPISURG dataset by @fepegar in https://github.com/fepegar/torchio/pull/433 -* Add list of masks functionality to HistogramStandardization.train by @Linardos in https://github.com/fepegar/torchio/pull/446 -* Add support for custom image readers by @fepegar in https://github.com/fepegar/torchio/pull/454 -* Fix probabilities in label sampler by @fepegar in https://github.com/fepegar/torchio/pull/459 -* Use voxels rather than bounds when plotting images by @fepegar in https://github.com/fepegar/torchio/pull/487 -* Add input range kwarg for RescaleIntensity by @fepegar in https://github.com/fepegar/torchio/pull/499 -* Ignore NumPy underflows by @fepegar in https://github.com/fepegar/torchio/pull/503 -* Remove unused imports by @deepsource-autofix in https://github.com/fepegar/torchio/pull/506 -* Remove methods with unnecessary super delegation. by @deepsource-autofix in https://github.com/fepegar/torchio/pull/507 -* Add examples gallery to documentation by @fepegar in https://github.com/fepegar/torchio/pull/508 -* Fix 0 prob random sample in WeightedSampler by @TylerSpears in https://github.com/fepegar/torchio/pull/511 -* Avoid deprecation warnings by @fepegar in https://github.com/fepegar/torchio/pull/517 -* Add functions to process batches by @fepegar in https://github.com/fepegar/torchio/pull/516 -* Make the grid sampler compatible with the queue by @fepegar in https://github.com/fepegar/torchio/pull/520 -* Compress and cleanup downloaded datasets by @fepegar in https://github.com/fepegar/torchio/pull/531 -* Set minimum version for NumPy requirement by @fepegar in https://github.com/fepegar/torchio/pull/532 -* Fix unexpected exception handling by @siahuat0727 in https://github.com/fepegar/torchio/pull/542 -* Fix 'unraveling -1' in the weighted random sampler. by @dvolgyes in https://github.com/fepegar/torchio/pull/551 -* Add Mask transform by @Svdvoort in https://github.com/fepegar/torchio/pull/527 -* Add CopyAffine transform by @albansteff in https://github.com/fepegar/torchio/pull/584 -* Added Image method to convert from sitk to torchio by @mattwarkentin in https://github.com/fepegar/torchio/pull/616 -* Added intensity clamp transform by @mattwarkentin in https://github.com/fepegar/torchio/pull/622 -* Fix default pad value for label maps by @fepegar in https://github.com/fepegar/torchio/pull/627 -* Add tolerance for numeric checks by @justusschock in https://github.com/fepegar/torchio/pull/592 -* Fix syntax error for Python < 3.8 by @fepegar in https://github.com/fepegar/torchio/pull/639 -* Add support to pass shape and affine to Resample by @fepegar in https://github.com/fepegar/torchio/pull/640 -* Fix single slices metadata being lost by @fepegar in https://github.com/fepegar/torchio/pull/641 -* Add Resize transform by @fepegar in https://github.com/fepegar/torchio/pull/642 -* Raise from None to reduce error verbosity by @fepegar in https://github.com/fepegar/torchio/pull/649 -* Add RSNA-MICCAI brain tumor dataset by @fepegar in https://github.com/fepegar/torchio/pull/650 -* Fix visualization for subject with many images by @fepegar in https://github.com/fepegar/torchio/pull/653 -* Fix error when normalization mask is empty by @fepegar in https://github.com/fepegar/torchio/pull/656 -* Enable Indexing by int-Compatible type by @justusschock in https://github.com/fepegar/torchio/pull/670 -* Add support to crop/pad to the mask's bounding box by @fepegar in https://github.com/fepegar/torchio/pull/678 -* Add support to save GIFs by @fepegar in https://github.com/fepegar/torchio/pull/680 -* Add some Visible Human datasets by @fepegar in https://github.com/fepegar/torchio/pull/679 -* Add indices parameter for plotting volumes by @laynr in https://github.com/fepegar/torchio/pull/683 -* Remove channels_last kwarg from Image by @fepegar in https://github.com/fepegar/torchio/pull/685 -* Add parse_input kwarg to Transform by @fepegar in https://github.com/fepegar/torchio/pull/696 -* Cast translation argument to float64 for SimpleITK by @fepegar in https://github.com/fepegar/torchio/pull/702 -* Make Affine take RAS parameters of floating->ref by @fepegar in https://github.com/fepegar/torchio/pull/712 -* Rename master to main by @fepegar in https://github.com/fepegar/torchio/pull/717 -* Add method to show image with external viewer by @fepegar in https://github.com/fepegar/torchio/pull/727 -* Add kwarg to not check spatial consistency by @fepegar in https://github.com/fepegar/torchio/pull/735 -* Retrieve transforms history from batch dictionary by @fepegar in https://github.com/fepegar/torchio/pull/745 -* Add logic to invert OneHot transform by @fepegar in https://github.com/fepegar/torchio/pull/748 -* Fix wrong class when creating subjects from batch by @fepegar in https://github.com/fepegar/torchio/pull/749 -* Minor quality of life functions for inspecting scalar images and label maps by @mattwarkentin in https://github.com/fepegar/torchio/pull/728 -* Fix CropOrPad incorrectly storing bounds by @fepegar in https://github.com/fepegar/torchio/pull/760 -* Fix affine getter for multipath images by @fepegar in https://github.com/fepegar/torchio/pull/763 -* Check data type compatibility for custom reader by @fepegar in https://github.com/fepegar/torchio/pull/770 -* Use PyTorch to shuffle the queue patches by @fepegar in https://github.com/fepegar/torchio/pull/776 -* Fix `Blur` using only the first standard deviation by @fepegar in https://github.com/fepegar/torchio/pull/772 -* Add support to specify the interpolation type for label images by @snavalm in https://github.com/fepegar/torchio/pull/791 -* Fix overlapping in patches aggregator by @fepegar in https://github.com/fepegar/torchio/pull/832 -* Add support for torch >= 1.11 by @snipdome in https://github.com/fepegar/torchio/pull/838 -* Fix new SimpleITK release not being installed by @fepegar in https://github.com/fepegar/torchio/pull/852 -* Fix the wrong mapping in sequential labels transform by @iamSmallY in https://github.com/fepegar/torchio/pull/841 -* Return figure in plot_volume function by @dmus in https://github.com/fepegar/torchio/pull/872 -* Use PyTorch to compute Fourier transforms by @fepegar in https://github.com/fepegar/torchio/pull/389 -* Remove support for Python 3.6 by @fepegar in https://github.com/fepegar/torchio/pull/881 -* Add support to use different numbers of samples in the queue by @fepegar in https://github.com/fepegar/torchio/pull/795 -* Fix computation of kernels in `Blur` transform by @fepegar in https://github.com/fepegar/torchio/pull/861 -* Add support to pass label keys for dict input by @fepegar in https://github.com/fepegar/torchio/pull/879 -* Add support to mask 4D images with 3D masks by @fepegar in https://github.com/fepegar/torchio/pull/908 -* Add fftshift to fourier_transform with torch.fft by @iimog in https://github.com/fepegar/torchio/pull/912 -* Fix copying of subclasses of Subject by @justusschock in https://github.com/fepegar/torchio/pull/794 -* Use tqdm.auto by @fepegar in https://github.com/fepegar/torchio/pull/926 -* Add hann window function in GridAggregator as padding_mode by @LucaLumetti in https://github.com/fepegar/torchio/pull/900 -* Add RSNA 2022 Cervical Spine Fracture Detection dataset by @fepegar in https://github.com/fepegar/torchio/pull/943 -* Replace Click with Typer by @fepegar in https://github.com/fepegar/torchio/pull/978 -* Fix number of samples per subject in queue by @fepegar in https://github.com/fepegar/torchio/pull/981 -* Stop loading data when copying unloaded image by @fepegar in https://github.com/fepegar/torchio/pull/982 -* Add support to pass a callable as padding mode by @mueller-franzes in https://github.com/fepegar/torchio/pull/959 -* Use indexing instead of masked_select for faster normalization by @ramonemiliani93 in https://github.com/fepegar/torchio/pull/1018 -* Remove Visible Human Project datasets by @fepegar in https://github.com/fepegar/torchio/pull/1026 -* Add support for Python 3.11 by @fepegar in https://github.com/fepegar/torchio/pull/1008 -* Make subject parameter mandatory by @fepegar in https://github.com/fepegar/torchio/pull/1029 -* Improve support for queue in distributed training by @hsyang1222 in https://github.com/fepegar/torchio/pull/1021 -* Stop ignoring intensity transforms when computing inverse by @fepegar in https://github.com/fepegar/torchio/pull/1039 -* Add support to invert RescaleIntensity transform by @nicoloesch in https://github.com/fepegar/torchio/pull/998 -* Fix HistogramStandardization example by @vedal in https://github.com/fepegar/torchio/pull/1022 -* Add workflow to validate pull request title by @fepegar in https://github.com/fepegar/torchio/pull/1042 -* Add support to unload images by @fepegar in https://github.com/fepegar/torchio/pull/983 -* Split CI workflows by @fepegar in https://github.com/fepegar/torchio/pull/1047 -* Warn if 'mean' padding mode is used for label maps by @fepegar in https://github.com/fepegar/torchio/pull/1065 -* Fix unloaded image affine not read after CopyAffine by @fepegar in https://github.com/fepegar/torchio/pull/1072 -* Fix custom reader not propagated when copying by @fepegar in https://github.com/fepegar/torchio/pull/1091 -* Remove support for Python 3.7 by @fepegar in https://github.com/fepegar/torchio/pull/1099 +* Replace p by **kwargs in all transforms by @dmus in https://github.com/TorchIO-Project/pull/370 +* Implementation of include/exclude args by @dmus in https://github.com/TorchIO-Project/pull/373 +* Remove internal self.fill, and keep padding_mode as string or number by @romainVala in https://github.com/TorchIO-Project/pull/378 +* Remove checks and casts to float32 by @dmus in https://github.com/TorchIO-Project/pull/380 +* Fix conversion to Pillow image by @fepegar in https://github.com/TorchIO-Project/pull/385 +* Print image path if probability map is empty by @fepegar in https://github.com/TorchIO-Project/pull/386 +* Remove torchvision requirement by @fepegar in https://github.com/TorchIO-Project/pull/391 +* Fix label sampler and improve error message by @fepegar in https://github.com/TorchIO-Project/pull/394 +* Fix error with invertible custom transforms, also keep include/exclude lists for inverse transforms. by @efirdc in https://github.com/TorchIO-Project/pull/398 +* New label transformations by @efirdc in https://github.com/TorchIO-Project/pull/402 +* Add transform to ensure shape multiple of N by @fepegar in https://github.com/TorchIO-Project/pull/401 +* Allow empty list as input to Compose. by @efirdc in https://github.com/TorchIO-Project/pull/404 +* Cast to float before computing mean by @fepegar in https://github.com/TorchIO-Project/pull/408 +* Add option to keep copies of original images by @fepegar in https://github.com/TorchIO-Project/pull/413 +* Delete image attribute when removing image by @fepegar in https://github.com/TorchIO-Project/pull/415 +* Add option to ignore intensity transforms when inverting by @fepegar in https://github.com/TorchIO-Project/pull/417 +* Add OneHot transform by @fepegar in https://github.com/TorchIO-Project/pull/420 +* Add option to modify interpolation when inverting by @fepegar in https://github.com/TorchIO-Project/pull/418 +* Add some label transforms for binary morphological operations by @fepegar in https://github.com/TorchIO-Project/pull/424 +* Small improvements for Queue by @fepegar in https://github.com/TorchIO-Project/pull/423 +* Fix CropOrPad for 2D images by @fepegar in https://github.com/TorchIO-Project/pull/435 +* Add EPISURG dataset by @fepegar in https://github.com/TorchIO-Project/pull/433 +* Add list of masks functionality to HistogramStandardization.train by @Linardos in https://github.com/TorchIO-Project/pull/446 +* Add support for custom image readers by @fepegar in https://github.com/TorchIO-Project/pull/454 +* Fix probabilities in label sampler by @fepegar in https://github.com/TorchIO-Project/pull/459 +* Use voxels rather than bounds when plotting images by @fepegar in https://github.com/TorchIO-Project/pull/487 +* Add input range kwarg for RescaleIntensity by @fepegar in https://github.com/TorchIO-Project/pull/499 +* Ignore NumPy underflows by @fepegar in https://github.com/TorchIO-Project/pull/503 +* Remove unused imports by @deepsource-autofix in https://github.com/TorchIO-Project/pull/506 +* Remove methods with unnecessary super delegation. by @deepsource-autofix in https://github.com/TorchIO-Project/pull/507 +* Add examples gallery to documentation by @fepegar in https://github.com/TorchIO-Project/pull/508 +* Fix 0 prob random sample in WeightedSampler by @TylerSpears in https://github.com/TorchIO-Project/pull/511 +* Avoid deprecation warnings by @fepegar in https://github.com/TorchIO-Project/pull/517 +* Add functions to process batches by @fepegar in https://github.com/TorchIO-Project/pull/516 +* Make the grid sampler compatible with the queue by @fepegar in https://github.com/TorchIO-Project/pull/520 +* Compress and cleanup downloaded datasets by @fepegar in https://github.com/TorchIO-Project/pull/531 +* Set minimum version for NumPy requirement by @fepegar in https://github.com/TorchIO-Project/pull/532 +* Fix unexpected exception handling by @siahuat0727 in https://github.com/TorchIO-Project/pull/542 +* Fix 'unraveling -1' in the weighted random sampler. by @dvolgyes in https://github.com/TorchIO-Project/pull/551 +* Add Mask transform by @Svdvoort in https://github.com/TorchIO-Project/pull/527 +* Add CopyAffine transform by @albansteff in https://github.com/TorchIO-Project/pull/584 +* Added Image method to convert from sitk to torchio by @mattwarkentin in https://github.com/TorchIO-Project/pull/616 +* Added intensity clamp transform by @mattwarkentin in https://github.com/TorchIO-Project/pull/622 +* Fix default pad value for label maps by @fepegar in https://github.com/TorchIO-Project/pull/627 +* Add tolerance for numeric checks by @justusschock in https://github.com/TorchIO-Project/pull/592 +* Fix syntax error for Python < 3.8 by @fepegar in https://github.com/TorchIO-Project/pull/639 +* Add support to pass shape and affine to Resample by @fepegar in https://github.com/TorchIO-Project/pull/640 +* Fix single slices metadata being lost by @fepegar in https://github.com/TorchIO-Project/pull/641 +* Add Resize transform by @fepegar in https://github.com/TorchIO-Project/pull/642 +* Raise from None to reduce error verbosity by @fepegar in https://github.com/TorchIO-Project/pull/649 +* Add RSNA-MICCAI brain tumor dataset by @fepegar in https://github.com/TorchIO-Project/pull/650 +* Fix visualization for subject with many images by @fepegar in https://github.com/TorchIO-Project/pull/653 +* Fix error when normalization mask is empty by @fepegar in https://github.com/TorchIO-Project/pull/656 +* Enable Indexing by int-Compatible type by @justusschock in https://github.com/TorchIO-Project/pull/670 +* Add support to crop/pad to the mask's bounding box by @fepegar in https://github.com/TorchIO-Project/pull/678 +* Add support to save GIFs by @fepegar in https://github.com/TorchIO-Project/pull/680 +* Add some Visible Human datasets by @fepegar in https://github.com/TorchIO-Project/pull/679 +* Add indices parameter for plotting volumes by @laynr in https://github.com/TorchIO-Project/pull/683 +* Remove channels_last kwarg from Image by @fepegar in https://github.com/TorchIO-Project/pull/685 +* Add parse_input kwarg to Transform by @fepegar in https://github.com/TorchIO-Project/pull/696 +* Cast translation argument to float64 for SimpleITK by @fepegar in https://github.com/TorchIO-Project/pull/702 +* Make Affine take RAS parameters of floating->ref by @fepegar in https://github.com/TorchIO-Project/pull/712 +* Rename master to main by @fepegar in https://github.com/TorchIO-Project/pull/717 +* Add method to show image with external viewer by @fepegar in https://github.com/TorchIO-Project/pull/727 +* Add kwarg to not check spatial consistency by @fepegar in https://github.com/TorchIO-Project/pull/735 +* Retrieve transforms history from batch dictionary by @fepegar in https://github.com/TorchIO-Project/pull/745 +* Add logic to invert OneHot transform by @fepegar in https://github.com/TorchIO-Project/pull/748 +* Fix wrong class when creating subjects from batch by @fepegar in https://github.com/TorchIO-Project/pull/749 +* Minor quality of life functions for inspecting scalar images and label maps by @mattwarkentin in https://github.com/TorchIO-Project/pull/728 +* Fix CropOrPad incorrectly storing bounds by @fepegar in https://github.com/TorchIO-Project/pull/760 +* Fix affine getter for multipath images by @fepegar in https://github.com/TorchIO-Project/pull/763 +* Check data type compatibility for custom reader by @fepegar in https://github.com/TorchIO-Project/pull/770 +* Use PyTorch to shuffle the queue patches by @fepegar in https://github.com/TorchIO-Project/pull/776 +* Fix `Blur` using only the first standard deviation by @fepegar in https://github.com/TorchIO-Project/pull/772 +* Add support to specify the interpolation type for label images by @snavalm in https://github.com/TorchIO-Project/pull/791 +* Fix overlapping in patches aggregator by @fepegar in https://github.com/TorchIO-Project/pull/832 +* Add support for torch >= 1.11 by @snipdome in https://github.com/TorchIO-Project/pull/838 +* Fix new SimpleITK release not being installed by @fepegar in https://github.com/TorchIO-Project/pull/852 +* Fix the wrong mapping in sequential labels transform by @iamSmallY in https://github.com/TorchIO-Project/pull/841 +* Return figure in plot_volume function by @dmus in https://github.com/TorchIO-Project/pull/872 +* Use PyTorch to compute Fourier transforms by @fepegar in https://github.com/TorchIO-Project/pull/389 +* Remove support for Python 3.6 by @fepegar in https://github.com/TorchIO-Project/pull/881 +* Add support to use different numbers of samples in the queue by @fepegar in https://github.com/TorchIO-Project/pull/795 +* Fix computation of kernels in `Blur` transform by @fepegar in https://github.com/TorchIO-Project/pull/861 +* Add support to pass label keys for dict input by @fepegar in https://github.com/TorchIO-Project/pull/879 +* Add support to mask 4D images with 3D masks by @fepegar in https://github.com/TorchIO-Project/pull/908 +* Add fftshift to fourier_transform with torch.fft by @iimog in https://github.com/TorchIO-Project/pull/912 +* Fix copying of subclasses of Subject by @justusschock in https://github.com/TorchIO-Project/pull/794 +* Use tqdm.auto by @fepegar in https://github.com/TorchIO-Project/pull/926 +* Add hann window function in GridAggregator as padding_mode by @LucaLumetti in https://github.com/TorchIO-Project/pull/900 +* Add RSNA 2022 Cervical Spine Fracture Detection dataset by @fepegar in https://github.com/TorchIO-Project/pull/943 +* Replace Click with Typer by @fepegar in https://github.com/TorchIO-Project/pull/978 +* Fix number of samples per subject in queue by @fepegar in https://github.com/TorchIO-Project/pull/981 +* Stop loading data when copying unloaded image by @fepegar in https://github.com/TorchIO-Project/pull/982 +* Add support to pass a callable as padding mode by @mueller-franzes in https://github.com/TorchIO-Project/pull/959 +* Use indexing instead of masked_select for faster normalization by @ramonemiliani93 in https://github.com/TorchIO-Project/pull/1018 +* Remove Visible Human Project datasets by @fepegar in https://github.com/TorchIO-Project/pull/1026 +* Add support for Python 3.11 by @fepegar in https://github.com/TorchIO-Project/pull/1008 +* Make subject parameter mandatory by @fepegar in https://github.com/TorchIO-Project/pull/1029 +* Improve support for queue in distributed training by @hsyang1222 in https://github.com/TorchIO-Project/pull/1021 +* Stop ignoring intensity transforms when computing inverse by @fepegar in https://github.com/TorchIO-Project/pull/1039 +* Add support to invert RescaleIntensity transform by @nicoloesch in https://github.com/TorchIO-Project/pull/998 +* Fix HistogramStandardization example by @vedal in https://github.com/TorchIO-Project/pull/1022 +* Add workflow to validate pull request title by @fepegar in https://github.com/TorchIO-Project/pull/1042 +* Add support to unload images by @fepegar in https://github.com/TorchIO-Project/pull/983 +* Split CI workflows by @fepegar in https://github.com/TorchIO-Project/pull/1047 +* Warn if 'mean' padding mode is used for label maps by @fepegar in https://github.com/TorchIO-Project/pull/1065 +* Fix unloaded image affine not read after CopyAffine by @fepegar in https://github.com/TorchIO-Project/pull/1072 +* Fix custom reader not propagated when copying by @fepegar in https://github.com/TorchIO-Project/pull/1091 +* Remove support for Python 3.7 by @fepegar in https://github.com/TorchIO-Project/pull/1099 ## 0.18.0 (2020-11-29) diff --git a/CITATION.cff b/CITATION.cff index a261a3674..cd23b5b42 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -5,7 +5,7 @@ authors: given-names: Fernando orcid: https://orcid.org/0000-0001-9090-3024 title: "TorchIO" -repository-code: "https://github.com/fepegar/torchio" +repository-code: "https://github.com/TorchIO-Project/torchio" preferred-citation: type: article authors: diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 714ebc910..30fcf29d0 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -16,7 +16,7 @@ Report bugs ~~~~~~~~~~~ Report bugs -`on GitHub `_. +`on GitHub `_. If you are reporting a bug, please include: @@ -46,7 +46,7 @@ articles, and such. Submit feedback ~~~~~~~~~~~~~~~ -The best way to send feedback is to file an issue at https://github.com/fepegar/torchio/issues. +The best way to send feedback is to file an issue at https://github.com/TorchIO-Project/issues. If you are proposing a feature: diff --git a/README.md b/README.md index fb6040e7d..cf5f689be 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

- TorchIO logo + TorchIO logo

@@ -36,14 +36,14 @@ at [OpenAI](https://openai.com/) ([link](https://jack-clark.net/2020/03/17/)). CI - - Tests status + + Tests status Documentation status - - Coverage status + + Coverage status @@ -55,10 +55,10 @@ at [OpenAI](https://openai.com/) ([link](https://jack-clark.net/2020/03/17/)). Code style - - Code quality + + Code quality - + Code maintainability @@ -71,7 +71,7 @@ at [OpenAI](https://openai.com/) ([link](https://jack-clark.net/2020/03/17/)). Tutorials - + Google Colab @@ -92,13 +92,13 @@ at [OpenAI](https://openai.com/) ([link](https://jack-clark.net/2020/03/17/)).

- Progressive artifacts + Progressive artifacts

- Augmentation + Augmentation

@@ -112,10 +112,10 @@ at [OpenAI](https://openai.com/) ([link](https://jack-clark.net/2020/03/17/)). - Original + Original - Random blur + Random blur @@ -130,12 +130,12 @@ at [OpenAI](https://openai.com/) ([link](https://jack-clark.net/2020/03/17/)). - Random flip + Random flip - Random noise + Random noise @@ -150,12 +150,12 @@ at [OpenAI](https://openai.com/) ([link](https://jack-clark.net/2020/03/17/)). - Random affine transformation + Random affine transformation - Random elastic transformation + Random elastic transformation @@ -170,12 +170,12 @@ at [OpenAI](https://openai.com/) ([link](https://jack-clark.net/2020/03/17/)). - Random bias field artifact + Random bias field artifact - Random motion artifact + Random motion artifact @@ -190,12 +190,12 @@ at [OpenAI](https://openai.com/) ([link](https://jack-clark.net/2020/03/17/)). - Random spike artifact + Random spike artifact - Random ghosting artifact + Random ghosting artifact @@ -205,7 +205,7 @@ at [OpenAI](https://openai.com/) ([link](https://jack-clark.net/2020/03/17/)).

- Queue + Queue

@@ -269,13 +269,13 @@ and a [Hello, World!](https://torchio.readthedocs.io/quickstart.html#hello-world example. Longer usage examples can be found in the -[tutorials](https://github.com/fepegar/torchio/blob/main/tutorials/README.md). +[tutorials](https://github.com/TorchIO-Project/blob/main/tutorials/README.md). All the documentation is hosted on [Read the Docs](http://torchio.rtfd.io/). Please -[open a new issue](https://github.com/fepegar/torchio/issues/new/choose) +[open a new issue](https://github.com/TorchIO-Project/issues/new/choose) if you think something is missing. ## Contributors @@ -288,119 +288,119 @@ Thanks goes to all these people ([emoji key](https://allcontributors.org/docs/en - - - - - - + + + + + + - - + + - - + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - + - + - + - - - - - - - + + + + + + + - - + + - - + + - + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - + + + +
Fernando Pérez-García
Fernando Pérez-García

💻 📖
valabregue
valabregue

🤔 👀 💻 💬 🐛
GFabien
GFabien

💻 👀 🤔
G.Reguig
G.Reguig

💻
Niels Schurink
Niels Schurink

💻
Ibrahim Hadzic
Ibrahim Hadzic

🐛
Fernando Pérez-García
Fernando Pérez-García

💻 📖
valabregue
valabregue

🤔 👀 💻 💬 🐛
GFabien
GFabien

💻 👀 🤔
G.Reguig
G.Reguig

💻
Niels Schurink
Niels Schurink

💻
Ibrahim Hadzic
Ibrahim Hadzic

🐛
ReubenDo
ReubenDo

🤔
Julian Klug
Julian Klug

🤔
David Völgyes
David Völgyes

🤔 💻
Jean-Christophe Fillion-Robin
Jean-Christophe Fillion-Robin

📖
David Völgyes
David Völgyes

🤔 💻
Jean-Christophe Fillion-Robin
Jean-Christophe Fillion-Robin

📖
Suraj Pai
Suraj Pai

🤔
Ben Darwin
Ben Darwin

🤔
Oeslle Lucena
Oeslle Lucena

🐛
Soumick Chatterjee
Soumick Chatterjee

💻
Oeslle Lucena
Oeslle Lucena

🐛
Soumick Chatterjee
Soumick Chatterjee

💻
neuronflow
neuronflow

📖
Jan Witowski
Jan Witowski

📖
Derk Mus
Derk Mus

📖 💻 🐛
Christian Herz
Christian Herz

🐛
Cory Efird
Cory Efird

💻 🐛
Esteban Vaca C.
Esteban Vaca C.

🐛
Ray Phan
Ray Phan

🐛
neuronflow
neuronflow

📖
Jan Witowski
Jan Witowski

📖
Derk Mus
Derk Mus

📖 💻 🐛
Christian Herz
Christian Herz

🐛
Cory Efird
Cory Efird

💻 🐛
Esteban Vaca C.
Esteban Vaca C.

🐛
Ray Phan
Ray Phan

🐛
Akis Linardos
Akis Linardos

🐛 💻
Nina Montana-Brown
Nina Montana-Brown

📖 🚇
fabien-brulport
fabien-brulport

🐛
malteekj
malteekj

🐛
Andres Diaz-Pinto
Andres Diaz-Pinto

🐛
Sarthak Pati
Sarthak Pati

📦 📖
GabriellaKamlish
GabriellaKamlish

🐛
Akis Linardos
Akis Linardos

🐛 💻
Nina Montana-Brown
Nina Montana-Brown

📖 🚇
fabien-brulport
fabien-brulport

🐛
malteekj
malteekj

🐛
Andres Diaz-Pinto
Andres Diaz-Pinto

🐛
Sarthak Pati
Sarthak Pati

📦 📖
GabriellaKamlish
GabriellaKamlish

🐛
Tyler Spears
Tyler Spears

🐛
DaGuT
DaGuT

📖
Xiangyu Zhao
Xiangyu Zhao

🐛
siahuat0727
siahuat0727

📖 🐛
Svdvoort
Svdvoort

💻
Albans98
Albans98

💻
Matthew T. Warkentin
Matthew T. Warkentin

💻
Tyler Spears
Tyler Spears

🐛
DaGuT
DaGuT

📖
Xiangyu Zhao
Xiangyu Zhao

🐛
siahuat0727
siahuat0727

📖 🐛
Svdvoort
Svdvoort

💻
Albans98
Albans98

💻
Matthew T. Warkentin
Matthew T. Warkentin

💻
glupol
glupol

🐛
ramonemiliani93
ramonemiliani93

📖 🐛 💻
Justus Schock
Justus Schock

💻 🐛 🤔 👀
Stefan Milorad Radonjić
Stefan Milorad Radonjić

🐛
Sajan Gohil
Sajan Gohil

🐛
Ikko Ashimine
Ikko Ashimine

📖
laynr
laynr

📖
glupol
glupol

🐛
ramonemiliani93
ramonemiliani93

📖 🐛 💻
Justus Schock
Justus Schock

💻 🐛 🤔 👀
Stefan Milorad Radonjić
Stefan Milorad Radonjić

🐛
Sajan Gohil
Sajan Gohil

🐛
Ikko Ashimine
Ikko Ashimine

📖
laynr
laynr

📖
Omar U. Espejel
Omar U. Espejel

🔊
James Butler
James Butler

🐛
James Butler
James Butler

🐛
res191
res191

🔍
nengwp
nengwp

🐛 📖
nengwp
nengwp

🐛 📖
susanveraclarke
susanveraclarke

🎨
nepersica
nepersica

🐛
nepersica
nepersica

🐛
Sebastian Penhouet
Sebastian Penhouet

🤔
Bigsealion
Bigsealion

🐛
Dženan Zukić
Dženan Zukić

👀
vasl12
vasl12

🐛
François Rousseau
François Rousseau

🐛
snavalm
snavalm

💻
Jacob Reinhold
Jacob Reinhold

💻
Hsu
Hsu

🐛
Bigsealion
Bigsealion

🐛
Dženan Zukić
Dženan Zukić

👀
vasl12
vasl12

🐛
François Rousseau
François Rousseau

🐛
snavalm
snavalm

💻
Jacob Reinhold
Jacob Reinhold

💻
Hsu
Hsu

🐛
snipdome
snipdome

🐛
SmallY
SmallY

🐛
snipdome
snipdome

🐛
SmallY
SmallY

🐛
guigautier
guigautier

🤔
AyedSamy
AyedSamy

🐛
J. Miguel Valverde
J. Miguel Valverde

🤔 💻 🐛
AyedSamy
AyedSamy

🐛
J. Miguel Valverde
J. Miguel Valverde

🤔 💻 🐛
José Guilherme Almeida
José Guilherme Almeida

🤔
Asim Usman
Asim Usman

🐛
Asim Usman
Asim Usman

🐛
cbri92
cbri92

🐛
Markus J. Ankenbrand
Markus J. Ankenbrand

🐛
Ziv Yaniv
Ziv Yaniv

📖
Luca Lumetti
Luca Lumetti

💻 📖
chagelo
chagelo

🐛
mueller-franzes
mueller-franzes

💻 🐛
Abdelwahab Kawafi
Abdelwahab Kawafi

🐛
cbri92
cbri92

🐛
Markus J. Ankenbrand
Markus J. Ankenbrand

🐛
Ziv Yaniv
Ziv Yaniv

📖
Luca Lumetti
Luca Lumetti

💻 📖
chagelo
chagelo

🐛
mueller-franzes
mueller-franzes

💻 🐛
Abdelwahab Kawafi
Abdelwahab Kawafi

🐛
Arthur Masson
Arthur Masson

🐛 📖
양현식
양현식

💻
nicoloesch
nicoloesch

💻 🐛
Amund Vedal
Amund Vedal

📖
Alabamagan
Alabamagan

🐛
sbdoherty
sbdoherty

📖
Zhack47
Zhack47

🐛
Arthur Masson
Arthur Masson

🐛 📖
양현식
양현식

💻
nicoloesch
nicoloesch

💻 🐛
Amund Vedal
Amund Vedal

📖
Alabamagan
Alabamagan

🐛
sbdoherty
sbdoherty

📖
Zhack47
Zhack47

🐛
Blake Dewey
Blake Dewey

📖
Doyeon Kim
Doyeon Kim

🐛
KonoMaxi
KonoMaxi

🐛
Laurent Chauvin
Laurent Chauvin

🐛
Christian Hinge
Christian Hinge

🐛
zzz123xyz
zzz123xyz

🐛
Amin Alam
Amin Alam

📖
Blake Dewey
Blake Dewey

📖
Doyeon Kim
Doyeon Kim

🐛
KonoMaxi
KonoMaxi

🐛
Laurent Chauvin
Laurent Chauvin

🐛
Christian Hinge
Christian Hinge

🐛
zzz123xyz
zzz123xyz

🐛
Amin Alam
Amin Alam

📖
marius-sm
marius-sm

🤔
haarisr
haarisr

💻
Chris Winder
Chris Winder

🐛
Ricky Walsh
Ricky Walsh

💻
Keerthi Sravan Ravi
Keerthi Sravan Ravi

🐛
haarisr
haarisr

💻
Chris Winder
Chris Winder

🐛
Ricky Walsh
Ricky Walsh

💻
Keerthi Sravan Ravi
Keerthi Sravan Ravi

🐛
diff --git a/docs/examples/plot_custom_z_spacing.py b/docs/examples/plot_custom_z_spacing.py index 7afc90b8a..2897b5b6b 100644 --- a/docs/examples/plot_custom_z_spacing.py +++ b/docs/examples/plot_custom_z_spacing.py @@ -6,7 +6,7 @@ image spacing across one axis only. Inspired by -`this discussion `_. +`this discussion `_. """ import torch diff --git a/docs/source/README.rst b/docs/source/README.rst index 83d99a47f..fb7686829 100644 --- a/docs/source/README.rst +++ b/docs/source/README.rst @@ -27,29 +27,29 @@ the `PyTorch Developer Day 2021 `_, and the -`dependents list `_ is +`dependents list `_ is available on GitHub. -The code is available on `GitHub `_. +The code is available on `GitHub `_. If you like TorchIO, please go to the repository and star it! .. raw:: html - Star + Star See :doc:`Getting started ` for installation instructions and a usage overview. Contributions are more than welcome. -Please check our `contributing guide `_ +Please check our `contributing guide `_ if you would like to contribute. If you have questions, feel free to ask in the discussions tab: .. raw:: html - Discuss + Discuss If you found a bug or have a feature request, please open an issue: @@ -57,7 +57,7 @@ If you found a bug or have a feature request, please open an issue: .. raw:: html - Issue + Issue @@ -78,27 +78,27 @@ If you found a bug or have a feature request, please open an issue: :alt: Conda version .. |Google-Colab-notebook| image:: https://colab.research.google.com/assets/colab-badge.svg - :target: https://github.com/fepegar/torchio/blob/main/tutorials/README.md + :target: https://github.com/TorchIO-Project/blob/main/tutorials/README.md :alt: Google Colab notebooks .. |Docs-status| image:: https://img.shields.io/readthedocs/torchio?label=Docs&logo=Read%20the%20Docs :target: https://torchio.rtfd.io/?badge=latest :alt: Documentation status -.. |Tests-status| image:: https://github.com/fepegar/torchio/actions/workflows/tests.yml/badge.svg - :target: https://github.com/fepegar/torchio/actions/workflows/tests.yml +.. |Tests-status| image:: https://github.com/TorchIO-Project/actions/workflows/tests.yml/badge.svg + :target: https://github.com/TorchIO-Project/actions/workflows/tests.yml :alt: Tests status .. |Ruff| image:: https://camo.githubusercontent.com/bb88127790fb054cba2caf3f3be2569c1b97bb45a44b47b52d738f8781a8ede4/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636861726c6965726d617273682f727566662f6d61696e2f6173736574732f62616467652f76312e6a736f6e :target: https://docs.astral.sh/ruff/ :alt: Code style: Ruff -.. |Coverage-codecov| image:: https://codecov.io/gh/fepegar/torchio/branch/main/graphs/badge.svg - :target: https://app.codecov.io/github/fepegar/torchio +.. |Coverage-codecov| image:: https://codecov.io/gh/TorchIO-Project/branch/main/graphs/badge.svg + :target: https://app.codecov.io/github/TorchIO-Project :alt: Coverage status -.. |Code-Quality| image:: https://img.shields.io/scrutinizer/g/fepegar/torchio.svg?label=Code%20quality&logo=scrutinizer - :target: https://scrutinizer-ci.com/g/fepegar/torchio/?branch=main +.. |Code-Quality| image:: https://img.shields.io/scrutinizer/g/TorchIO-Project.svg?label=Code%20quality&logo=scrutinizer + :target: https://scrutinizer-ci.com/g/TorchIO-Project/?branch=main :alt: Code quality .. |YouTube| image:: https://img.shields.io/youtube/views/UEUVSw5-M9M?label=watch&style=social @@ -106,7 +106,7 @@ If you found a bug or have a feature request, please open an issue: :alt: YouTube .. |Code-Maintainability| image:: https://api.codeclimate.com/v1/badges/518673e49a472dd5714d/maintainability - :target: https://codeclimate.com/github/fepegar/torchio + :target: https://codeclimate.com/github/TorchIO-Project :alt: Maintainability .. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white diff --git a/docs/source/_templates/layout.html b/docs/source/_templates/layout.html index a17910084..6e8b74eff 100644 --- a/docs/source/_templates/layout.html +++ b/docs/source/_templates/layout.html @@ -20,7 +20,7 @@ {% block document %} {{super()}} - + Fork me on GitHub {% endblock %} diff --git a/docs/source/datasets.rst b/docs/source/datasets.rst index f5bf52fe6..7ab2ffe98 100644 --- a/docs/source/datasets.rst +++ b/docs/source/datasets.rst @@ -15,7 +15,7 @@ GitHub repository: .. raw:: html - Discuss + Discuss diff --git a/docs/source/index.rst b/docs/source/index.rst index 77f8deef5..ad682079f 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -12,5 +12,5 @@ datasets interfaces/index auto_examples/index - GitHub repository + GitHub repository Paper diff --git a/docs/source/quickstart.rst b/docs/source/quickstart.rst index e84fd6e39..0b0b8fc5f 100644 --- a/docs/source/quickstart.rst +++ b/docs/source/quickstart.rst @@ -27,7 +27,7 @@ If you would like to install Matplotlib to use the plotting features, use:: If you are on Windows and have -`trouble installing TorchIO `_, +`trouble installing TorchIO `_, try `installing PyTorch `_ with `conda `_ before pip-installing TorchIO. @@ -113,7 +113,7 @@ Tutorials |Google-Colab-notebook| The best way to quickly understand and try the library is the -`Jupyter Notebooks `_ +`Jupyter Notebooks `_ hosted on Google Colab. They include multiple examples and visualization of most of the classes, @@ -122,5 +122,5 @@ brain segmentation on :math:`T_1`-weighted MRI with full volumes and with subvolumes (aka patches or windows). .. |Google-Colab-notebook| image:: https://colab.research.google.com/assets/colab-badge.svg - :target: https://github.com/fepegar/torchio/blob/main/tutorials/README.md + :target: https://github.com/TorchIO-Project/blob/main/tutorials/README.md :alt: Google Colab notebook diff --git a/pyproject.toml b/pyproject.toml index cf1ce7c98..99871a410 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -65,10 +65,10 @@ torchio-transform = "torchio.cli.apply_transform:app" [project.urls] Homepage = "http://torchio.rtfd.io" -Source = "https://github.com/fepegar/torchio" -"Issue tracker" = "https://github.com/fepegar/torchio/issues" +Source = "https://github.com/TorchIO-Project" +"Issue tracker" = "https://github.com/TorchIO-Project/issues" Documentation = "http://torchio.rtfd.io" -"Release notes" = "https://github.com/fepegar/torchio/releases" +"Release notes" = "https://github.com/TorchIO-Project/releases" [dependency-groups] dev = [ diff --git a/src/torchio/constants.py b/src/torchio/constants.py index c7cdb357c..2ab17f2e2 100644 --- a/src/torchio/constants.py +++ b/src/torchio/constants.py @@ -24,10 +24,10 @@ CHANNELS_DIMENSION = 1 # Code repository -REPO_URL = 'https://github.com/fepegar/torchio/' +REPO_URL = 'https://github.com/TorchIO-Project/' # Data repository -DATA_REPO = 'https://github.com/fepegar/torchio-data/raw/main/data/' +DATA_REPO = 'https://github.com/TorchIO-Project-data/raw/main/data/' # Floating point error MIN_FLOAT_32 = torch.finfo(torch.float32).eps diff --git a/src/torchio/data/image.py b/src/torchio/data/image.py index aba6c15f9..7dbbc265a 100644 --- a/src/torchio/data/image.py +++ b/src/torchio/data/image.py @@ -168,7 +168,7 @@ def __init__( if 'channels_last' in kwargs: message = ( 'The "channels_last" keyword argument is deprecated after' - ' https://github.com/fepegar/torchio/pull/685 and will be' + ' https://github.com/TorchIO-Project/pull/685 and will be' ' removed in the future' ) warnings.warn(message, DeprecationWarning, stacklevel=2) @@ -242,7 +242,7 @@ def _check_data_loader() -> None: ' will be instances of torchio.Subject with 5D images. Replace' ' your PyTorch DataLoader with a torchio.SubjectsLoader so that' ' the collated batch becomes a dictionary, as expected. See' - ' https://github.com/fepegar/torchio/issues/1179 for more' + ' https://github.com/TorchIO-Project/issues/1179 for more' ' context about this issue.' ) warnings.warn(message, stacklevel=1) @@ -480,7 +480,7 @@ def _parse_path( if path is None: return None elif isinstance(path, dict): - # https://github.com/fepegar/torchio/pull/838 + # https://github.com/TorchIO-Project/pull/838 raise TypeError('The path argument cannot be a dictionary') elif self._is_paths_sequence(path): return [self._parse_single_path(p) for p in path] # type: ignore[union-attr] diff --git a/src/torchio/data/inference/aggregator.py b/src/torchio/data/inference/aggregator.py index 445429b3e..0927d9933 100644 --- a/src/torchio/data/inference/aggregator.py +++ b/src/torchio/data/inference/aggregator.py @@ -24,7 +24,7 @@ class GridAggregator: function. See the `grid aggregator tests`_ for a raw visualization of the three modes. - .. _grid aggregator tests: https://github.com/fepegar/torchio/blob/main/tests/data/inference/test_aggregator.py + .. _grid aggregator tests: https://github.com/TorchIO-Project/blob/main/tests/data/inference/test_aggregator.py .. note:: Adapted from NiftyNet. See `this NiftyNet tutorial `_ for more @@ -232,7 +232,7 @@ def get_output_tensor(self) -> torch.Tensor: assert isinstance(self._avgmask_tensor, torch.Tensor) # for mypy # true_divide is used instead of / in case the PyTorch version is # old and one the operands is int: - # https://github.com/fepegar/torchio/issues/526 + # https://github.com/TorchIO-Project/issues/526 output = torch.true_divide( self._output_tensor, self._avgmask_tensor, diff --git a/src/torchio/data/queue.py b/src/torchio/data/queue.py index 84f87e8a4..c106214d8 100644 --- a/src/torchio/data/queue.py +++ b/src/torchio/data/queue.py @@ -91,7 +91,7 @@ class Queue(Dataset): and the :class:`~torch.utils.data.DataLoader` used to pop batches from the queue. - .. image:: https://raw.githubusercontent.com/fepegar/torchio/main/docs/images/diagram_patches.svg + .. image:: https://raw.githubusercontent.com/TorchIO-Project/main/docs/images/diagram_patches.svg :alt: Training with patches This sketch can be used to experiment and understand how the queue works. diff --git a/src/torchio/data/sampler/label.py b/src/torchio/data/sampler/label.py index e1b38e78b..54fee9559 100644 --- a/src/torchio/data/sampler/label.py +++ b/src/torchio/data/sampler/label.py @@ -117,7 +117,7 @@ def get_probabilities_from_label_map( raise RuntimeError(message) crop_fin_i, crop_fin_j, crop_fin_k = crop_fin = (patch_size - 1) // 2 fin_i, fin_j, fin_k = spatial_shape - crop_fin - # See https://github.com/fepegar/torchio/issues/458 + # See https://github.com/TorchIO-Project/issues/458 label_map = label_map[:, ini_i:fin_i, ini_j:fin_j, ini_k:fin_k] multichannel = label_map.shape[0] > 1 @@ -141,7 +141,7 @@ def get_probabilities_from_label_map( if multichannel: probability_map = probability_map.sum(dim=0, keepdim=True) - # See https://github.com/fepegar/torchio/issues/458 + # See https://github.com/TorchIO-Project/issues/458 padding = ini_k, crop_fin_k, ini_j, crop_fin_j, ini_i, crop_fin_i probability_map = torch.nn.functional.pad( probability_map, diff --git a/src/torchio/data/sampler/weighted.py b/src/torchio/data/sampler/weighted.py index e62e86e0b..dfdcb5ced 100644 --- a/src/torchio/data/sampler/weighted.py +++ b/src/torchio/data/sampler/weighted.py @@ -227,7 +227,7 @@ def sample_probability_map( [ 6808, 6804, 6942, 6809, 6946, 6988, 7002, 6826, 7041]]) """ # Get first value larger than random number ensuring the random number - # is not exactly 0 (see https://github.com/fepegar/torchio/issues/510) + # is not exactly 0 (see https://github.com/TorchIO-Project/issues/510) random_number = max(MIN_FLOAT_32, torch.rand(1).item()) * cdf[-1] random_location_index = np.searchsorted(cdf, random_number) @@ -242,7 +242,7 @@ def sample_probability_map( message = ( 'Error retrieving probability in weighted sampler.' ' Please report this issue at' - ' https://github.com/fepegar/torchio/issues/new?labels=bug&template=bug_report.md' + ' https://github.com/TorchIO-Project/issues/new?labels=bug&template=bug_report.md' ) raise RuntimeError(message) diff --git a/src/torchio/data/subject.py b/src/torchio/data/subject.py index 25f871c99..0652a72ce 100644 --- a/src/torchio/data/subject.py +++ b/src/torchio/data/subject.py @@ -322,7 +322,7 @@ def check_consistent_space(self) -> None: 'As described above, some images in the subject are not in the' ' same space. You probably can use the transforms ToCanonical' ' and Resample to fix this, as explained at' - ' https://github.com/fepegar/torchio/issues/647#issuecomment-913025695' + ' https://github.com/TorchIO-Project/issues/647#issuecomment-913025695' ) raise RuntimeError(message) from e diff --git a/src/torchio/datasets/ixi.py b/src/torchio/datasets/ixi.py index 3b2c170f8..1453bf339 100644 --- a/src/torchio/datasets/ixi.py +++ b/src/torchio/datasets/ixi.py @@ -172,7 +172,7 @@ class IXITiny(SubjectsDataset): :class:`~torchio.transforms.transform.Transform`. download: If set to ``True``, will download the data into :attr:`root`. - .. _notebook: https://github.com/fepegar/torchio/blob/main/tutorials/README.md + .. _notebook: https://github.com/TorchIO-Project/blob/main/tutorials/README.md """ url = 'https://www.dropbox.com/s/ogxjwjxdv5mieah/ixi_tiny.zip?dl=1' diff --git a/src/torchio/datasets/mni/colin.py b/src/torchio/datasets/mni/colin.py index 3d391d93c..f0c6bc34a 100644 --- a/src/torchio/datasets/mni/colin.py +++ b/src/torchio/datasets/mni/colin.py @@ -73,7 +73,7 @@ def __init__(self, version=1998): filename=self.filename, ) - # Fix label map (https://github.com/fepegar/torchio/issues/220) + # Fix label map (https://github.com/TorchIO-Project/issues/220) if version == 2008: path = self.download_root / 'colin27_cls_tal_hires.nii' cls_image = LabelMap(path) diff --git a/src/torchio/transforms/augmentation/spatial/random_affine.py b/src/torchio/transforms/augmentation/spatial/random_affine.py index 67f262df0..c6c630188 100644 --- a/src/torchio/transforms/augmentation/spatial/random_affine.py +++ b/src/torchio/transforms/augmentation/spatial/random_affine.py @@ -348,7 +348,7 @@ def get_affine_transform(self, image): # the input space. Intuitively, the passed arguments should take us # from the input space to the output space, so we need to invert the # transform. - # More info at https://github.com/fepegar/torchio/discussions/693 + # More info at https://github.com/TorchIO-Project/discussions/693 transform = transform.GetInverse() if self.invert_transform: diff --git a/src/torchio/transforms/preprocessing/label/keep_largest_component.py b/src/torchio/transforms/preprocessing/label/keep_largest_component.py index fb17c2f82..24b5e86bd 100644 --- a/src/torchio/transforms/preprocessing/label/keep_largest_component.py +++ b/src/torchio/transforms/preprocessing/label/keep_largest_component.py @@ -15,7 +15,7 @@ class KeepLargestComponent(LabelTransform): maps with a background and a foreground class. If you are interested in extending this transform, please `open a new issue`_. - .. _open a new issue: https://github.com/fepegar/torchio/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=Improve%20KeepLargestComponent%20transform + .. _open a new issue: https://github.com/TorchIO-Project/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=Improve%20KeepLargestComponent%20transform """ def apply_transform(self, subject: Subject) -> Subject: diff --git a/src/torchio/transforms/preprocessing/spatial/copy_affine.py b/src/torchio/transforms/preprocessing/spatial/copy_affine.py index 83fc809a6..1ead19efb 100644 --- a/src/torchio/transforms/preprocessing/spatial/copy_affine.py +++ b/src/torchio/transforms/preprocessing/spatial/copy_affine.py @@ -54,12 +54,12 @@ class CopyAffine(SpatialTransform): .. note:: For more information, see some related discussions on GitHub: - * https://github.com/fepegar/torchio/issues/354 - * https://github.com/fepegar/torchio/discussions/489 - * https://github.com/fepegar/torchio/pull/584 - * https://github.com/fepegar/torchio/issues/430 - * https://github.com/fepegar/torchio/issues/382 - * https://github.com/fepegar/torchio/pull/592 + * https://github.com/TorchIO-Project/issues/354 + * https://github.com/TorchIO-Project/discussions/489 + * https://github.com/TorchIO-Project/pull/584 + * https://github.com/TorchIO-Project/issues/430 + * https://github.com/TorchIO-Project/issues/382 + * https://github.com/TorchIO-Project/pull/592 """ def __init__(self, target: str, **kwargs): @@ -80,7 +80,7 @@ def apply_transform(self, subject: Subject) -> Subject: if image is reference: continue # We load the image to avoid complications - # https://github.com/fepegar/torchio/issues/1071#issuecomment-1511814720 + # https://github.com/TorchIO-Project/issues/1071#issuecomment-1511814720 image.load() image.affine = affine return subject diff --git a/tests/data/inference/test_aggregator.py b/tests/data/inference/test_aggregator.py index a024b3c4f..9b0c96e37 100644 --- a/tests/data/inference/test_aggregator.py +++ b/tests/data/inference/test_aggregator.py @@ -87,7 +87,7 @@ def test_warning_int64(self): aggregator.get_output_tensor() def run_patch_crop_issue(self, *, padding_mode): - # https://github.com/fepegar/torchio/issues/813 + # https://github.com/TorchIO-Project/issues/813 pao, pas, ims, bb1, bb2 = 4, 102, 320, 100, 120 patch_overlap = pao, 0, 0 diff --git a/tests/data/sampler/test_label_sampler.py b/tests/data/sampler/test_label_sampler.py index 0fab9922e..3bfadaa7c 100644 --- a/tests/data/sampler/test_label_sampler.py +++ b/tests/data/sampler/test_label_sampler.py @@ -29,7 +29,7 @@ def test_label_probabilities(self): assert torch.all(probabilities.squeeze().eq(fixture)) def test_inconsistent_shape(self): - # https://github.com/fepegar/torchio/issues/234#issuecomment-675029767 + # https://github.com/TorchIO-Project/issues/234#issuecomment-675029767 subject = tio.Subject( im1=tio.ScalarImage(tensor=torch.rand(2, 4, 5, 6)), im2=tio.LabelMap(tensor=torch.rand(1, 4, 5, 6)), @@ -70,7 +70,7 @@ def test_no_labelmap(self): next(sampler(subject)) def test_empty_map(self): - # https://github.com/fepegar/torchio/issues/392 + # https://github.com/TorchIO-Project/issues/392 im = tio.ScalarImage(tensor=torch.rand(1, 6, 6, 6)) label = torch.zeros(1, 6, 6, 6) label[..., 0] = 1 # voxels far from center diff --git a/tests/data/sampler/test_uniform_sampler.py b/tests/data/sampler/test_uniform_sampler.py index 6fe202c15..590862cd0 100644 --- a/tests/data/sampler/test_uniform_sampler.py +++ b/tests/data/sampler/test_uniform_sampler.py @@ -16,7 +16,7 @@ def test_uniform_probabilities(self): assert torch.all(probabilities.eq(fixtures)) def test_incosistent_shape(self): - # https://github.com/fepegar/torchio/issues/234#issuecomment-675029767 + # https://github.com/TorchIO-Project/issues/234#issuecomment-675029767 subject = torchio.Subject( im1=torchio.ScalarImage(tensor=torch.rand(1, 4, 5, 6)), im2=torchio.ScalarImage(tensor=torch.rand(2, 4, 5, 6)), diff --git a/tests/data/sampler/test_weighted_sampler.py b/tests/data/sampler/test_weighted_sampler.py index 20c53e001..620de6003 100644 --- a/tests/data/sampler/test_weighted_sampler.py +++ b/tests/data/sampler/test_weighted_sampler.py @@ -27,7 +27,7 @@ def get_sample(self, image_shape): return subject def test_inconsistent_shape(self): - # https://github.com/fepegar/torchio/issues/234#issuecomment-675029767 + # https://github.com/TorchIO-Project/issues/234#issuecomment-675029767 subject = tio.Subject( im1=tio.ScalarImage(tensor=torch.rand(1, 4, 5, 6)), im2=tio.ScalarImage(tensor=torch.rand(2, 4, 5, 6)), diff --git a/tests/data/test_image.py b/tests/data/test_image.py index d4a00dd78..82eac971a 100644 --- a/tests/data/test_image.py +++ b/tests/data/test_image.py @@ -235,7 +235,7 @@ def test_count(self): assert 0 <= counts[1] <= max_n def test_affine_multipath(self): - # https://github.com/fepegar/torchio/issues/762 + # https://github.com/TorchIO-Project/issues/762 path1 = self.get_image_path('multi1') path2 = self.get_image_path('multi2') paths = path1, path2 @@ -243,7 +243,7 @@ def test_affine_multipath(self): self.assert_tensor_equal(image.affine, np.eye(4)) def test_bad_numpy_type_reader(self): - # https://github.com/fepegar/torchio/issues/764 + # https://github.com/TorchIO-Project/issues/764 def numpy_reader(path): return np.load(path), np.eye(4) @@ -273,7 +273,7 @@ def test_unload_no_path(self): image.unload() def test_copy_no_data(self): - # https://github.com/fepegar/torchio/issues/974 + # https://github.com/TorchIO-Project/issues/974 path = self.get_image_path('im_copy') my_image = tio.LabelMap(path) assert not my_image._loaded diff --git a/tests/data/test_subject.py b/tests/data/test_subject.py index f83101874..54581f64b 100644 --- a/tests/data/test_subject.py +++ b/tests/data/test_subject.py @@ -73,7 +73,7 @@ def test_plot_one_image(self): subject.plot(show=False) def test_same_space(self): - # https://github.com/fepegar/torchio/issues/381 + # https://github.com/TorchIO-Project/issues/381 affine1 = np.array( [ [ diff --git a/tests/transforms/augmentation/test_random_affine.py b/tests/transforms/augmentation/test_random_affine.py index fdb8c3fbd..a23eac043 100644 --- a/tests/transforms/augmentation/test_random_affine.py +++ b/tests/transforms/augmentation/test_random_affine.py @@ -152,7 +152,7 @@ def do_assert(transform): do_assert(tio.RandomAffine(translation=3 * [-10, 10])) def test_default_value_label_map(self): - # From https://github.com/fepegar/torchio/issues/626 + # From https://github.com/TorchIO-Project/issues/626 a = torch.tensor([[1, 0, 0], [0, 1, 0], [0, 0, 1]]).reshape(1, 3, 3, 1) image = tio.LabelMap(tensor=a) aff = tio.RandomAffine(translation=(0, 1, 1), default_pad_value='otsu') diff --git a/tests/transforms/augmentation/test_random_bias_field.py b/tests/transforms/augmentation/test_random_bias_field.py index d9b351739..d639d6ebb 100644 --- a/tests/transforms/augmentation/test_random_bias_field.py +++ b/tests/transforms/augmentation/test_random_bias_field.py @@ -36,5 +36,5 @@ def test_wrong_order_type(self): tio.RandomBiasField(order='wrong') def test_small_image(self): - # https://github.com/fepegar/torchio/issues/300 + # https://github.com/TorchIO-Project/issues/300 tio.RandomBiasField()(torch.rand(1, 2, 3, 4)) diff --git a/tests/transforms/preprocessing/test_crop_pad.py b/tests/transforms/preprocessing/test_crop_pad.py index bed573fbd..d15afeffb 100644 --- a/tests/transforms/preprocessing/test_crop_pad.py +++ b/tests/transforms/preprocessing/test_crop_pad.py @@ -169,7 +169,7 @@ def test_mask_corners(self): ) def test_2d(self): - # https://github.com/fepegar/torchio/issues/434 + # https://github.com/TorchIO-Project/issues/434 image = np.random.rand(1, 16, 16, 1) mask = np.zeros_like(image, dtype=bool) mask[0, 7, 0] = True @@ -194,7 +194,7 @@ def test_no_target(self): crop_with_mask(self.sample_subject) def test_persistent_bounds_params(self): - # https://github.com/fepegar/torchio/issues/757 + # https://github.com/TorchIO-Project/issues/757 shape = (1, 5, 5, 5) mask_a = np.zeros(shape) mask_a[0, 2, 2, 2] = 1 diff --git a/tests/transforms/preprocessing/test_rescale.py b/tests/transforms/preprocessing/test_rescale.py index 02f2b670d..25f9edd04 100644 --- a/tests/transforms/preprocessing/test_rescale.py +++ b/tests/transforms/preprocessing/test_rescale.py @@ -111,7 +111,7 @@ def test_empty_mask(self): rescale(subject) def test_persistent_in_min_max(self): - # see https://github.com/fepegar/torchio/issues/1115 + # see https://github.com/TorchIO-Project/issues/1115 img1 = torch.tensor([[[[0, 1]]]]) img2 = torch.tensor([[[[0, 10]]]]) diff --git a/tests/transforms/preprocessing/test_z_normalization.py b/tests/transforms/preprocessing/test_z_normalization.py index 0a0bf010a..585d8b89e 100644 --- a/tests/transforms/preprocessing/test_z_normalization.py +++ b/tests/transforms/preprocessing/test_z_normalization.py @@ -21,7 +21,7 @@ def test_no_std(self): tio.ZNormalization()(image) def test_dtype(self): - # https://github.com/fepegar/torchio/issues/407 + # https://github.com/TorchIO-Project/issues/407 tensor_int = (100 * torch.rand(1, 2, 3, 4)).byte() transform = tio.ZNormalization(masking_method=tio.ZNormalization.mean) transform(tensor_int) diff --git a/tests/transforms/test_transforms.py b/tests/transforms/test_transforms.py index f97dd4f44..5b42d9bc3 100644 --- a/tests/transforms/test_transforms.py +++ b/tests/transforms/test_transforms.py @@ -282,7 +282,7 @@ def test_non_invertible(self): transform.inverse() def test_batch_history(self): - # https://github.com/fepegar/torchio/discussions/743 + # https://github.com/TorchIO-Project/discussions/743 subject = self.sample_subject transform = tio.Compose( [ @@ -338,7 +338,7 @@ def get_mask(label): def test_label_keys(self): # Adapted from the issue in which the feature was requested: - # https://github.com/fepegar/torchio/issues/866#issue-1222255576 + # https://github.com/TorchIO-Project/issues/866#issue-1222255576 size = 1, 10, 10, 10 image = torch.rand(size) num_classes = 2 # excluding background @@ -378,7 +378,7 @@ def test_bad_shape(self): tio.RandomAffine()(tensor) def test_bad_keys_type(self): - # From https://github.com/fepegar/torchio/issues/923 + # From https://github.com/TorchIO-Project/issues/923 with self.assertRaises(ValueError): tio.RandomAffine(include='t1') diff --git a/tutorials/README.md b/tutorials/README.md index a2a97901c..33933b2ea 100644 --- a/tutorials/README.md +++ b/tutorials/README.md @@ -8,19 +8,19 @@ any packages locally. Getting Started tutorial. It includes training and inference of a model for brain segmentation using a 3D U-Net. -[![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/fepegar/torchio-notebooks/blob/main/notebooks/TorchIO_tutorial.ipynb) +[![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/TorchIO-Project-notebooks/blob/main/notebooks/TorchIO_tutorial.ipynb) ## Transforms This tutorial will teach everything about transforms, and how to use them for preprocessing and augmentation. -[![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/fepegar/torchio-notebooks/blob/main/notebooks/Data_preprocessing_and_augmentation_using_TorchIO_a_tutorial.ipynb) +[![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/TorchIO-Project-notebooks/blob/main/notebooks/Data_preprocessing_and_augmentation_using_TorchIO_a_tutorial.ipynb) ## Inference This is an example of using a pre-trained PyTorch model (HighRes3DNet) and TorchIO to perform a full brain parcellation from a T1-weighted MRI. -[![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/fepegar/torchio-notebooks/blob/main/notebooks/Brain_parcellation_with_TorchIO_and_HighRes3DNet.ipynb) +[![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/TorchIO-Project-notebooks/blob/main/notebooks/Brain_parcellation_with_TorchIO_and_HighRes3DNet.ipynb) ## TorchIO + MONAI + PyTorch Lightning @@ -29,4 +29,4 @@ In this tutorial, we demonstrate how these three libraries from the can be used together to segment the hippocampus on brain MRIs from the [Medical Segmentation Decathlon](http://medicaldecathlon.com/). -[![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/fepegar/torchio-notebooks/blob/main/notebooks/TorchIO_MONAI_PyTorch_Lightning.ipynb) +[![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/TorchIO-Project-notebooks/blob/main/notebooks/TorchIO_MONAI_PyTorch_Lightning.ipynb)