Skip to content

Conversation

@SachidanandAlle
Copy link
Contributor

@SachidanandAlle SachidanandAlle commented Dec 8, 2020

Fixes # .

Description

Support Deegrow 2D/3D training (training example will be added into Tutorials)

Status

Work in progress

Types of changes

  • Non-breaking change (fix or new feature that would not break existing functionality).
  • Breaking change (fix or new feature that would cause existing functionality to change).
  • New tests added to cover the changes.
  • Integration tests passed locally by running ./runtests.sh --codeformat --coverage.
  • Quick tests passed locally by running ./runtests.sh --quick.
  • In-line docstrings updated.
  • Documentation updated, tested make html command in the docs/ folder.

@wyli
Copy link
Contributor

wyli commented Dec 8, 2020

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

@tvercaut
Copy link
Member

tvercaut commented Dec 8, 2020

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.

SachidanandAlle and others added 26 commits December 23, 2020 12:26
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>
* adds test init_reader

Signed-off-by: Wenqi Li <wenqil@nvidia.com>

* fixes loadimage

Signed-off-by: Wenqi Li <wenqil@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>
Signed-off-by: Wenqi Li <wenqil@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>
wyli and others added 14 commits December 23, 2020 12:26
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>
Signed-off-by: Sachidanand Alle <salle@nvidia.com>
@SachidanandAlle
Copy link
Contributor Author

Refer: #1395

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.