Bug introduced in 9.0 and fixed in 10.0

I am trying to get the ImageDeconvolve function to work with Image3D objects. In the documentation of ImageDeconvolve it says:

ImageDeconvolve works with Image3D objects.

But I can't get the function to work. I tried the following:

kernel = GaussianMatrix[{{7, 7, 7}, 2}];
Image3D@kernel // ImageAdjust

enter image description here

img3d = Import["ExampleData/CTengine.tiff", "Image3D"]

enter image description here

ImageDeconvolve[img3d, GaussianMatrix[{{1, 1, 1}, 1}], 
 Method -> {"RichardsonLucy", "Preconditioned" -> True}, 
 MaxIterations -> 16]

enter image description here

Deconvolution seems to be applied only to the first plane. Is ImageDeconvolve just not working for Image3D or am I doing something wrong here? I also tried different algorithms, kernels and other options without success.

  • $\begingroup$ I can confirm the behaviour you see, with 9.0.1. $\endgroup$
    – Szabolcs
    Sep 12 '13 at 14:30
  • $\begingroup$ I'm sorry I forgot to mention: I am also working on version 9.0.1. $\endgroup$
    – g3kk0
    Sep 12 '13 at 14:53
  • $\begingroup$ I would contact support about it. If they confirm it's a bug, you can come back and note it in an answer (so the question doesn't stay unresolved). $\endgroup$
    – Szabolcs
    Sep 12 '13 at 15:03
  • $\begingroup$ I reported it as a possible bug/missing feature to Wolfram. $\endgroup$
    – g3kk0
    Sep 12 '13 at 15:42

I'm a consultant at Wolfram Research. It is a bug which will be fixed in Mathematica 10. Here is a workaround for Mathematica 9.0.1:

Image3D[ListDeconvolve[GaussianMatrix[{{1, 1, 1}, 1}], ImageData[img3d], 
  Method -> {"RichardsonLucy", "Preconditioned" -> True}, MaxIterations -> 16]]

enter image description here

  • $\begingroup$ Thanks for the workaround. Looking forward to Mathematica version 10. $\endgroup$
    – g3kk0
    Sep 13 '13 at 8:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.