-
Notifications
You must be signed in to change notification settings - Fork 497
Scratch
Andrey Fedorov edited this page Sep 23, 2015
·
3 revisions
TODO
- consider changing to use kwargs http://pythontips.com/2013/08/04/args-and-kwargs-in-python-explained/
- improved documentation for the function parameters
- include revision control for each feature
2015 Kick-off meeting notes
- need to keep provenance of the preprocessing steps
From earlier wiki
- separate library from Slicer
- consider packaging python module standalone, see http://www.scotttorborg.com/python-packaging/
- revisit naming
- revisit functionality and separation of concerns
- fix formatting
- performance
- at the moment, computation is parallelized at the case level (no parallel calculation of different features, no parallelization within feature calculation)
- add testing
- consider pure python testing - nose? http://pythontesting.net/framework/nose/nose-introduction/
- replace settings dictionary with the API on the classes
- add command line options for initializing parameters, allow JSON file with all options
Parameters:
- modality, patient ID, date, series - go away
- image/label file paths: change to SITK images
- baseimagespacing - goes away
- dimensions - go away
- key parameters: levels, binwidth, resampledpixelspacing
- add: enable/disable feature groups
Consider reusing SITK implementations
- see project http://wiki.na-mic.org/Wiki/index.php/2014_Summer_Project_Week:Pluggable_Label_Statistics
Priorities:
-
Set up testing
-
Naming conventions/styling: Slicer recommends https://www.python.org/dev/peps/pep-0008/, use docstring, see https://www.python.org/dev/peps/pep-0257/.
-
Python library packaging, separate from the Slicer-dependent code
-
Refactor communication of parameters from settings file to API
-
Review for redundancy with SITK
-
Refactor with parallelization in mind
-
Add description to individual features