Phase symmetry filter fails with "Inputs do not occupy the same physical space" error

We are trying to use the phase symmetry filter in ITKPhaseSymmetry remote module for noise suppression in ultrasound images. The filter looks very promising, but we are running into “Inputs do not occupy the same physical space” error. The error happens inside the filter (we only provide a single image as input), so it is not likely that the problem is that the input is invalid. See some more details here: https://github.com/InsightSoftwareConsortium/ITK/issues/445

Could someone have a look at this issue?
(maybe @matt.mccormick?)

The issue tracker in the remote module’s repository is disabled, so I submitted details of the error in the main ITK bugtracker. In general, where should I report issues related to ITK remote modules?

Hi @lassoan,

This error sounds familiar – I think it was fixed. Did you try with the tip of master?

The module repository issue tracker was the right place. It should not have been disabled – it is now enabled. Thanks for bringing it up! :+1:

I had a try with the reported dataset and the itk-phasesymmetry Python package, and the filter ran.

Here is the gist:

And some results:

I need to use this filter in Slicer, so I added this module and had to change the ITK module because DynamicThreadedGenerateData is not yet available in Slicer’s ITK (but otherwise it should be identical to latest master version). Can the DynamicThreadedGenerateData->ThreadedGenerateData change cause the physical space error?

Nope.

It is worth trying ITK 5 in case the component filters changed. There are a number of Slicer PR’s open from @hjmjohnson @dzenanz @Sam_Horvath to add ITK 5 support to Slicer.

OK, I’ll then try to push for getting ITK upgraded in Slicer and then retry again. Thanks for your help.

1 Like