interpret_bit_flags#
- astropy.nddata.bitmask.interpret_bit_flags(bit_flags, flip_bits=None, flag_name_map=None)[源代码]#
将输入位标志转换为单个整数值(位掩码)或
None
.当输入是一个标志列表(Python中的整数标志列表或逗号-字符串)时,
'|'
-,或'+'
-单独的标志列表),返回的位掩码通过对输入标志求和得到。备注
为了翻转返回位掩码的位,输入
str
键入,在输入字符串前面加上“~”“~”必须加在 整个字符串 而不是每一个位旗!对于已经是位掩码或Python位标志列表的输入,设置flip_bits
对于True
以翻转返回位掩码的位。- 参数:
- bit_flags :
int
,str
,list
,None
PYTHON:INT,PYTHON:STR,PYTHON:LIST,PYTHON:NONE 整数位掩码或标志,
None
,一个逗号-,'|'
-或者'+'
-整型位标志或助记符标志名的分隔列表,或整型位标志的Python列表。如果bit_flags
是一个str
如果它的前缀是“~”,那么输出位掩码的位将被翻转(与输入标志的简单总和相比)。输入bit_flags
这已经是位掩码或Python的位标志列表,位翻转可以通过控制flip_bits
参数。备注
什么时候?
bit_flags
是一个标志名的列表flag_name_map
必须提供参数。备注
一次只支持一个标志分隔符。
bit_flags
绳子不能混在一起','
,'+'
和'|'
分离器。- flip_bits : bool ,
None
Python 布尔图:无 指示是否翻转从输入位标志获取的返回位掩码的位。此参数必须设置为
None
输入时bit_flags
要么是None
或者一个Python标志列表。- flag_name_map :
BitFlagNameMap
BitFlagNameMap
A
BitFlagNameMap
对象,该对象提供从助记符位标志名到整型位值的映射,以便在bit_flags
以逗号或“+”分隔的菜单位标志名列表。
- bit_flags :
- 返回:
实例
>>> from astropy.nddata.bitmask import interpret_bit_flags, extend_bit_flag_map >>> ST_DQ = extend_bit_flag_map('ST_DQ', CR=1, CLOUDY=4, RAINY=8, HOT=16, DEAD=32) >>> "{0:016b}".format(0xFFFF & interpret_bit_flags(28)) '0000000000011100' >>> "{0:016b}".format(0xFFFF & interpret_bit_flags('4,8,16')) '0000000000011100' >>> "{0:016b}".format(0xFFFF & interpret_bit_flags('CLOUDY,RAINY,HOT', flag_name_map=ST_DQ)) '0000000000011100' >>> "{0:016b}".format(0xFFFF & interpret_bit_flags('~4,8,16')) '1111111111100011' >>> "{0:016b}".format(0xFFFF & interpret_bit_flags('~(4+8+16)')) '1111111111100011' >>> "{0:016b}".format(0xFFFF & interpret_bit_flags('~(CLOUDY+RAINY+HOT)', ... flag_name_map=ST_DQ)) '1111111111100011' >>> "{0:016b}".format(0xFFFF & interpret_bit_flags([4, 8, 16])) '0000000000011100' >>> "{0:016b}".format(0xFFFF & interpret_bit_flags([4, 8, 16], flip_bits=True)) '1111111111100011'