-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[WIP] Support Deepgrow 2D/3D Training #1329
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
|
thanks! i put a few todos here for discussion:
I feel it's important to set up some regression tests before any of these refactorings it'll also be very helpful for other people that continue maintaining this module cc @Nic-Ma |
|
Interesting. I couldn't see a paper reference within the code. Is this a re-implementation of https://arxiv.org/abs/1903.08205? Having some documentation, and maybe even an exemplar tutorial / example use case would be great. |
Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* adds a bounding box transform Signed-off-by: Wenqi Li <wenqil@nvidia.com> * fixes integration Signed-off-by: Wenqi Li <wenqil@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
… build (#1327) flake8-executable is GPL'ed Signed-off-by: Isaac Yang <isaacy@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* [DLMED] refine generate_spatial_bounding_box Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] add check for margin value Signed-off-by: Nic Ma <nma@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* Working on DynUNet Torchscript compatibility Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Working on DynUNet Torchscript compatibility Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Working on DynUNet Torchscript compatibility Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Working on DynUNet Torchscript compatibility Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> * Working on DynUNet Torchscript compatibility Signed-off-by: Eric Kerfoot <eric.kerfoot@kcl.ac.uk> Co-authored-by: Yiheng Wang <68361391+yiheng-wang-nv@users.noreply.github.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* fixes params groups Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update based on comments Signed-off-by: Wenqi Li <wenqil@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* [DLMED] enhance save_final in CheckpointSaver Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] add log message Signed-off-by: Nic Ma <nma@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* adding simple profiling tools Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * removing old timing decorator Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * auto-reformatting Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * removing unnecessary list comprehension in sum() Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * adding imports to __init__.py Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
…ed. #1210. Requires torch.fft module and PyTorch 1.7.0+. (#1287) Signed-off-by: Christian Baker <christian.baker@kcl.ac.uk> * New tests/utils.py unittest decorators added: SkipIfModule(), SkipIfBeforePyTorchVersion() and SkipIfAtLeastPyTorchVersion Signed-off-by: Christian Baker <christian.baker@kcl.ac.uk> * New unit tests added test_hilbert_transform.py and test_detect_envelope.py Signed-off-by: Christian Baker <christian.baker@kcl.ac.uk> * New exception InvalidPyTorchVersionError implemented in monai/utils/module.py Signed-off-by: Christian Baker <christian.baker@kcl.ac.uk> * New class HilbertTransform implemented in monai/networks/layers/simplelayers.py Signed-off-by: Christian Baker <christian.baker@kcl.ac.uk> * New class DetectEnvelope implemented in monai/transforms/intensity/array.py, uses HilbertTransform Signed-off-by: Christian Baker <christian.baker@kcl.ac.uk> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* ci/cd with 1.7.1 Signed-off-by: Wenqi Li <wenqil@nvidia.com> * revise various tests, fixes docs Signed-off-by: Wenqi Li <wenqil@nvidia.com> * temp full tests Signed-off-by: Wenqi Li <wenqil@nvidia.com> * remove temp. tests Signed-off-by: Wenqi Li <wenqil@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* [DLMED] add astype in NormalizeIntensity transform Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update according to comments Signed-off-by: Nic Ma <nma@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* add striding for occlusion sensitivity Signed-off-by: Richard Brown <33289025+rijobro@users.noreply.github.com> * autofix changes Signed-off-by: Richard Brown <33289025+rijobro@users.noreply.github.com> * baseline - sensitivity Signed-off-by: Rich <33289025+rijobro@users.noreply.github.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* [DLMED] update highlights page Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update arch module chart Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] update GradCam, LoadImage, TorchScript, Layer wise LR, Occlusion sensitivity Signed-off-by: Nic Ma <nma@nvidia.com> * [DLMED] add partition dataset and cross validation Signed-off-by: Nic Ma <nma@nvidia.com> * adds CAM vis. Signed-off-by: Wenqi Li <wenqil@nvidia.com> * adds a cam link Signed-off-by: Wenqi Li <wenqil@nvidia.com> * patchdataset desc. Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update fig Signed-off-by: Wenqi Li <wenqil@nvidia.com> * adds tutorial links Signed-off-by: Wenqi Li <wenqil@nvidia.com> * update tutorial link Signed-off-by: Wenqi Li <wenqil@nvidia.com> * fixes typos Signed-off-by: Wenqi Li <wenqil@nvidia.com> * [DLMED] remove DeepGrow from arch chart Signed-off-by: Nic Ma <nma@nvidia.com> Co-authored-by: Wenqi Li <wenqil@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
…et label (#1347) Signed-off-by: Isaac Yang <isaacy@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* Add AddExtremePointsChannel transform Signed-off-by: Mohammad Adil <madil@nvidia.com> * permutation -> perturbation Signed-off-by: Wenqi Li <wenqil@nvidia.com> * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> Co-authored-by: YuanTingHsieh <yuantinghsieh@gmail.com> Co-authored-by: Wenqi Li <wenqil@nvidia.com> Co-authored-by: monai-bot <monai.miccai2019@gmail.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* Update hausdorff metric Signed-off-by: yiheng-wang-nv <vennw@nvidia.com> * Update surface distance Signed-off-by: yiheng-wang-nv <vennw@nvidia.com> * fix reduction type error Signed-off-by: yiheng-wang-nv <vennw@nvidia.com> * Add handlers for new metrics Signed-off-by: yiheng-wang-nv <vennw@nvidia.com> * Simplify distance code Signed-off-by: yiheng-wang-nv <vennw@nvidia.com> * autofixes and typo fixes Signed-off-by: Wenqi Li <wenqil@nvidia.com> * fixes lgtm typos Signed-off-by: Wenqi Li <wenqil@nvidia.com> Co-authored-by: Wenqi Li <wenqil@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Wenqi Li <wenqil@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* Fix randomness in dictionary transform Signed-off-by: YuanTingHsieh <yuantinghsieh@gmail.com> * Fix optional Signed-off-by: YuanTingHsieh <yuantinghsieh@gmail.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* Update docs for GitHub Discussion tab Signed-off-by: Richard Brown <33289025+rijobro@users.noreply.github.com> * discussion -> discussions Signed-off-by: Richard Brown <33289025+rijobro@users.noreply.github.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* fixes #1346 Signed-off-by: Wenqi Li <wenqil@nvidia.com> * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Wenqi Li <wenqil@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* AE: check lens of stride and channel match Signed-off-by: Richard Brown <33289025+rijobro@users.noreply.github.com> * [MONAI] python code formatting Signed-off-by: monai-bot <monai.miccai2019@gmail.com> Co-authored-by: monai-bot <monai.miccai2019@gmail.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
…cs (#1374) Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Nic Ma <nma@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Wenqi Li <wenqil@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Nic Ma <nma@nvidia.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
* Initial cpu implementation Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * hue speed increase moving away from torch tensors Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * allowing generic channel dimension size Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * allowing generic dimensionality Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * manual testing script for bilateral filter Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * Initial commit of CRF using permutohedral lattice to optimise message passing, implementation from https://github.com/SamuelJoutard/Permutohedral_attention_module Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * temporary example scripts demonstrating the usage of crf and phl, and some data to process Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * alternate phl implementation using a more efficient cuda hashtable, code currently untested due to windows build issues, implementation from https://github.com/SamuelJoutard/Permutohedral_attention_module Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * c++ cpu permutohedral lattice implementation Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * comparison script Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * cleaning Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * backwards pass Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * initial cuda brute force kernel Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * reverting setup.py Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * working cuda kernel for brute force 2d kernel Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * fixing unresolved symbols when compiling without cuda Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * removing macros file Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * placeholder cuda phl implementation Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * changing test case color sigma Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * Initial import of reference cuda phl implementation Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * fixing cuda kernel color weight error Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * initial edits to cuda phl code Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * fixing errors in cuda phl implementation Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * removing logging from cuda phl Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * using template data_ptr function Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * fixed cpu phl implementation Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * updating cpu phl to run on arbitrary input dimensions and channles Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * 2d and 3d testing scripts Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * Generalising permutohedral implementation to remove independance on width and height Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * removing width and height from permutohedral filter function and implementing templated feature creation Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * fixed typo Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * exteneding 3d testing script Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * generalising bruteforce cuda implementation Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * updating testing scripts Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * file organisiation Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * fixing weight error in cpu bruteforce implementation, also inlineing functions Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * some refactoring and introducing proper batch handling Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * fixing indexing error at border Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * fixing some artifacts in cuda phl for high color sigmas Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * fixing gaussian kernel function for cpu and cuda bruteforce Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * ensuring kernel is an odd numbered size Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * adding tests for precised implementation Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * adding approximate imlpementation test Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * templating implementations based on scalar_type Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * cleaning up Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * code formatting Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * removing half precision implementation for permutohedral due to errors caused on windows Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * skipping cuda tests if cuda missing Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * reformating Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * adding unit test skip based on cpp extention availablility Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * removing unused import Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * changing to use of THCatomic add Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * adding missing licenses Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> * clang reformat Signed-off-by: charliebudd <charles.budd@kcl.ac.uk> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Richard Brown <33289025+rijobro@users.noreply.github.com> Signed-off-by: Sachidanand Alle <salle@nvidia.com>
…inference Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Sachidanand Alle <salle@nvidia.com>
Signed-off-by: Sachidanand Alle <salle@nvidia.com>
|
Refer: #1395 |
Fixes # .
Description
Support Deegrow 2D/3D training (training example will be added into Tutorials)
Status
Work in progress
Types of changes
./runtests.sh --codeformat --coverage../runtests.sh --quick.make htmlcommand in thedocs/folder.