Raw data and other data must have equal dimensions error

Hello,

I am relatively new to ilastik and image processing in general so apologies in advance if this is a very obvious question.
I am using ilastik on windows for pixel classification/segmentation, followed by both tracking w/learning and object classification. I came across this error when running in headless:

Your datasets have shapes: (866, 1024, 1024, 1, 1) and (1, 1024, 1024, 866, 1)
ERROR 2020-10-30 17:35:20,941 log_exception 26673 140166929856320 Traceback (most recent call last):
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/ilastik/ilastik/shell/projectManager.py”, line 460, in _loadProject
serializer.deserializeFromHdf5(self.currentProjectFile, projectFilePath, self._headless)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/ilastik/ilastik/applets/base/appletSerializer.py”, line 1155, in deserializeFromHdf5
self._deserializeFromHdf5(topGroup, groupVersion, hdf5File, projectFilePath, headless)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/utility/timer.py”, line 153, in wrapper
return func(*args, **kwargs)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/ilastik/ilastik/applets/dataSelection/dataSelectionSerializer.py”, line 253, in _deserializeFromHdf5
self.topLevelOperator.WorkingDirectory.setValue(working_dir)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 73, in call_in_setup_context
return func(self, *args, **kwargs)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1140, in setValue
self._changed()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1325, in _changed
self.maybe_call_within_transaction(self._changed_impl)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1320, in maybe_call_within_transaction
self.graph.maybe_call_within_transaction(fn)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/graph.py”, line 143, in maybe_call_within_transaction
fn()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1351, in _changed_impl
c._changed()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1325, in _changed
self.maybe_call_within_transaction(self._changed_impl)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1320, in maybe_call_within_transaction
self.graph.maybe_call_within_transaction(fn)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/graph.py”, line 143, in maybe_call_within_transaction
fn()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1351, in _changed_impl
c._changed()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1325, in _changed
self.maybe_call_within_transaction(self._changed_impl)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1320, in maybe_call_within_transaction
self.graph.maybe_call_within_transaction(fn)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/graph.py”, line 143, in maybe_call_within_transaction
fn()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1351, in _changed_impl
c._changed()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1325, in _changed
self.maybe_call_within_transaction(self._changed_impl)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1320, in maybe_call_within_transaction
self.graph.maybe_call_within_transaction(fn)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/graph.py”, line 143, in maybe_call_within_transaction
fn()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1358, in _changed_impl
self._configureOperator(self)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1371, in _configureOperator
self.maybe_call_within_transaction(self.operator._setupOutputs)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1320, in maybe_call_within_transaction
self.graph.maybe_call_within_transaction(fn)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/graph.py”, line 143, in maybe_call_within_transaction
fn()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/operator.py”, line 498, in _setupOutputs
self.setupOutputs()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/ilastik/ilastik/applets/dataSelection/opDataSelection.py”, line 729, in setupOutputs
self.Image.connect(op5.Output)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 73, in call_in_setup_context
return func(self, *args, **kwargs)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 543, in connect
self._changed()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1325, in _changed
self.maybe_call_within_transaction(self._changed_impl)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1320, in maybe_call_within_transaction
self.graph.maybe_call_within_transaction(fn)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/graph.py”, line 143, in maybe_call_within_transaction
fn()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1351, in _changed_impl
c._changed()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1325, in _changed
self.maybe_call_within_transaction(self._changed_impl)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1320, in maybe_call_within_transaction
self.graph.maybe_call_within_transaction(fn)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/graph.py”, line 143, in maybe_call_within_transaction
fn()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1351, in _changed_impl
c._changed()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1325, in _changed
self.maybe_call_within_transaction(self._changed_impl)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1320, in maybe_call_within_transaction
self.graph.maybe_call_within_transaction(fn)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/graph.py”, line 143, in maybe_call_within_transaction
fn()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1351, in _changed_impl
c._changed()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1325, in _changed
self.maybe_call_within_transaction(self._changed_impl)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1320, in maybe_call_within_transaction
self.graph.maybe_call_within_transaction(fn)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/graph.py”, line 143, in maybe_call_within_transaction
fn()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1351, in _changed_impl
c._changed()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1325, in _changed
self.maybe_call_within_transaction(self._changed_impl)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1320, in maybe_call_within_transaction
self.graph.maybe_call_within_transaction(fn)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/graph.py”, line 143, in maybe_call_within_transaction
fn()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1351, in _changed_impl
c._changed()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1325, in _changed
self.maybe_call_within_transaction(self._changed_impl)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1320, in maybe_call_within_transaction
self.graph.maybe_call_within_transaction(fn)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/graph.py”, line 143, in maybe_call_within_transaction
fn()
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/slot.py”, line 1340, in _changed_impl
self._sig_ready(self)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/lazyflow/lazyflow/utility/orderedSignal.py”, line 80, in call
f(*args, **kw)
File “…/ilastik-1.3.3post2-Linux/ilastik-meta/ilastik/ilastik/applets/objectExtraction/opObjectExtraction.py”, line 421, in _checkConstraints
raise DatasetConstraintError(“Object Extraction”, msg)
ilastik.applets.base.applet.DatasetConstraintError: Constraint of ‘Object Extraction’ applet was violated: Raw data and other data must have equal dimensions (different channels are okay).
Your datasets have shapes: (866, 1024, 1024, 1, 1) and (1, 1024, 1024, 866, 1)

I am confused because when I look at the ilastik project, the axes for the raw data and segmentation are the correct shapes (tyxc and the same orientation for both), so I am unsure how to fix this problem. Can anyone help me figure out what I’m doing wrong?

Thank you!

Hi @kyc37, welcome to the image.sc forum!

I have seen your post on our issue tracker first, so I have answered there…

1 Like