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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

# UniSlicer class. 

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

 

import numpy as np 

from functools import wraps 

 

from .baseSlicer import BaseSlicer 

 

__all__ = ['UniSlicer'] 

 

class UniSlicer(BaseSlicer): 

"""UniSlicer.""" 

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

"""Instantiate unislicer. """ 

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

self.nslice = 1 

self.shape = self.nslice 

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

self.plotFuncs = [] 

 

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

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

self._runMaps(maps) 

simDataCol = simData.dtype.names[0] 

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

@wraps(self._sliceSimData) 

def _sliceSimData(islice): 

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

idxs = self.indices 

return {'idxs':idxs, 

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

setattr(self, '_sliceSimData', _sliceSimData) 

 

def __eq__(self, otherSlicer): 

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

if isinstance(otherSlicer, UniSlicer): 

return True 

else: 

return False