Skip to content

Graph Methods

SamuelNLerner edited this page Jun 29, 2018 · 4 revisions

Much of this week, I was experimenting with methods of creating a directed graph from each image and running graph algorithms on the result. The rules for graph creation are:

if a pixel has a neighbor that is at least 2 less than it's value:
create an edge from the current pixel to all pixels at least 1 less than it's value
else:
create an edge from the current pixel to all pixels at least 2 less than it's value

Here are some examples of graphs resulting from random 5x5 patches from random images:

The next task was to take the result from feeding an input image through the U-Net trained last week. I then created a graph from the image according to the previous algorithm. I then found the strongly connected components (SCCs) from the graph and found the node with the highest out-degree and lowest in-degree in the component to find the "center" of each nucleus. Here are some of the results:

The idea was then to conduct a sort of BFS on the U-Net output, starting from each of these sources. The results were not too good. Here is one of the examples:

Clone this wiki locally