Skip to content

EnforceObjectsOneToOne: error if no pre-primary/secondary objects #270

Description

@braymp

If an object label image with no objects is run through EnforceObjectsOneToOne for both pre-primary and pre-secondary objects (see attached EnforceObjectsOneToOne_pipeline.zip), the following error results:

Failed to run module EnforceObjectsOneToOne
Traceback (most recent call last):
File "C:\Users\brayma2.conda\envs\py38\lib\site-packages\cellprofiler-4.2.4-py3.8.egg\cellprofiler\gui\pipelinecontroller.py", line 3390, in do_step
self.__pipeline.run_module(module, workspace_model)
File "C:\Users\brayma2.conda\envs\py38\lib\site-packages\cellprofiler_core\pipeline_pipeline.py", line 1341, in run_module
module.run(workspace)
File "C:\Users\brayma2\github\cellprofiler-plugins\active_plugins\enforceobjectsonetoone.py", line 173, in run
primary_seg = self.enforce_unique(pre_primary_seg, pre_secondary_seg, erode_excess=True)
File "C:\Users\brayma2\github\cellprofiler-plugins\active_plugins\enforceobjectsonetoone.py", line 373, in enforce_unique
if matched_to_count.max() >1:
File "C:\Users\brayma2.conda\envs\py38\lib\site-packages\numpy\core_methods.py", line 41, in _amax
return umr_maximum(a, axis, None, out, keepdims, initial, where)
ValueError: zero-size array to reduction operation maximum which has no identity

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions