bitfield_to_boolean_mask¶
- astropy.nddata.bitmask.bitfield_to_boolean_mask(bitfield, ignore_flags=None, flip_bits=None, good_mask_value=False, dtype=numpy.bool_)[ソース]¶
ビットフィールド配列は、提供されたビットフラグによって構成されたビットマスクに従ってブール(または整数)マスク配列に変換される(参照)。
ignore_flags
パラメータ).この関数は、DQフラグを選択的にフィルタリングすることによってデータ品質配列をブーリアンマスクに変換するために特に有用である。
- パラメータ
- bitfieldNdarray
ビットフラグ配列。デフォルトの場合、ゼロとは異なる値は“悪い”値と解釈され、ゼロに等しい値は“良い”値とみなされる。ただし,参照されたい
ignore_flags
パラメータはどのように選択的に無視するかを示していますbitfield
配列データ。- ignore_flagsINT、STR、LIST、NONE(デフォルト値=0)
整数ビットマスクは
None
、ビットフラグのPythonリスト、コンマ-または'|'
-分けて'+'
-入力中のどのビットの整数ビットフラグまたはニーモニック名を示す分割文字列リストbitfield
たぶん 無視する. (すなわちゼロにする)、またはNone
それがそうです。注釈
いつ?
bit_flags
マーク名のリストですflag_name_map
パラメータを提供しなければならない。いつ?ignore_flags
パラメータは整数ビットマスクであり,ビット-NOTおよびBITED-ANDと入力の各要素の組み合わせを使用する.bitfield
配列. (~ignore_flags & bitfield
)である。生成されたビット領域要素がゼロでない場合、要素は出力ブールマスクにおいて“悪い”と解釈され、そうでなければ“良い”と解釈されるであろう。flip_bits
パラメータはビットを反転させるために使用することができる (bitwise-NOT
)を効果的に変えましたignore_flags
パラメータは“無視”からこれらのフラグのみを“使用”に変更する.注釈
設ける
ignore_flags
0に設定することは、入力中のすべての非ゼロ要素を効率的に仮定することになるbitfield
配列は“悪い”と解釈される。いつ?ignore_flags
パラメータは整数ビットフラグのPythonリストであり、これらのフラグを加算して整数ビットマスクを作成します。リストの各々は、2の整数乗の整数であるフラグでなければならない。flip_bits
パラメータAlternatively,ignore_flags
may be a string of comma- or'+'``(or ``'|'
)-separated list of integer bit flags that should be added (bitwise OR) together to create an integer bit mask. For example, both'4,8'
,'4|8'
, and'4+8'
are equivalent and indicate that bit flags 4 and 8 in the inputbitfield
array should be ignored when generating boolean mask.注釈
'None'
,'INDEF'
, and empty (or all white space) strings are special values of stringignore_flags
that are interpreted asNone
.注釈
リストの各々は、フラグ、すなわち2の整数乗の整数でなければならない。また、便宜上、任意のものである。 シングル 整数の使用が許可され、整数ビットマスクとして解釈されるであろう。例えば違うのは
'4,8'
ユーザは文字列を簡単に提供することができる'12'
それがそうです。注釈
Only one flag separator is supported at a time.
ignore_flags
string should not mix','
,'+'
, and'|'
separators.注釈
いつ?
ignore_flags
これはstr
接頭辞が“~”の場合は,ignore_flags
パラメータは反転されます今は次のように解釈されます used (または) 無視されていない )入力されたどの要素を決定する際にbitfield
配列は“悪い”である.この約束に沿ってignore_flags
文字列の値は'~0'
設定と同じになりますignore_flags=None
それがそうです。- flip_bitsブール、なし(デフォルト値=なし)
反転して直接通過するかどうかの指定
ignore_flags
パラメータ、または転送されたビットフラグから生成されるignore_flags
(ビットフラグが整数ビットフラグとしてPythonリストで転送された場合のみ)。時々、次のような状況が有用になるかもしれない。 特定のビットマークのみを考慮する はい。bitfield
ブーリアンマスクを作成する際には配列を使用する 無視する. 特定の標識はignore_flags
デフォルトの場合は行動します。これは、生成されたビットマスクのビットから反転/反転することによって達成されることができるignore_flags
標識は効果的に変化しましたignore_flags
パラメータは“無視”からこれらのフラグのみを“使用”に変更する.設けるflip_bits
至るNone
ビット反転は実行されないことを意味する.ビットフラグ文字列リストのビット反転は、文字列ビットフラグリストの前に“~”を加えることで指定されなければならない(参照ignore_flags
もっと詳しい情報を知っています)。- good_mask_valueInt、bool(デフォルト値=false)
このパラメータは、出力ブーリアンマスク配列内の要素に割り当てられる値を派生するために使用され、これらの要素は、“良い”ビットフィールドに対応する(指定されたビットによってゼロにクリアされた後に0になる。
ignore_flags
)入力中bitfield
配列していますいつですかgood_mask_value
非ゼロまたはnumpy.True_
そして出力ブーリアンマスク配列の値はbitfield
はい。はい。numpy.True_
(もしdtype
はい。numpy.bool_
)または1(dtype
数値タイプ)であり、“悪い”フラグに対応する値はnumpy.False_
(または0).いつですかgood_mask_value
ゼロまたはゼロnumpy.False_
出力ブーリアンマスク配列中の値はbitfield
はい。はい。numpy.False_
(もしdtype
はい。numpy.bool_
)または0(場合)dtype
数値タイプ)であり、“悪い”フラグに対応する値はnumpy.True_
(または1).- D型. :データタイプ(デフォルト値=
numpy.bool_
)データタイプ(デフォルト値= バイナリマスク配列を出力するために必要なデータタイプ.
- flag_name_mapBitFlagNameMap
A
BitFlagNameMap
以下の場合、ニーモニックをデジタル値に変換するために、助記ビットフラグ名から整数ビット値へのマッピングを提供するオブジェクト。bit_flags
これらは、コンマまたは‘+’で区切られた料理単位フラグ名リストである。
- 返品
- maskNdarray
入力次元と同じ配列を返す
bitfield
その要素は、例えば、2つの可能な値の配列を有することができる。numpy.True_
あるいは…。numpy.False_
(または1または0は整数を表すdtype
)入力による値bitfield
元素はignore_flags
パラメータ、そしてgood_mask_value
パラメータ
実例.
>>> from astropy.nddata import bitmask >>> import numpy as np >>> dqarr = np.asarray([[0, 0, 1, 2, 0, 8, 12, 0], ... [10, 4, 0, 0, 0, 16, 6, 0]]) >>> flag_map = bitmask.extend_bit_flag_map( ... 'ST_DQ', CR=2, CLOUDY=4, RAINY=8, HOT=16, DEAD=32 ... ) >>> bitmask.bitfield_to_boolean_mask(dqarr, ignore_flags=0, ... dtype=int) array([[0, 0, 1, 1, 0, 1, 1, 0], [1, 1, 0, 0, 0, 1, 1, 0]]) >>> bitmask.bitfield_to_boolean_mask(dqarr, ignore_flags=0, ... dtype=bool) array([[False, False, True, True, False, True, True, False], [ True, True, False, False, False, True, True, False]]...) >>> bitmask.bitfield_to_boolean_mask(dqarr, ignore_flags=6, ... good_mask_value=0, dtype=int) array([[0, 0, 1, 0, 0, 1, 1, 0], [1, 0, 0, 0, 0, 1, 0, 0]]) >>> bitmask.bitfield_to_boolean_mask(dqarr, ignore_flags=~6, ... good_mask_value=0, dtype=int) array([[0, 0, 0, 1, 0, 0, 1, 0], [1, 1, 0, 0, 0, 0, 1, 0]]) >>> bitmask.bitfield_to_boolean_mask(dqarr, ignore_flags=6, dtype=int, ... flip_bits=True, good_mask_value=0) array([[0, 0, 0, 1, 0, 0, 1, 0], [1, 1, 0, 0, 0, 0, 1, 0]]) >>> bitmask.bitfield_to_boolean_mask(dqarr, ignore_flags='~(2+4)', ... good_mask_value=0, dtype=int) array([[0, 0, 0, 1, 0, 0, 1, 0], [1, 1, 0, 0, 0, 0, 1, 0]]) >>> bitmask.bitfield_to_boolean_mask(dqarr, ignore_flags=[2, 4], ... flip_bits=True, good_mask_value=0, ... dtype=int) array([[0, 0, 0, 1, 0, 0, 1, 0], [1, 1, 0, 0, 0, 0, 1, 0]]) >>> bitmask.bitfield_to_boolean_mask(dqarr, ignore_flags='~(CR,CLOUDY)', ... good_mask_value=0, dtype=int, ... flag_name_map=flag_map) array([[0, 0, 0, 1, 0, 0, 1, 0], [1, 1, 0, 0, 0, 0, 1, 0]]) >>> bitmask.bitfield_to_boolean_mask(dqarr, ignore_flags='~(CR+CLOUDY)', ... good_mask_value=0, dtype=int, ... flag_name_map=flag_map) array([[0, 0, 0, 1, 0, 0, 1, 0], [1, 1, 0, 0, 0, 0, 1, 0]])