April 14th, 2014

Today we released version 2.6 of DIPimage and DIPlib. The change list is rather short. There are two items that I think are important: 1) We fixed a bug that caused an unnecessary copy of the output image(s) in the DIPlib-MEX interface, slowing down functions especially for large images. 2) We introduced a new setting to automatically make use of a feature introduced in the previous release.

Read the rest of this entry »

Tags: DIPimage.

Posted in announcements | No Comments »

January 4th, 2014

Last month I asked the following question in an exam for the advanced image analysis course we teach here: “Given that interpolation is a convolution, describe how you would compute an interpolation using the Fourier Transform.” Unfortunately I can count one one finger the number of students that did not simply answer with something in the order of “convolution can be computed by multiplication in the Fourier domain.” And the one student that did not give this answer didn’t give an answer at all… Apparently this question is too difficult, though I thought it was interesting and only mildly challenging. In this post I’ll discuss interpolation and in passing give the correct answer to this question.

Read the rest of this entry »

Tags: aliasing, filtering, Fourier transform, interpolation, Lanczos, linear, pulse train, sampling, shift, zoom.

Posted in tutorials | 1 Comment »

October 4th, 2013

We recently released a bugfix for DIPimage release 2.5. Since I didn’t announce the release of 2.5 here, this might be a good opportunity to review some of the improvements in 2.5.

Read the rest of this entry »

Tags: arithmetic, DIPimage, DIPlib, FFTW, Fourier transform, Lanczos, timeit.

Posted in announcements | 1 Comment »

August 24th, 2013

Nowhere is it as difficult to get a fully automatic image analysis system accepted and used in practice as in the clinic. Not only are physicians sceptical of technology that makes them irrelevant, but an automated system has to produce a *perfect* result, a correct diagnosis for 100% of the cases, to be trusted without supervision. And of course this is impossible to achieve. In fact, even if the system has a better record than an average (or a good) physician, it is unlikely that it is the same cases where the system and the physician are wrong. Therefore, the combination of machine + physician is better than the machine, and thus the machine should not be used without the physician.

What often happens then is that the system is tuned to yield a near 100% *sensitivity* (to miss only very few positives), and thus has a very low *specificity* (that is, it marks a lot of negative tests as positive). The system is heavily biased to the positives. The samples marked by the system as negative are almost surely negative, whereas the samples marked as positive (or, rather, *suspect*) are reviewed by the physician. This is supposed to lighten the workload of the physician. This seems nice and useful, no? What is the problem?

Read the rest of this entry »

Tags: diagnosis, medicine, pathology, sensitivity, specificity.

Posted in rants | No Comments »

June 23rd, 2013

We recently organized the 11^{th} International Symposium on Mathematical Morphology here in Uppsala. I’m very happy with how the event turned out, and we got lots of positive comments from participants, so all our hard work paid off. We had a nice turnout, very interesting presentations, and lots of discussions. And I’m now the editor of a book containing all the papers presented.

There seem to be several trending topics in the ISMM community at the moment. One of those is the application of Mathematical Morphology to colour images. People have been working on this topic for a while now, and still there is no optimal solution. This year, three very different methods were presented to try and solve this problem. But what is this problem about?

Read the rest of this entry »

Tags: colour, filter, mathematical morphology, vector ordering.

Posted in tutorials | 2 Comments »