merge_many#

static rlemasklib.RLEMask.merge_many(masks, func)[source]#

Merge many masks using either the same or different Boolean functions.

This is a reduce operation from the left, as:

merge(merge(masks[0], masks[1], func[0]), masks[2], func[1]), …

If only one function is provided, it is applied in all steps.

Parameters:
  • masks (Sequence[RLEMask]) – a sequence of RLE masks

  • func (Union[rlemasklib.boolfunc.BoolFunc, Sequence[rlemasklib.boolfunc.BoolFunc]]) – a single Boolean function or a sequence of Boolean functions

Returns:

A new RLEMask with the merged result.

Return type:

RLEMask

Examples

Merge with OR to get union of all masks:

RLEMask.merge_many([, ], BoolFunc.OR) ==

Merge with AND to get intersection:

RLEMask.merge_many([, ], BoolFunc.AND) ==

See also

merge_many_custom(), which allows merging with custom n-ary Boolean functions.