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 至る None 効果的に bitfield_to_boolean_mask 全部翻訳する bitfield 要素は“良い”であり、それらの値が何であろうと。
いつ? 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 input bitfield array should be ignored when generating boolean mask.

注釈

'None', 'INDEF', and empty (or all white space) strings are special values of string ignore_flags that are interpreted as None.

注釈

リストの各々は、フラグ、すなわち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 それがそうです。

警告

Because prepending '~' to a string ignore_flags is equivalent to setting flip_bits to True, flip_bits cannot be used with string ignore_flags and it must be set to None.

flip_bitsブール、なし(デフォルト値=なし)

反転して直接通過するかどうかの指定 ignore_flags パラメータ、または転送されたビットフラグから生成される ignore_flags (ビットフラグが整数ビットフラグとしてPythonリストで転送された場合のみ)。時々、次のような状況が有用になるかもしれない。 特定のビットマークのみを考慮する はい。 bitfield ブーリアンマスクを作成する際には配列を使用する 無視する. 特定の標識は ignore_flags デフォルトの場合は行動します。これは、生成されたビットマスクのビットから反転/反転することによって達成されることができる ignore_flags 標識は効果的に変化しました ignore_flags パラメータは“無視”からこれらのフラグのみを“使用”に変更する.設ける flip_bits 至る None ビット反転は実行されないことを意味する.ビットフラグ文字列リストのビット反転は、文字列ビットフラグリストの前に“~”を加えることで指定されなければならない(参照 ignore_flags もっと詳しい情報を知っています)。

警告

This parameter can be set to either True or False ONLY when ignore_flags is either an integer bit mask or a Python list of integer bit flags. When ignore_flags is either None or a string list of flags, flip_bits MUST be set to None.

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]])