*(Date: 5.8.2013 – 9.8.2013)*

Still reading through the image processing book, I got some first inspiration of what I can do to find peaks.

For image sharpening, usually, you use second derivatives. A first derivation, generally, marks something changing — a bit loosely you could say, it filters out changes relative to a preceding value. The second derivation then marks the changes of the changes, so you end up with sharp highlights at the points, where changes start to happen or are most extreme. Since peaks might fall under this class, it’s probably worth looking into.

The derivative operator for \(n\) dimensions is the Laplace operator, defined for two dimensions like

\(\Delta f(x,y) = \frac{\partial^2 f}{\partial x^2} + \frac{\partial^2 f}{\partial y^2}\,.\)

A Taylor Expansion gives the definition for discrete variables of the second derivates, they are:

\(\frac{\partial^2 f}{\partial x^2} = f(x+1, y) + f(x-1, y) – 2f(x,y) \\ \frac{\partial^2 f}{\partial y^2} = f(x, y+1) + f(x, y-1) – 2f(x,y)\,.\)

You get the value of a new, filtered pixel \(f(x_0, y_0)\) by applying the filter mask \(\Delta f(x_0, y_0)\):

\(\Delta f(x_0, y_0) = f(x_1, y_0) + f(x_{-1}, y_0) + f(x_0, y_1) + f(x_0, y_{-1}) – 4f(x_0,y_0)\,.\)

Schematically, this can be viewed at as an element-wise multiplication and subsequent element-wise addition of two matrices, the image matrix and the filter mask. For the prior equations, here’s an example of how to calculate a new central **8**:

If the diagonal / corner elements should also be taken into consideration, the applied mask has to look like the box on the right.

I wrote a small program to test out the different filtering possibilities. At the moment, this could look better. The first tests do not let the peaks shine out more then before.

The problem with all methods from image processing is that they are designed for a proper, continuous edge, rather than a single peak as in my case. At an edge, there are most of the time two pixels in the surrounding eight where the pixel height (/multiplicity) is roughly equivalent to the current pixel’s one.

But I’m not yet resigning. I’m going to find some useful technique!

The rest of the week I finalize the leaving of my summer student. He is flying home early on Friday morning and there’s lots do before. Get all the money things sorted out. Get the signature of the dorm’s caretaker about the properness of his room. Help the summer student with the presentation he’s holding on Thursday afternoon.

All works out well in the end, and my summer student leaves on Friday.

It was a really good time, he did a lot of stuff. We have now a Riemann Trackfinder running on the GPU. And during the last days (like, literally the last couple of days…) he was even able to find out some efficiency / ghost ratio key values for the algorithm.

As a preliminary conclusion I can say: Having a summer student is time consuming, but worth it.

Also this week, there were lots of meetings. Thursday at 10:30, Thursday at 15:15, Friday at 10:00, Friday at 14:00. I also used the time to present what I was up to during the last few weeks.

Here are the slides.

Pingback: Week #94 | Doktorandi