CoveredBy

class hybrid_learning.fuzzy_logic.predicates.custom_ops.CoveredBy(*in_keys, logical_and=None, logical_or=None, mask_dims=(- 2, - 1), keep_dims=False, **kwargs)[source]

Bases: AbstractFuzzyIntersect

Calculate the proportion of one mask covered by another. The value calculates for masks \(A, B\) and fuzzy set membership function \(\in\) as:

\[\min(1, \frac{\sum_c c\in A \wedge c\in B}{\sum_a a \in A})\]

This is the summed fuzzy set intersection over the summed mask \(A\).

Public Data Attributes:

SYMB

The string symbol of this class (override for sub-classes).

Inherited from : py: class:AbstractFuzzyIntersect

ARITY

The arity of the operation.

settings

Settings to reproduce the instance.

setting_defaults

Defaults used for settings.

Inherited from : py: class:Merge

SYMB

The string symbol of this class (override for sub-classes).

ARITY

The arity of the operation.

IS_COMMUTATIVE

Whether instances are equivalent to ones with permuted in_keys.

is_variadic

Whether the instance is variadic.

settings

Settings to reproduce the instance.

setting_defaults

Defaults used for settings.

pretty_op_symb

Name of the operation symbol suitable for filenames etc.

children

The input keys which are child operations.

all_children

All children operations in the flattened computational tree, sorted depth first.

consts

The constant string keys in the input keys.

operation_keys

The list of keys used for this parent operation in original order (constants and children output keys).

all_in_keys

All string input keys both of self and of all child operations.

all_out_keys

Output keys of self and all child operations.

Inherited from : py: class:DictTransform

settings

Settings to reproduce the instance.

Inherited from : py: class:Transform

IDENTITY_CLASS

The identity class or classes for composition / addition.

settings

Settings to reproduce the instance.

Public Methods:

torch_operation(mask_a, mask_b)

Calculate to what degree mask_a is covered by mask_b.

Inherited from : py: class:AbstractFuzzyIntersect

torch_intersect(*masks)

torch_union(*masks)

torch_intersect_proportion(*masks[, iou, ...])

Calculate to what degree mask_a is covered by mask_b.

Inherited from : py: class:TorchOperation

operation(annotation_vals)

Calculate the predicate output.

Inherited from : py: class:Merge

to_infix_notation([sort_key, ...])

Return an infix str encoding equal for differently sorted operations.

to_str(**infix_notation_kwargs)

Alias for to_infix_notation().

to_pretty_str(**infix_notation_kwargs)

Same as to_str() but using pretty operation names suitable for filenames etc.

to_repr([settings, defaults, sort_key, ...])

Return str representation which can be used to reproduce and compare the instance.

treerecurse_replace_keys(**replace_map)

Return a new formula with all occurences of variables in replace_map replaced and else identical settings.

treerecurse(fun)

Apply the given function recursively to this and all children instances.

apply_to(annotations[, keep_keys])

Apply this operation to the annotations dict.

variadic_apply_to(annotations)

Return the result of operation on the values/items of a mapping or sequence of arbitrary length.

operation(annotation_vals)

Calculate the predicate output.

Inherited from : py: class:DictTransform

apply_to(annotations[, keep_keys])

Apply this operation to the annotations dict.

Inherited from : py: class:Transform

apply_to(annotations[, keep_keys])

Apply this operation to the annotations dict.

Special Methods:

Inherited from : py: class:AbstractFuzzyIntersect

__init__(*in_keys[, logical_and, ...])

Init.

Inherited from : py: class:Merge

__init__(*in_keys[, logical_and, ...])

Init.

__str__()

Return str(self).

__repr__()

Call to_repr() without sorting.

__eq__(other)

Two merge operations are considered equal, if their normalized representations coincide.

__copy__()

Return a deep copy of self using settings.

__call__(annotations[, keep_keys])

Call method modifying a given dictionary.

Inherited from : py: class:DictTransform

__call__(annotations[, keep_keys])

Call method modifying a given dictionary.

Inherited from : py: class:Transform

__repr__()

Call to_repr() without sorting.

__eq__(other)

Two merge operations are considered equal, if their normalized representations coincide.

__copy__()

Return a deep copy of self using settings.

__add__(other)

Return a flat composition of self with other.

__radd__(other)

Return a flat composition of other and self.

__call__(annotations[, keep_keys])

Call method modifying a given dictionary.


Parameters
torch_operation(mask_a, mask_b)[source]

Calculate to what degree mask_a is covered by mask_b.

Parameters
SYMB: str = 'CoveredBy'

The string symbol of this class (override for sub-classes).