cellmap_flow.models.model_merger

Model Merger classes for combining outputs from multiple models.

Similar to PostProcessor pattern, provides subclasses for different merge strategies that can be looked up by their __name__ attribute.

Attributes

logger

MERGE_MODE_MAP

Classes

ModelMerger

Base class for model merging strategies.

AndModelMerger

AND merge strategy: Element-wise minimum.

OrModelMerger

OR merge strategy: Element-wise maximum.

SumModelMerger

SUM merge strategy: Average of all outputs.

Functions

get_model_mergers_list(→ list[dict])

Returns a list of dictionaries containing information about all ModelMerger subclasses.

get_model_merger(→ ModelMerger)

Get a ModelMerger instance by name.

Module Contents

cellmap_flow.models.model_merger.logger
class cellmap_flow.models.model_merger.ModelMerger

Base class for model merging strategies.

abstractmethod merge(model_outputs)

Merge outputs from multiple models.

Parameters:

model_outputs – List of numpy arrays from different models

Returns:

Merged numpy array

class cellmap_flow.models.model_merger.AndModelMerger

AND merge strategy: Element-wise minimum. For binary data: logical AND. For continuous data: minimum value.

merge(model_outputs)

Apply AND operation: element-wise minimum across all model outputs.

Parameters:

model_outputs – List of numpy arrays

Returns:

Merged array with minimum values at each position

class cellmap_flow.models.model_merger.OrModelMerger

OR merge strategy: Element-wise maximum. For binary data: logical OR. For continuous data: maximum value.

merge(model_outputs)

Apply OR operation: element-wise maximum across all model outputs.

Parameters:

model_outputs – List of numpy arrays

Returns:

Merged array with maximum values at each position

class cellmap_flow.models.model_merger.SumModelMerger

SUM merge strategy: Average of all outputs. Computes the mean across all model outputs.

merge(model_outputs)

Apply SUM operation: average all model outputs.

Parameters:

model_outputs – List of numpy arrays

Returns:

Merged array with average values at each position

cellmap_flow.models.model_merger.get_model_mergers_list() list[dict]

Returns a list of dictionaries containing information about all ModelMerger subclasses.

Returns:

‘class_name’, ‘name’, ‘description’

Return type:

List of dicts with keys

cellmap_flow.models.model_merger.get_model_merger(merger_name: str) ModelMerger

Get a ModelMerger instance by name.

Parameters:

merger_name – Name of the merger class (e.g., ‘AndModelMerger’, ‘And’, ‘AND’)

Returns:

Instance of the requested ModelMerger subclass

Raises:

ValueError – If merger_name doesn’t match any available merger class

cellmap_flow.models.model_merger.MERGE_MODE_MAP