frankkramer-lab / MIScnn

A framework for Medical Image Segmentation with Convolutional Neural Networks and Deep Learning
GNU General Public License v3.0
400 stars 116 forks source link

Patching split #115

Closed Deathlymad closed 2 years ago

Deathlymad commented 2 years ago

Moved patching code into new file. This has multiple advantages. First of all, the patch operations are arequired step in the MIScnn pipeline so its code should be in processing and not in utils. This also contains a minor rewrite of the patching to use proper mean calculation and it now generates a patching view. The latter one should reduce reallocation and providing a minor performance boost. Overall did that reduce the required code for patching. Looking into the future, this allows to manipulate and patching and its functionality separately. That is useful for Gradcam. It also instanced all variables allowing the coexistance of multiple patching methods in one python instance. This will potentially be useful for the future of ulti model implementations. Lastly it reduced the code amount per file since the patching functions are now moved away from the preprocessor.

As for changes in existing pipelines: The passing of variable parameters to the patch handler leads to insignificant code changes. The only real changes apply to the class properties (like the overlap).

muellerdo commented 2 years ago

Three things to rework: 1) Required parameter for analysis / preprocessing.py 2) Add additional parameter like patch shape to doc types 3) Domi: Can you think about another name than patch handler before Philip finish his rework

Deathlymad commented 2 years ago

@muellerdo renamed to partitioner. Analysis is not a required argument for the partitioner. documentation lists required and optional arguments in relation to the poartitioning method.