Source code for diaGrabber.methods.alias
# -*- coding: utf-8 *-*
'''
This Module includes all alias-classes.
In diaGrabber you can exclude merge-values depending on other merge-values.
Imagine:
* you have two merge-dimensions m1 and m2.
* values from m2 are only usefull for you if values from m1 have a defined state.
* you say: every time a merge-value from m1 is (over all basis-dim) maximal you want to take m2. in this case you type::
m2.setAlias( methods.alias.max(m1) )
'''
from numpy import isnan as _isnan
[docs]class max(object):
'''Take only values if the values of its alias are maximal over its basis-dimensions.'''
def __init__(self, mergeDimensionInstance):
self._index = mergeDimensionInstance.index
def _get(self, new_value,old_value):
#print new_value,old_value
if _isnan(old_value):
return True
elif new_value > old_value:
return True
else:
return False
[docs]class min(object):
'''Take only values if the values of its alias are minimal over its basis-dimensions.'''
def __init__(self, mergeDimensionInstance):
self._index = mergeDimensionInstance.index
def _get(self, new_value,old_value):
if _isnan(old_value):
return True
elif new_value < old_value:
return True
else:
return False