Improving segmentation diffusion I'm currently working on implementing an efficient method to segment an organ on 3D CT images.
I used an algorithm (SLIC) to generate superpixels on each slice of my CT 3D matrix. The process is similar to the k-means algorithm although we do not need to visit the entire image for each pixel. 
Then I build a graph based on the superpixel: each superpixel is a node in the graph and two nodes are connected if they contains pixels that are 4-adjacent. 
The weight of the edge between two nodes is their color difference: 

$ \sqrt {(color1 - color2)² }$

I then tried to implement a method to allow the user to click on a superpixel and label it as foreground or background starting a diffusion algorithm to divide the 3D graph between the two labels. I used the IFT algorithm 
However it doesn't perform as well as I want: sometime assigning a label or correcting an incorrectly deduced label will cause the algorithm to select improper superpixel. 

The steps I used: 


Convert my matrix in 8 bits greyscale (between 0 and  255 value).
Each pixel which value isn't between low_value and high_value is put to 0 (black).
I do an histogram equalization to increase the contrast of the remaining values (thus trying to achieve better superpixel boundaries).
Apply a blurring kernel to my matrix.
Compute superpixels for each slice.
Creating the corresponding graph and creating the edges between them.
The user clicks with the foreground label (every superpixel is set to foreground).
A click with the background label allows some superpixels to be set to background. 


I sometime achieve quite satisfying results.
But some clicks may completely destroy the correct graph labeling even though they should have worked. 
I have put a small illustrated example in the following imgur album.

So, my concerns and questions are:


Is the IFT algorithm suitable for 3D? I don't see reason why not but my example shows that maybe there label leakage through previous/next slices.
What kind of preprocessing step can improve the diffusion. 
I thought about using dijkstra algorithm to determine which seed was closer to a certain superpixel. It didn't work so well : could it achieve what I want with the correct color distance function?
Do you have any advice or article which may help me?


Thank you and sorry if I was not clear, english isn't my first language.
In your images, it seems regions are defined more by their edge boundaries rather than their colour. 

Since the IFT is using a colour difference metric then it doesn't see much difference between some foreground and background super pixels.

Instead of colour difference I would try a different metric based on boundary edge strength.   For example, the weight of the edge between two nodes is set to the average edge strength along their shared super pixel boundary. You might need to define a minimum boundary length though, such as 20 pixels, otherwise noise can effect this.

I've used this measurement before to combine segmentation regions and it works well. Interestingly, I was getting the segmentations using the IFT on a per pixel basis. This method you are applying looks interesting!

You could also combine the two measurements.