Coverage for python/lsst/sims/maf/slicers/uniSlicer.py : 32%

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.
4import numpy as np
5from functools import wraps
7from .baseSlicer import BaseSlicer
9__all__ = ['UniSlicer']
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 = []
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)
34 def __eq__(self, otherSlicer):
35 """Evaluate if slicers are equivalent."""
36 if isinstance(otherSlicer, UniSlicer):
37 return True
38 else:
39 return False