Skip to content

Commit

Permalink
Merge pull request #173 from JoostJM/update-for-first-release
Browse files Browse the repository at this point in the history
Update for first release
  • Loading branch information
JoostJM authored Dec 21, 2016
2 parents 1be88b7 + 8274268 commit ecf6427
Show file tree
Hide file tree
Showing 11 changed files with 32 additions and 1,201 deletions.
6 changes: 0 additions & 6 deletions data/baseline/baseline_gldm.csv

This file was deleted.

6 changes: 0 additions & 6 deletions data/baseline/baseline_gldzm.csv

This file was deleted.

6 changes: 0 additions & 6 deletions data/baseline/baseline_ngtdm.csv

This file was deleted.

16 changes: 4 additions & 12 deletions data/paramSchema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,19 +55,11 @@ mapping:
min: 0
featureClass:
type: map
func: checkFeatureClass
matching-rule: 'any'
mapping:
# Possible feature classes, each can have a list of enabled features, empyt list or none value signifies
# that all features must be enabled
shape: &featurelist
seq:
- type: str
unique: True
firstorder: *featurelist
glcm: *featurelist
gldm: *featurelist
ngtdm: *featurelist
glrlm: *featurelist
glszm: *featurelist
regex;(.+):
type: any

inputImage:
type: map
Expand Down
21 changes: 21 additions & 0 deletions data/schemaFuncs.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import pywt
from radiomics.featureextractor import RadiomicsFeaturesExtractor

featureClasses = RadiomicsFeaturesExtractor.getFeatureClasses()


def checkWavelet(value, rule_obj, path):
Expand Down Expand Up @@ -44,3 +47,21 @@ def checkWeighting(value, rule_obj, path):
else:
raise TypeError('WeightingNorm not expected type (str or None)')
return True


def checkFeatureClass(value, rule_obj, path):
global featureClasses
if value is None:
raise TypeError('featureClass dictionary cannot be None value')
for className, features in value.iteritems():
if className not in featureClasses.keys():
raise ValueError(
'Feature Class %s is not recognized. Available feature classes are %s' % (className, featureClasses.keys()))
if features is not None:
if not isinstance(features, list):
raise TypeError('Value of feature class %s not expected type (list)' % (className))
unrecognizedFeatures = set(features) - set(featureClasses[className].getFeatureNames())
if len(unrecognizedFeatures) > 0:
raise ValueError('Feature Class %s contains unrecognized features: %s' % (className, str(unrecognizedFeatures)))

return True
45 changes: 0 additions & 45 deletions docs/radiomics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -59,28 +59,6 @@ radiomics.glcm module
:show-inheritance:
:member-order: bysource

.. _radiomics-gldm-label:

radiomics.gldm module
---------------------

.. automodule:: radiomics.gldm
:members:
:undoc-members:
:show-inheritance:
:member-order: bysource

.. _radiomics-gldzm-label:

radiomics.gldzm module
----------------------

.. automodule:: radiomics.gldzm
:members:
:undoc-members:
:show-inheritance:
:member-order: bysource

.. _radiomics-glszm-label:

radiomics.glszm module
Expand All @@ -103,17 +81,6 @@ radiomics.glrlm module
:show-inheritance:
:member-order: bysource

.. _radiomics-ngtdm-label:

radiomics.ngtdm module
----------------------

.. automodule:: radiomics.ngtdm
:members:
:undoc-members:
:show-inheritance:
:member-order: bysource

.. _radiomics-shape-label:

radiomics.shape module
Expand All @@ -136,18 +103,6 @@ radiomics.imageoperations module
:show-inheritance:
:member-order: bysource

.. _radiomics-test-label:

test module
------------

.. automodule:: test
:members:
:undoc-members:
:show-inheritance:
:member-order: bysource


Module contents
---------------

Expand Down
3 changes: 2 additions & 1 deletion radiomics/featureextractor.py
Original file line number Diff line number Diff line change
Expand Up @@ -561,7 +561,8 @@ def getInputImageTypes(self):
"""
return [member[9:] for member in dir(self) if member.startswith('generate_')]

def getFeatureClasses(self):
@classmethod
def getFeatureClasses(cls):
"""
Iterates over all modules of the radiomics package using pkgutil and subsequently imports those modules.
Expand Down
Loading

0 comments on commit ecf6427

Please sign in to comment.