Team:Aachen/Notebook/Software/Measurarty

From 2014.igem.org

Revision as of 14:21, 15 October 2014 by Mjoppich (Talk | contribs)

Measurarty

Measurarty, the evil player in the game of Celloc Holmes and WatsOn. Measurarty is the pathogene detection logic behind our project. Using our Measuiarty algorithm we want to automatically detect pathogenes from the chip photos delivered by WatsOn, without human interaction. Besides reducing the risk of human errors, this makes our device usable by almost everyone.

Measurarty - An Introduction

Our device control software is able to take images of incubated chips in the device. Yet that does not bring is close to the answer of the question

Is there a pathogene detected?

In fact, answering this question seems trivial for a human. Just check whether there has a colony grown in the chip and you're done. It's even easier with our chip system, because these show fluorescence wherever a pathogene has been detected.

But is this an as easy task for a computer? Actually not. The task of automatic detection is tried to be answered from several disciplines in computer science, starting with pattern recognition over machine learning and finally by medical imaging chairs.

We would like to present a pipeline here for this task, that makes use of easy segmentation and classification algorithms. First we segment the target image using Statistical Region Merging (SRM) in order to find regions of similar properties. After this step we can apply a segmentation using histogram thresholding in HSV color space to find candidate regions for pathogenes. Finally a classification algorithm can detect the pathogene on our chips.

Statistical Region Merging (SRM)

Before we want to briefly introduce Statistical Region Merging (SRM), we would like to explain why we need this step, and why this algorithm is an ideal choice.

Compared to other clustering algorithms, SRM is quite leightweight, delivers yet deterministic results and is not dependant on a certain seed (like k-means for example).

On the other hand it can create as many refinements as one wants and therefore is flexible enough for the task here. Finally there's already been knowledge about this algorithm in the group.

Statistical Region Merging (SRM) [1] is a clustering technique also used directly for image segmentation. A region $R$ is a set of pixels and the cardinality $\lvert R \rvert$ determines how many pixels are in a region. Starting with a sorted set of connected regions (w. r. t. some distance function $f$), two regions $R$ and $R'$ are merged if the qualification criteria $\vert \overline{R'}-\overline{R} \vert \leq \sqrt{b^2(R)+b^2(R')}$ with $b(R) = g \cdot \sqrt{\frac{\ln \frac{\mathcal{R}_{\lvert R \rvert}}{\delta}}{2Q\lvert R \rvert}}$ is fulfilled. Therefore, $\mathcal{R}_{\lvert R \rvert}$ is the set of regions with $\lvert R \rvert$ pixels. Typically $Q$ is chosen as $Q \in \lbrack 256, 1\rbrack$ and $\delta = \frac{1}{\lvert I \rvert^2}$.

The $Q$ parameter mainly influences the merging process. See Figure SRM Regions for an example. Choosing lower values for $Q$, the regions are becoming more coarse. Using a union-find structure, the segmentation does not need to be recalculated for each $Q$ level. For the step from $q$ to $\frac{q}{2}$, simply the qualification criteria needs to be applied to the regions from the $q$ result. A MATLAB implementation can be found in [2].

Aachen srm regions 3.PNG Aachen srm regions 2.PNG
SRM Regions (random color)
Different Regions from a SRM run starting at $Q=256$ top left going to $Q=1$ bottom right. Each region is assigned a random color.
SRM Regions (average color)
Different Regions from a SRM run starting at $Q=256$ top left going to $Q=1$ bottom right. Each region is assigned the average color of that region.

[1] Nock R, Nielsen F. Statistical region merging. IEEE Transactions on PAMI. 2004;26:1452–8.

[2] Boltz S. Statistical region merging matlab implementation; 2014. Available from: http://www.mathworks.com/matlabcentral/fileexchange/ 25619-image-segmentation-using-statistical-region-merging. Accessed 12 Dec 2013.

Segmentation

Classification



function [mask seg] = automaticseeds(maskedImg)
end

Results

Source Code