Flags¶
- class sofia_redux.scan.flags.flags.Flags[source]¶
Bases:
ABCThe Flags class contains methods to manipulate flagging.
Attributes Summary
Methods Summary
all_excluding(flag)Return all available flags with the exception of the one given here.
Return the flag containing all flags.
and_operation(values, flag)Return the result of an "and" operation with a given flag.
convert_flag(flag)Convert a flag in various forms to a standard enum format.
discard_indices(flag_array[, flag, criterion])Return indices to discard for a given criterion/flag.
discard_mask(flag_array[, flag, criterion])Return a mask indicating which flags do not match certain conditions.
edit_header(header[, prefix])Add the flags to a FITS header.
flag_mask(flag_array[, flag, criterion])Return a mask indicating which flags that meet certain conditions.
flag_to_description(flag)Return a description of a given flag.
flag_to_letter(flag)Return a letter representation of a given flag.
flagged_indices(flag_array[, flag, criterion])Return indices to for a given criterion/flag.
is_flagged(thing[, flag, indices, exact])Return whether a given argument is flagged.
is_unflagged(thing[, flag, indices, exact])Return whether a given argument is flagged.
letter_to_flag(letter)Return the associated flag for a given string letter identifier.
or_operation(values, flag)Return the result of an "or" operation with a given flag.
parse_string(text)Return the flag for a string of letter identifiers.
to_letters(flag)Convert a flag or flags to a string representation.
unflag(flag, remove_flag)Return the result of unflagging one flag by another.
Attributes Documentation
- descriptions = {}¶
- flags = None¶
- letters = {}¶
Methods Documentation
- classmethod all_excluding(flag)[source]¶
Return all available flags with the exception of the one given here.
- Parameters:
- flagstr or int or enum.Enum
The flag to not include.
- Returns:
- flagenum.Enum
- classmethod and_operation(values, flag)[source]¶
Return the result of an “and” operation with a given flag.
- Parameters:
- valuesint or str or enum.Enum or numpy.ndarray (int)
The values to “and”.
- flagint or str or enum.Enum
The flag to “and” with.
- Returns:
- and_resultint or numpy.ndarray (int)
- classmethod convert_flag(flag)[source]¶
Convert a flag in various forms to a standard enum format.
- Parameters:
- flagenum.Enum or None or int or str
Nonewill return flag(0). str values will look for that given flag name and may also use the ‘|’ character to provide a combination of flags.
- Returns:
- enum.Enum
- classmethod discard_indices(flag_array, flag=None, criterion=None)[source]¶
Return indices to discard for a given criterion/flag.
- Parameters:
- flag_arraynumpy.ndarray (int)
An array of integer flags to check.
- flagint or str or enum.Enum, optional
The flag to check against. If not supplied and non-zero flag is considered fair game in the relevant
criterionschema.- criterionstr, optional
May be one of {‘DISCARD_ANY’, ‘DISCARD_ALL’, ‘DISCARD_MATCH’, ‘KEEP_ANY’, ‘KEEP_ALL’, ‘KEEP_MATCH’}. If not supplied, ‘DISCARD_ANY’ will be used if a flag is not supplied, and ‘DISCARD_ALL’ will be used if a flag is supplied. The ‘_ANY’ suffix means
flagis irrelevant and any non-zero value will be considered “flagged”. ‘_ALL’ means that flagged values will contain ‘flag’, and ‘_MATCH’ means that flagged values will exactly equal ‘flag’. ‘KEEP_’ inverts the True/False meaning of the output.
- Returns:
- indicesnumpy.ndarray (int) or tuple (int)
The indices to discard. If
flag_arrayhas multiple dimensions, the result will be a tuple of integer arrays as would be returned bynp.nonzero(). Otherwise a 1-D integer array will be returned.
- classmethod discard_mask(flag_array, flag=None, criterion=None)[source]¶
Return a mask indicating which flags do not match certain conditions.
- Parameters:
- flag_arraynumpy.ndarray (int)
An array of integer flags to check.
- flagint or str or enum.Enum, optional
The flag to check against. If not supplied and non-zero flag is considered fair game in the relevant
criterionschema.- criterionstr, optional
May be one of {‘DISCARD_ANY’, ‘DISCARD_ALL’, ‘DISCARD_MATCH’, ‘KEEP_ANY’, ‘KEEP_ALL’, ‘KEEP_MATCH’}. If not supplied, ‘DISCARD_ANY’ will be used if a flag is not supplied, and ‘DISCARD_ALL’ will be used if a flag is supplied. The ‘_ANY’ suffix means
flagis irrelevant and any non-zero value will be considered “flagged”. ‘_ALL’ means that flagged values will contain ‘flag’, and ‘_MATCH’ means that flagged values will exactly equal ‘flag’. ‘KEEP_’ inverts the True/False meaning of the output.
- Returns:
- masknumpy.ndarray (bool)
An array the same shape as
flag_arraywhereTrueindicated that element met the given criterion.
- classmethod edit_header(header, prefix='')[source]¶
Add the flags to a FITS header.
- Parameters:
- headerastropy.io.fits.header.Header
The FITS header to edit.
- prefixstr, optional
An optional prefix to add to the header key name.
- Returns:
- None
- classmethod flag_mask(flag_array, flag=None, criterion=None)[source]¶
Return a mask indicating which flags that meet certain conditions.
This is basically the same as
discard_mask, but the meanings of KEEP and DISCARD are swapped.- Parameters:
- flag_arraynumpy.ndarray (int)
An array of integer flags to check.
- flagint or str or enum.Enum, optional
The flag to check against. If not supplied and non-zero flag is considered fair game in the relevant
criterionschema.- criterionstr, optional
May be one of {‘DISCARD_ANY’, ‘DISCARD_ALL’, ‘DISCARD_MATCH’, ‘KEEP_ANY’, ‘KEEP_ALL’, ‘KEEP_MATCH’}. If not supplied, ‘KEEP_ANY’ will be used if a flag is not supplied, and ‘KEEP_ALL’ will be used if a flag is supplied. The ‘_ANY’ suffix means
flagis irrelevant and any non-zero value will be considered “flagged”. ‘_ALL’ means that flagged values will contain ‘flag’, and ‘_MATCH’ means that flagged values will exactly equal ‘flag’. ‘KEEP_’ inverts the True/False meaning of the output.
- Returns:
- masknumpy.ndarray (bool)
An array the same shape as
flag_arraywhereTrueindicated that element met the given criterion.
- classmethod flag_to_description(flag)[source]¶
Return a description of a given flag.
- Parameters:
- flagenum.Enum or None or int or str
Nonewill return flag(0). str values will look for that given flag name and may also use the ‘|’ character to provide a combination of flags.
- Returns:
- str
- classmethod flag_to_letter(flag)[source]¶
Return a letter representation of a given flag.
- Parameters:
- flagenum.Enum or None or int or str
Nonewill return flag(0). str values will look for that given flag name and may also use the ‘|’ character to provide a combination of flags.
- Returns:
- str
- classmethod flagged_indices(flag_array, flag=None, criterion=None)[source]¶
Return indices to for a given criterion/flag.
This is the same as
discard_indiceswith switched meanings of ‘DISCARD’ and ‘KEEP’.- Parameters:
- flag_arraynumpy.ndarray (int)
An array of integer flags to check.
- flagint or str or enum.Enum, optional
The flag to check against. If not supplied and non-zero flag is considered fair game in the relevant
criterionschema.- criterionstr, optional
May be one of {‘DISCARD_ANY’, ‘DISCARD_ALL’, ‘DISCARD_MATCH’, ‘KEEP_ANY’, ‘KEEP_ALL’, ‘KEEP_MATCH’}. If not supplied, ‘KEEP_ANY’ will be used if a flag is not supplied, and ‘KEEP_ALL’ will be used if a flag is supplied. The ‘_ANY’ suffix means
flagis irrelevant and any non-zero value will be considered “flagged”. ‘_ALL’ means that flagged values will contain ‘flag’, and ‘_MATCH’ means that flagged values will exactly equal ‘flag’. ‘KEEP_’ inverts the True/False meaning of the output.
- Returns:
- indicesnumpy.ndarray (int) or tuple (int)
The indices to discard. If
flag_arrayhas multiple dimensions, the result will be a tuple of integer arrays as would be returned bynp.nonzero(). Otherwise a 1-D integer array will be returned.
- classmethod is_flagged(thing, flag=None, indices=False, exact=False)[source]¶
Return whether a given argument is flagged.
- Parameters:
- thingnumpy.ndarray (int) or str or enum.Enum or int
An array of flags or a flag identifier.
- flagenum.Enum or int or str, optional
The flag to check.
- indicesbool, optional
If
Truereturn an array of integer indices as returned bynp.nonzero(). Otherwise, return a boolean mask.- exactbool, optional
If
True, a value will only be considered flagged if it matches the given flag exactly.
- Returns:
- flaggednumpy.ndarray (int or bool) or bool or tuple (int)
If
indicesisTrue(only applicable whenthingis an array), returns a numpy array of ints if the number of dimensions is 1. For N-D arrays the output will be similar tonp.nonzero(). Ifthingis an array andindicesisFalse, a boolean mask will be returned. Ifthingcontains a single value thenTrueorFalsewill be returned.
- classmethod is_unflagged(thing, flag=None, indices=False, exact=False)[source]¶
Return whether a given argument is flagged.
- Parameters:
- thingnumpy.ndarray (int) or str or enum.Enum or int
An array of flags or a flag identifier.
- flagenum.Enum or int or str, optional
The flag to check.
- indicesbool, optional
If
Truereturn an array of integer indices as returned bynp.nonzero(). Otherwise, return a boolean mask.- exactbool, optional
If
True, a value will only be considered unflagged if it is not exactly equal to the given flag.
- Returns:
- flaggednumpy.ndarray (int or bool) or bool or tuple (int)
If
indicesisTrue(only applicable whenthingis an array), returns a numpy array of ints if the number of dimensions is 1. For N-D arrays the output will be similar tonp.nonzero(). Ifthingis an array andindicesisFalse, a boolean mask will be returned. Ifthingcontains a single value thenTrueorFalsewill be returned.
- classmethod letter_to_flag(letter)[source]¶
Return the associated flag for a given string letter identifier.
- Parameters:
- letterstr
A length 1 string.
- Returns:
- flagenum.Enum
- classmethod or_operation(values, flag)[source]¶
Return the result of an “or” operation with a given flag.
- Parameters:
- valuesint or str or enum.Enum or numpy.ndarray (int)
The values to “or”.
- flagint or str or enum.Enum
The flag to “or” with.
- Returns:
- or_resultint or numpy.ndarray (int)
- classmethod parse_string(text)[source]¶
Return the flag for a string of letter identifiers.
- Parameters:
- textstr
A string containing single letter flag identifiers.
- Returns:
- flagenum.Enum