Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# UniSlicer class. 

2# This slicer simply returns the indexes of all data points. No slicing done at all. 

3 

4import numpy as np 

5from functools import wraps 

6 

7from .baseSlicer import BaseSlicer 

8 

9__all__ = ['UniSlicer'] 

10 

11class UniSlicer(BaseSlicer): 

12 """UniSlicer.""" 

13 def __init__(self, verbose=True, badval=-666): 

14 """Instantiate unislicer. """ 

15 super(UniSlicer, self).__init__(verbose=verbose, badval=badval) 

16 self.nslice = 1 

17 self.shape = self.nslice 

18 self.slicePoints['sid'] = np.array([0,], int) 

19 self.plotFuncs = [] 

20 

21 def setupSlicer(self, simData, maps=None): 

22 """Use simData to set indexes to return.""" 

23 self._runMaps(maps) 

24 simDataCol = simData.dtype.names[0] 

25 self.indices = np.ones(len(simData[simDataCol]), dtype='bool') 

26 @wraps(self._sliceSimData) 

27 def _sliceSimData(islice): 

28 """Return all indexes in simData. """ 

29 idxs = self.indices 

30 return {'idxs':idxs, 

31 'slicePoint':{'sid':islice}} 

32 setattr(self, '_sliceSimData', _sliceSimData) 

33 

34 def __eq__(self, otherSlicer): 

35 """Evaluate if slicers are equivalent.""" 

36 if isinstance(otherSlicer, UniSlicer): 

37 return True 

38 else: 

39 return False