def test_extratarg(): #Test that extratarg tag is # 0 or 4 (duplicates) for main survey targets # 1 for commissioning (bit 1) # 2 for tellurics (bit 2) # 3 1m (bit 3) mainIndx= (((_DATA['APOGEE_TARGET1'] & 2**11) != 0)\ +((_DATA['APOGEE_TARGET1'] & 2**12) != 0) +((_DATA['APOGEE_TARGET1'] & 2**13) != 0)) mainIndx*= (_DATA['EXTRATARG'] != 2**4) #rm duplicates #Also rm commissioning commIndx= _DATA['COMMISS'] == 1 mainIndx*= (True-commIndx) assert numpy.sum(mainIndx*(_DATA['EXTRATARG'] != 0)) == 0, '%i main survey targets have EXTRATARG neq 0' % numpy.sum(mainIndx*_DATA['EXTRATARG'] > 0) commBitSet= numpy.array([bitmask.bit_set(1,e) for e in _DATA['EXTRATARG']], dtype='bool') assert numpy.sum(commIndx*(True-commBitSet)) == 0, '%i commissioning targets do not have bit 1 in EXTRATARG set' % numpy.sum(commIndx*(True-commBitSet)) == 0 tellIndx= (_DATA['APOGEE_TARGET2'] & 2**9) != 0 tellBitSet= numpy.array([bitmask.bit_set(2,e) for e in _DATA['EXTRATARG']], dtype='bool') #Rm the tellurics that are main targets tellIndx*= (True-mainIndx) assert numpy.sum(tellIndx*(True-tellBitSet)) == 0, '%i telluric targets do not have bit 2 in EXTRATARG set' % numpy.sum(tellIndx*(True-tellBitSet)) #1m onemIndx= numpy.array(['apogee.apo1m' in s for s in _DATA['APSTAR_ID']]) onemBitSet= numpy.array([bitmask.bit_set(3,e) for e in _DATA['EXTRATARG']], dtype='bool') assert numpy.sum(onemIndx*(True-onemBitSet)) == 0, '%i 1m targets do not have bit 3 in EXTRATARG set' % numpy.sum(onemIndx*(True-onemBitSet)) return None
def test_extratarg(): #Test that extratarg tag is # 0 or 4 (duplicates) for main survey targets # 1 for commissioning (bit 1) # 2 for tellurics (bit 2) # 3 1m (bit 3) mainIndx= (((_DATA['APOGEE_TARGET1'] & 2**11) != 0)\ +((_DATA['APOGEE_TARGET1'] & 2**12) != 0) +((_DATA['APOGEE_TARGET1'] & 2**13) != 0)) mainIndx*= (_DATA['EXTRATARG'] != 2**4) #rm duplicates #Also rm commissioning commIndx= _DATA['COMMISS'] == 1 mainIndx*= (True^commIndx) assert numpy.sum(mainIndx*(_DATA['EXTRATARG'] != 0)) == 0, '%i main survey targets have EXTRATARG neq 0' % numpy.sum(mainIndx*_DATA['EXTRATARG'] > 0) commBitSet= numpy.array([bitmask.bit_set(1,e) for e in _DATA['EXTRATARG']], dtype='bool') assert numpy.sum(commIndx*(True^commBitSet)) == 0, '%i commissioning targets do not have bit 1 in EXTRATARG set' % numpy.sum(commIndx*(True^commBitSet)) == 0 tellIndx= (_DATA['APOGEE_TARGET2'] & 2**9) != 0 tellBitSet= numpy.array([bitmask.bit_set(2,e) for e in _DATA['EXTRATARG']], dtype='bool') #Rm the tellurics that are main targets tellIndx*= (True^mainIndx) assert numpy.sum(tellIndx*(True^tellBitSet)) == 0, '%i telluric targets do not have bit 2 in EXTRATARG set' % numpy.sum(tellIndx*(True^tellBitSet)) #1m onemIndx= numpy.array(['apogee.apo1m' in s for s in _DATA['APSTAR_ID']]) onemBitSet= numpy.array([bitmask.bit_set(3,e) for e in _DATA['EXTRATARG']], dtype='bool') assert numpy.sum(onemIndx*(True^onemBitSet)) == 0, '%i 1m targets do not have bit 3 in EXTRATARG set' % numpy.sum(onemIndx*(True^onemBitSet)) return None
def test_extratarg(): #Test that extratarg tag is # 0 for main survey targets, # 1 for commissioning (bit 1) # 2 for tellurics (bit 2) mainIndx= (((_DATA['APOGEE_TARGET1'] & 2**11) != 0)\ +((_DATA['APOGEE_TARGET1'] & 2**12) != 0) +((_DATA['APOGEE_TARGET1'] & 2**13) != 0)) #Also rm commissioning commIndx= _DATA['COMMISS'] == 1 mainIndx*= (True-commIndx) assert numpy.sum(mainIndx*(_DATA['EXTRATARG'] != 0)) == 0, '%i main survey targets have EXTRATARG neq 0' % numpy.sum(mainIndx*_DATA['EXTRATARG'] > 0) commBitSet= numpy.array([bitmask.bit_set(1,e) for e in _DATA['EXTRATARG']], dtype='bool') assert numpy.sum(commIndx*(True-commBitSet)) == 0, '%i commissioning targets do not have bit 1 in EXTRATARG set' % numpy.sum(commIndx*(True-commBitSet)) == 0 tellIndx= (_DATA['APOGEE_TARGET2'] & 2**9) != 0 tellBitSet= numpy.array([bitmask.bit_set(2,e) for e in _DATA['EXTRATARG']], dtype='bool') #Rm the tellurics that are main targets tellIndx*= (True-mainIndx) assert numpy.sum(tellIndx*(True-tellBitSet)) == 0, '%i telluric targets do not have bit 2 in EXTRATARG set' % numpy.sum(tellIndx*(True-tellBitSet)) return None
def bitsNotSet(bitmask,maskbits): """ Given a bitmask, returns True where any of maskbits are set and False otherwise. bitmask: bitmask to check maskbits: bits to check if set in the bitmask """ goodLocs_bool = np.zeros(bitmask.shape).astype(bool) for m in maskbits: bitind = bm.bit_set(m,bitmask) goodLocs_bool[bitind] = True return goodLocs_bool