interpret_bit_flags

astropy.nddata.interpret_bit_flags(bit_flags, flip_bits=None, flag_name_map=None)[ソース]

入力ビットフラグを単一の整数値(ビットマスク)または None それがそうです。

入力がフラグリスト(整数フラグのPythonリストまたはコンマ文字列である場合、 '|' -、または '+' 分離されたフラグリスト)は、入力フラグを合計することによって、返されたビットマスクを得る。

注釈

戻ってくるビットマスクのビットを反転させるために str キー入力は,入力文字列の前に‘~’を加える.“~”は置かなければならない 文字列全体 すべてのビットマークではありません!すでにビットマスクまたはビットフラグであるPythonリストの入力については、設定してください flip_bits 上の True 戻りビットマスクのビットを反転させるために使用される。

パラメータ
bit_flagsInt、文字列、リスト、なし

整数ビットマスクまたはフラグ、 None 1列のコンマ-, '|' -または '+' -整数ビットフラグまたはニーモニック名の区切りリスト、または整数ビットフラグのPythonリスト。もし…。 bit_flags これは str プレフィックスが‘~’である場合、出力ビットマスクのビットは反転する(入力フラグの簡単な和と比較する)。入力に用いる bit_flags これはすでにビットマスクまたはビットフラグのPythonリストであり、ビット反転を通過することができます flip_bits パラメータ

注釈

いつ? bit_flags マーク名のリストです flag_name_map パラメータを提供しなければならない。

注釈

Only one flag separator is supported at a time. bit_flags string should not mix ',', '+', and '|' separators.

flip_bitsブル、ない

入力ビットフラグから得られた戻りビットマスクのビットが反転されるか否かを示す。このパラメータは None 入力時 bit_flags あるいはそうだ None Pythonフラッグリストです

flag_name_mapBitFlagNameMap

A BitFlagNameMap 以下の場合、ニーモニックをデジタル値に変換するために、助記ビットフラグ名から整数ビット値へのマッピングを提供するオブジェクト。 bit_flags これらは、コンマまたは‘+’で区切られた料理単位フラグ名リストである。

返品
bitmask形がそろっているかないか

入力ビット値によって形成された整数ビットマスクを返すか、または None もし入力すれば bit_flags パラメータは None 空文字列でもあります入力文字列の値の前に“~”が付いている場合(または flip_bits 設定は True )であれば、返却値のビットは反転される(逆マスク)。

実例.

>>> 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'