Releases: mlcommons/GaNDLF
Releases · mlcommons/GaNDLF
New logo, updated DICOM support for WSI, and DP
What's Changed
- Version updated for development by @scap3yvt in #948
- Upload code coverage only from master by @scap3yvt in #950
- Added functionality related to DP training by @scap3yvt in #945
- Added documentation on private model training by @scap3yvt in #952
- Automatic set strides kernels in dynunet by @benmalef in #955
- Add Huggingface Integration by @pranayasinghcsmpl in #916
- Standardized dependency installation for GitHub actions by @scap3yvt in #921
- Added logo by @sarthakpati in #958
- Add support for DICOM WSI by using OpenSlide by @benmalef in #959
- Getting ready to tag new version with update dependencies by @sarthakpati in #960
Full Changelog: 0.1.0...0.1.1
0.1.0: new version to kickstart the process of updating APIs
What's Changed
- Entrypoints and new gandlf cli command by @VukW in #818
- Trigger tests for pull requests to all branches by @sarthakpati in #855
- Update PyTorch dependency by @scap3yvt in #857
- Updated CLI options for new API by @scap3yvt in #853
- Add a new optimizer by @pranayasinghcsmpl in #874
- Minor typos removed by @scap3yvt in #882
- Add dynunet model by @benmalef in #873
- Hardcoding pip version for workflows by @benmalef in #887
- Adding function to get augmentation transforms by @szmazurek in #889
- Cleaning setup by @VukW in #890
- Added metrics for BraTS Path challenge by @sarthakpati in #885
- Metrics library updated to support comma separate inputs by @scap3yvt in #900
- Added output path for optimize model by @scap3yvt in #896
- Add logging final version by @benmalef in #893
- Adding proper parameter usage in the class constructor by @szmazurek in #908
- Updated version check for nightly builds by @sarthakpati in #910
- Ensure all build commands are in single step by @scap3yvt in #911
- New command line API functionality by @sarthakpati in #845
- Added programmatic pip list by @scap3yvt in #864
- Fix binary auroc error by @VukW in #914
- Update sample configuration for classification by @scap3yvt in #917
- Torch version updated by @scap3yvt in #919
- Updated GaNDLF documentation for clarity by @Linardos in #915
- Fixed bug in inference by @vahluw in #922
- Add log file parameter to cli commands by @benmalef in #912
- Updated docs for clarity by @Linardos in #927
- Changed warning message by @Linardos in #933
- Fix spurious errors in OpenFL Github Actions workflow by @psfoley in #934
- Added the ademamix optimizer by @scap3yvt in #936
- Added itcr connectivity map by @sarthakpati in #938
- Assert messages to flush to the log file by @benmalef in #923
- Added migration guide by @scap3yvt in #939
- Update requests version by @benmalef in #943
- Added the option to upload coverage to codacy by @sarthakpati in #946
- Version updated for tagging by @scap3yvt in #947
New Contributors
- @pranayasinghcsmpl made their first contribution in #874
- @Linardos made their first contribution in #915
Full Changelog: 0.0.20...0.1.0
Last tag with older API - no new functionality to be added after this
What's Changed
- Version updated for development by @sarthakpati in #839
- Updated version checking mechanism by @scap3yvt in #841
- PR title regex fix by @VukW in #844
- Deprecated pkg resources by @VukW in #846
- Fixing data split logic by @scap3yvt in #847
- Commenting out auroc by @scap3yvt in #850
- Ensure a float tensor is passed for augmentations by @scap3yvt in #860
- Refactor inference manager code to save correct files by @Geeks-Sid in #865
- Made train batches order same as gt by @VukW in #870
- Downgrade requests from newest version by @VukW in #871
- Update black action with specific version by @sarthakpati in #876
- Create CODEOWNERS by @sarthakpati in #867
- Fixed pip version for CI tests by @sarthakpati in #898
- Corrected forward operations order by @hongbozheng in #897
- Fix train metrics by @VukW in #868
- Updated version for release by @sarthakpati in #904
New Contributors
- @hongbozheng made their first contribution in #897
Full Changelog: 0.0.19...0.0.20
Tagging before major API overhaul
What's Changed
- Version update for development by @sarthakpati in #797
- Standardizing commenting style for major functions by @scap3yvt in #799
- Added a script to generate information useful for debugging by @scap3yvt in #803
- Update GitHub templates by @sarthakpati in #804
- Version update for dependency for new Google APIs by @scap3yvt in #809
- Add schedulers monai by @Ainesh06102004 in #807
- Add default line length for linting by @scap3yvt in #820
- Fix html rendering by @scap3yvt in #824
- Black trailing comma config by @szmazurek in #830
- Added readme for running tests locally by @VukW in #827
- Added black trailing comma style fix by @VukW in #832
- Fixed version dicom anonymizer by @VukW in #836
- Added ability to perform stratified data splits by @scap3yvt in #831
- Added ability to generate split CSVs using external script by @scap3yvt in #833
- Fix code issues reported by codacy by @benmalef in #808
- Removing double print of metrics by @scap3yvt in #838
- Version update for tagging a new release by @sarthakpati in #837
New Contributors
Full Changelog: 0.0.18...0.0.19
A major release with multiple updated dependencies
What's Changed
- Updated version for development by @sarthakpati in #732
- Upgrade base python and numpy versions by @szmazurek in #730
- Updated docs for new python by @scap3yvt in #737
- Add error handling for brain age model by @1Pravi in #710
- Updated cosign installation by @scap3yvt in #739
- Upgrade base pandas version by @Ainesh06102004 in #740
- Making black version static by @scap3yvt in #744
- Revert to correct download location by @scap3yvt in #745
- Upgrade base torchmetrics version by @szmazurek in #742
- Consistent black across the codebase by @scap3yvt in #746
- Upgrade base PyTorch version by @szmazurek in #747
- Update installation link by @sarthakpati in #748
- Upgrade base torchio version by @scap3yvt in #749
- Update installation instructions by @scap3yvt in #750
- Updated the minimum and maximum python versions by @scap3yvt in #751
- Fixed the issue where a specific library prevents training to start by @scap3yvt in #753
- Minor documentation updates by @scap3yvt in #754
- Bump internal version by @dependabot in #759
- Fix for sample data download by @scap3yvt in #766
- Added documentation for extending optimizer and schedulers by @scap3yvt in #764
- Updated min devcontainer requirement by @scap3yvt in #769
- Ensure pip is available in environment path for devcontainers by @scap3yvt in #770
- Sync tests with openfl develop branch by @scap3yvt in #772
- Updated git command for speed by @scap3yvt in #773
- Consolidated a few checks by @scap3yvt in #774
- Added option to bias the patch extraction for label sampler by @scap3yvt in #771
- Added option to use different weights for sampler biasing and loss by @scap3yvt in #777
- Added option to not apply zero plane cropping for gandlf preprocess by @scap3yvt in #779
- Add optimizers monai by @Ainesh06102004 in #781
- Rename parseconfig for consistency by @scap3yvt in #784
- Upgrade pytorch and torchio versions by @scap3yvt in #786
- Added flowcharts for developers by @sarthakpati in #789
- Added an option for backwards compatibility for parseconfig by @scap3yvt in #791
- Updated openfl tests by @scap3yvt in #787
- Version updated for tagging by @sarthakpati in #796
New Contributors
- @szmazurek made their first contribution in #730
- @1Pravi made their first contribution in #710
- @Ainesh06102004 made their first contribution in #740
Full Changelog: 0.0.17...0.0.18
New version before major dependency updates
What's Changed
- Version update for development by @sarthakpati in #648
- Added citation file by @sarthakpati in #654
- Added new optimizers by @AdiSir05 in #646
- Allow histology patches to be extracted without ground truth labels by @sarthakpati in #657
- Added metric calculation from CLI by @sarthakpati in #663
- Added a few segmentation metrics by @sarthakpati in #661
- Repository badges have been updated by @sarthakpati in #667
- Added instructions on creating new tutorials by @sarthakpati in #664
- Ensure parameters are built into the model dictionary by @sarthakpati in #673
- Calculating penalty after all compute objects are initialized by @sarthakpati in #675
- Add image similarity metrics by @sarthakpati in #669
- Allow the penalty and class weights in the config to be used by @sarthakpati in #677
- Added documentation related to OpenFL by @sarthakpati in #683
- Add MLCube wrapper for metrics API by @hasan7n in #681
- Adding mechanism to curate each extracted patch by @shubhaminnani in #653
- Added mask to SSIM function call by @FelixSteinbauer in #685
- Removed history file by @sarthakpati in #690
- Updated the metrics output by @sarthakpati in #687
- Update docker image name in workflow by @hasan7n in #692
- Fixed plotting function for final stats by @Geeks-Sid in #691
- Fixed import for collect stats by @sarthakpati in #694
- HED augmentations for digital pathology image by @Geeks-Sid in #649
- Added focal loss by @sarthakpati in #696
- Added a temporary fix for protobuf by @sarthakpati in #702
- Use torchmetric PSNR implementation and argument ordering by @FelixSteinbauer in #693
- Introduced percentile normalization for synthesis challenge metrics by @FelixSteinbauer in #700
- Upgrade openvino version to latest by @Geeks-Sid in #699
- Additional PSNR evaluations for the normalized synthesis case by @FelixSteinbauer in #703
- Improved formatting by @sarthakpati in #707
- Updated checkout version and test names for clarity by @sarthakpati in #708
- Updated default options for sgd by @sarthakpati in #709
- Added matthews correlation coefficient loss by @sarthakpati in #706
- Using tuples for PSNR datarange by @FelixSteinbauer in #712
- Deploy model entrypoint by @hasan7n in #711
- Added parameter to toggle NCC computation by @FelixSteinbauer in #717
- Adding second classification tutorial by @vavali08 in #698
- Minor code refactoring by @tosemml in #719
- Combined writing and temp file creation in a single step by @sarthakpati in #720
- Update usage information for anonymizer by @sanashah007 in #716
- Move unit testing data to the mlcommons storage by @sarthakpati in #722
- Fixed model saving when git repo not found by @scap3yvt in #729
- Removing dev from version for tagging by @scap3yvt in #731
New Contributors
- @AdiSir05 made their first contribution in #646
- @shubhaminnani made their first contribution in #653
- @FelixSteinbauer made their first contribution in #685
- @vavali08 made their first contribution in #698
- @tosemml made their first contribution in #719
- @sanashah007 made their first contribution in #716
- @scap3yvt made their first contribution in #729
Full Changelog: 0.0.16...0.0.17
Major release with the paper
What's Changed
- Implemented a common copyright message for CLI and updated links & email by @sarthakpati in #512
- Change python-test.yml to pass on docs-only by @AlexanderGetka-cbica in #517
- Making the flowchart a bit more generic to showcase inference by @sarthakpati in #514
- Updated install verification logic by @sarthakpati in #520
- Updated implementation for augmentations that need std-dev by @sarthakpati in #521
- Ability to generate multiple training configurations using a specific strategy by @sarthakpati in #525
- Updated patch divisibility logic by @sarthakpati in #523
- Added sanity check for
norm_type
for non-vgg network architectures by @sarthakpati in #528 - Fixing requirement for SimpleITK for a problematic version by @sarthakpati in #537
- Preprocessing is now working when a random set of metadata columns are present by @sarthakpati in #535
- Added ability to combine classification inference results from different architectures by @sarthakpati in #531
- Added ability to save
initial
andlatest
models in addition tobest
by @sarthakpati in #539 - Latest model is now saved correctly by @sarthakpati in #546
- Consideration of
scaling_factor
has been moved to loss/metrics by @sarthakpati in #541 - Added ability to specify testing data csv in main cli by @sarthakpati in #545
- added more information for #529 by @sarthakpati in #549
- Add docker docs by @AlexanderGetka-cbica in #550
- Added more details to documentation specifically related to training customization by @sarthakpati in #552
- Added more details about Docker by @sarthakpati in #554
- Separate
modelDir
andoutputDir
parameters for inference to cohesiveness by @sarthakpati in #557 - The logs now include metric headers from
overall_stats
by @sarthakpati in #558 - Fix parseConfig separately from my other PR by @AlexanderGetka-cbica in #561
Full Changelog: 0.0.5...0.0.16
Major release before dependency updates.
What's Changed
- Python 3.8 fixes by @AlexanderGetka-cbica in #453
- Version updated for development by @sarthakpati in #452
- Fixing the
stride_size
check for histology inference by @sarthakpati in #455 - Update CI (PyTest to 3.8, and Docker Image creation) by @AlexanderGetka-cbica in #461
- Bump numpy from 1.21.0 to 1.22.0 by @dependabot in #460
- Add collectStats functionality for classification tasks by @garvm7 in #463
- Ensuring params are populated correctly even if only testing data is invoked by @sarthakpati in #466
- Added blending probability maps with original WSI by @sarthakpati in #465
- Update data type for stride size by @sarthakpati in #458
- Add FP16 option for model optimization by @junwenwu in #457
- Added option to not pick up pretrained weights for
imagenet_vgg
by @sarthakpati in #469 - Added ability to print model size and summary at run-time by @sarthakpati in #468
- Better handling of large WSIs by @sarthakpati in #472
- Added exception testing for histology classification by @sarthakpati in #477
- Fixing reported Codacy fixes by @sarthakpati in #474
- Formatting fixes for readability by @sarthakpati in #478
- Completely excising VIPS from GaNDLF by @sarthakpati in #480
- Update test workflow with file path filtering by @AlexanderGetka-cbica in #473
- Saving report for failure cases from
pytest
as a separate log by @sarthakpati in #482 - New metric added to calculated per-class accuracy by @sarthakpati in #486
- Single utility function to return array from tensor/image by @sarthakpati in #483
- Increasing unit test coverage by @sarthakpati in #487
- Fixed the order of coordinates in
predictions.csv
for WSI inference by @sarthakpati in #490 - Added ability to call specific post processing algorithms after reverse one-hot encoding by @sarthakpati in #494
- Adding Largest connected component analysis as a post-processing step by @Geeks-Sid in #467
- Dedicated rescaling preprocessing function added for increased flexibility by @sarthakpati in #496
- Fixes multi-batch issue for
per_label_accuracy
by @sarthakpati in #498 - Included classification-specific metrics using overall predictions and ground truths by @sarthakpati in #500
- version update for tagging by @sarthakpati in #501
New Contributors
Full Changelog: 0.0.14...0.0.15
Major release with lots of new functionality
What's Changed
- updated version for development by @sarthakpati in #259
- Fix for
get_final_layer
use inGANDLF.utils
by @sarthakpati in #260 - Add functionality to save training patches by @sarthakpati in #263
- Updates to integrate new OPM APIs by @sarthakpati in #261
- Added option to print per-label segmentation scores by @sarthakpati in #264
- updated initialization for dicts by @sarthakpati in #267
- Motion artifact separated by @sarthakpati in #270
- added
black
andopencv-python
as an explicit requirements by @sarthakpati in #271 - Bump numpy from 1.19.2 to 1.21.0 by @dependabot in #272
- Added capability to use
InstanceNorm
inDenseNet
by @sarthakpati in #274 - Updated implementations of
VGG
andDenseNet
to useModelBase
for consistency by @sarthakpati in #276 - Added git hash to model save by @sarthakpati in #277
- Added FAQ by @sarthakpati in #279
- Update to how
git_hash
is saved by @sarthakpati in #280 - Documentation updated for new module structure by @sarthakpati in #283
- Accuracy is now standardized from torchmetrics by @sarthakpati in #287
- Adding automated linting check for
black
by @sarthakpati in #284 - Post-processing module added by @sarthakpati in #289
- Added a
GANDLF.anonymize
module by @sarthakpati in #291 - Updated documentation (faq and usage) by @sarthakpati in #294
- Git submodule update is now integrate in setup by @sarthakpati in #296
- Ensure
colorjitter
works with defaults by @sarthakpati in #297 - More progress bars for better feedback by @sarthakpati in #301
- Update usage.md - plot final results by @anishshriram in #305
- Using
Resample
andResize
from TorchIO by @Geeks-Sid in #293 - Ensure hole filling output is int by @sarthakpati in #306
- Added instructions for dependency management by @sarthakpati in #307
- Minor fix for
reset_prev
by @sarthakpati in #310 - added captk and fets links by @sarthakpati in #311
- Updates documentation based on SB's notes by @sarthakpati in #313
- Added script to verify installation by @sarthakpati in #315
- Added ability to save preprocessed files with data augmentation by @sarthakpati in #317
- Added ResNet with multiple configurations by @Sofia-Mouchtaris in #319
- Bug fix in parameters for
gandlf_collectStats
by @dlang95 in #321 Resample_Min
added to ensure a baseline resolution for all images getting processed by @sarthakpati in #325- Added final predictions for classification by @sarthakpati in #328
- Ensuring cropping zero planes are applied for preprocessing by @sarthakpati in #329
- Typo fixed for
hd95
by @sarthakpati in #331 - Using
TiffSlide
instead ofOpenSlide
for a better deployment by @sarthakpati in #303 - Histology anonymization added by @Geeks-Sid in #281
- Bug fix for
gandlf_collectStats
by @sarthakpati in #335 - Adding
resize_image
as a separate option as compared toresize_patch
by @sarthakpati in #337 - Sanity checking is now softer with a threshold by @sarthakpati in #340
- Added ability to resume with and without updating parameters and/or data by @sarthakpati in #344
- Reverse one-hot logic is now updated to output unique labels by @sarthakpati in #342
- Added EfficientNet with multiple configurations by @Sofia-Mouchtaris in #327
- Links added for current networks by @sarthakpati in #346
- Add Dockerfiles and Docker Hub CI by @AlexanderGetka-cbica in #353
- Add GitHub Packages upload step, refine Docker CI further by @AlexanderGetka-cbica in #355
- Added Docker Image builds by @sarthakpati in #354
- docker ci badge position change by @sarthakpati in #356
- Docker CI: Fix login requirement -- no need to log in for PRs (oops!) by @AlexanderGetka-cbica in #359
- Added some checks for inference mode by @sarthakpati in #358
- Fix for invalid classification accuracy in training by @orhunguley in #361
- Post-training optimization using OpenVINO added by @junwenwu in #312
- Enabling inference without having access to the ground truth by @sarthakpati in #363
- Ensure ONNX-related print only happens once during training by @sarthakpati in #364
- Fixed issue with
balanced_accuracy
parsing by @sarthakpati in #366 - Hard requirement of PyTorch to LTS by @sarthakpati in #369
- Added post-processing step to map predicted labels to new values by @sarthakpati in #367
- Fix Docker CI on PRs again (meta information missing causing a rebuild -> out of space) by @AlexanderGetka-cbica in #371
- Fixing docker builds by @sarthakpati in #372
- ROCm Docker builds are no longer valid since we are only supporting PyTorch LTS by @sarthakpati in #370
- Custom inference loop added for histo classification by @sarthakpati in #374
- UNet and Light UNet with varying depth by @Sofia-Mouchtaris in #357
- Create codacy-coverage-reporter.yml by @sarthakpati in #368
- added a comment about padding options by @sarthakpati in #376
- Improved penalty calculation and added ImageNet-specific VGG by @Geeks-Sid in #365
- Error checks added to ImageNet VGG by @sarthakpati in #377
- updated config comment for
num_channels
by @sarthakpati in #378 - Logic fixed for step scheduler by @sarthakpati in #379
- Add option to save model at every epoch by @sarthakpati in #381
- Added note for classification/regression tasks by @sarthakpati in #385
- Added RGBA to RGB conversion in preprocessing by @sarthakpati in #384
- Improved default
step_size
calculation by @sarthakpati in #386 - Added a key for
exp
scheduler by @sarthakpati in #387 - Documentation updates by @sarthakpati in #388
- Fixing tests on named venv by @sarthakpati in #382
- Fixing pytorch version dependency for macOS by @sarthakpati in #390
- Add option to strategize the final aggregation for segmentation by @sarthakpati in #392
- Fixing per-label metrics display by @sarthakpati in #393
- Added submodule to hand template-matching based normalization by @sarthakpati in #394
- Added RGB to RGBA conversion for preprocessing by @sarthakpati in #397
- A new transformer-based segmentation arch (
UNetR
) has been added by @Sofia-Mouchtaris in #398 - Fixing different device issue on multi-layer
UNet
andUNETR
by @sarthakpati in #399 - Added sigmoid multiplier for UNet model output by @sarthakpati in #400
- Documentation update for installation by @sarthakpati in #403
- More inference mode options added by @sarthakpati in #405
- Update
one_hot
andreverse_one_hot
logic for succinctness by @sarthakpati in #404 - moving get_final_layer method functionality to GANDLF.utils to avoid by @brandon-edwards in #407
- API updates to make GaNDLF's compute objects callable outside the tool by @sarthakpati in #401
- Added memory usage for cuda u...
Documentation updates and minor bugfixes
From History:
- Deep supervision added
- Documentation updated
- Model IO is now standardized