Switch to side-by-side view

--- a
+++ b/Thoracic Organs Segmentation code/TwoPhaseLevel Sets/fillingProc.m
@@ -0,0 +1,103 @@
+%function [finalImg]=fillAorta(i,j,aortaValue,filteredImg)
+%function finalImg=fillAorta(i,j,filteredImg,inputImg)
+function finalImg = fillingProc(centre_i,centre_j,filteredImg);
+
+
+%maxPixelValue=250;
+setValue=1;%max(max(filteredImg));
+finalImg=zeros(size(filteredImg));
+ 
+%threshold choice
+threshold=1;%max(max(filteredImg));%mean(mean(filteredImg));
+
+centre_i=centre_i;
+centre_j=centre_j;
+
+stack=-ones(255^2,2);
+stack_index=1;
+stack(stack_index,1)=centre_i;
+stack(stack_index,2)=centre_j;
+i=centre_i;j=centre_j;
+while(stack_index>0 )%&& j+1<size(filteredImg,1) && j-1>0 && i+1<size(filteredImg,2) && i-1>0)
+    %oldValue=finalImg(pixel_i,pixel_j);
+    i=stack(stack_index,1);
+    j=stack(stack_index,2);
+    stack_index=stack_index-1;
+    finalImg(i,j)=setValue;
+
+    %if( checkNeighbour(filteredImg(i,j),filteredImg(i,j+1))==1 && finalImg(i,j+1)~=setValue )
+    if(j+1<=size(filteredImg,2))
+        if( finalImg(i,j+1)~=setValue)
+        
+                   if( checkNeighbour(filteredImg(i,j),filteredImg(i,j+1),threshold)==1 )
+                         stack_index=stack_index+1;
+                         stack(stack_index,1)=i;
+                         stack(stack_index,2)=j+1;
+                   else
+                         finalImg(i,j+1)=setValue;
+                   end
+
+        end
+    end
+    
+    %if( checkNeighbour(filteredImg(i,j),filteredImg(i,j-1))==1 && finalImg(i,j-1)~=setValue )
+    if (j-1>0)
+         if( finalImg(i,j-1)~=setValue)
+        
+                    if( checkNeighbour(filteredImg(i,j),filteredImg(i,j-1),threshold)==1 )
+                         stack_index=stack_index+1;
+                         stack(stack_index,1)=i;
+                         stack(stack_index,2)=j-1;
+                         %fillAorta(i,j-1);
+                    else
+                        finalImg(i,j-1)=setValue;
+                    end
+        end
+    end
+
+    %if( checkNeighbour(filteredImg(i,j),filteredImg(i+1,j))==1 && finalImg(i+1,j)~=setValue )
+    if (i+1<=size(filteredImg,1))
+        if( finalImg(i+1,j)~=setValue )
+        
+                    if( checkNeighbour(filteredImg(i,j),filteredImg(i+1,j),threshold)==1 )
+                        stack_index=stack_index+1;
+                        stack(stack_index,1)=i+1;
+                        stack(stack_index,2)=j;
+                        %fillAorta(i+1,j)
+                    else
+                        finalImg(i+1,j)=setValue;
+                    end
+      
+        end
+    end
+
+    %if( checkNeighbour(filteredImg(i,j),filteredImg(i-1,j))==1 && finalImg(i-1,j)~=setValue )
+    if (i-1>0)
+    if( finalImg(i-1,j)~=setValue )
+        
+                if( checkNeighbour(filteredImg(i,j),filteredImg(i-1,j),threshold)==1 )
+                       stack_index=stack_index+1;
+                       stack(stack_index,1)=i-1;
+                       stack(stack_index,2)=j;
+                       %fillAorta(i-1,j)
+                else
+                       finalImg(i-1,j)=setValue;
+                end
+    end
+      
+    end
+  
+end
+
+function isValid=checkNeighbour(curPixel,nextPixel,threshold)
+isValid=1;
+if (curPixel==threshold) 
+    isValid=0;
+end
+if(abs(nextPixel-curPixel)>0) 
+    isValid=0;
+end
+
+
+
+