From 255e2f9fe507d13286b768913c4888fc7acb01b4 Mon Sep 17 00:00:00 2001
From: Behnaz Pirzamanbein <bepi@dtu.dk>
Date: Wed, 29 Jul 2020 15:49:51 +0200
Subject: [PATCH] add the functions and modified the codes

added the relevant functions and modified the codes accordingly
---
 Demo.m                                        |  41 +-
 Export2inp.m                                  |  18 +-
 Functions/functions_GraphCut/GraphCutMex.cpp  | 100 +++
 .../functions_GraphCut/GraphCutMex.mexa64     | Bin 0 -> 22225 bytes
 .../functions_GraphCut/GraphCutMex.mexmaci64  | Bin 0 -> 18052 bytes
 .../functions_GraphCut/GraphCutMex.mexw64     | Bin 0 -> 134144 bytes
 .../functions_GraphCut/GraphCutMex.mexw64.pdb | Bin 0 -> 692224 bytes
 Functions/functions_GraphCut/block.h          | 268 +++++++
 .../compile_mex_functions.m                   |   7 +
 Functions/functions_GraphCut/graph.cpp        | 114 +++
 Functions/functions_GraphCut/graph.h          | 506 +++++++++++++
 Functions/functions_GraphCut/instances.inc    |  16 +
 Functions/functions_GraphCut/maxflow.cpp      | 702 ++++++++++++++++++
 Functions/functions_auxiliary/click_points.m  |  13 +
 .../functions_auxiliary/compute_normals.m     |  23 +
 .../functions_auxiliary/distribute_points.m   |  42 ++
 Functions/functions_auxiliary/ginputWhite.m   | 319 ++++++++
 .../functions_auxiliary/registerImages.m      |  54 ++
 .../regularization_matrix_open.m              |  14 +
 .../slice_points_interpolation.m              |  48 ++
 Functions/functions_cost/smoothsurface_cost.m |  28 +
 Functions/functions_curvature/surfature.m     |  70 ++
 Functions/functions_gridcut/grid_cut.m        | 252 +++++++
 Functions/functions_mesh/do_mesh_example.m    |  87 +++
 Functions/functions_mesh/elements_mesh.m      |  19 +
 Functions/functions_mesh/write_mesh.m         |  18 +
 .../functions_visualization/show_matvol.m     |  48 ++
 .../suptitle_modified.m                       | 109 +++
 LayerDetection.m                              |   3 -
 PointSelection.m                              | 328 ++++----
 PrepMeasure.m                                 |   4 +-
 PrepRegistration.m                            |   4 +-
 Registration.m                                | 111 +--
 Transformation.m                              |  11 +-
 34 files changed, 3122 insertions(+), 255 deletions(-)
 create mode 100644 Functions/functions_GraphCut/GraphCutMex.cpp
 create mode 100644 Functions/functions_GraphCut/GraphCutMex.mexa64
 create mode 100644 Functions/functions_GraphCut/GraphCutMex.mexmaci64
 create mode 100644 Functions/functions_GraphCut/GraphCutMex.mexw64
 create mode 100644 Functions/functions_GraphCut/GraphCutMex.mexw64.pdb
 create mode 100644 Functions/functions_GraphCut/block.h
 create mode 100644 Functions/functions_GraphCut/compile_mex_functions.m
 create mode 100644 Functions/functions_GraphCut/graph.cpp
 create mode 100644 Functions/functions_GraphCut/graph.h
 create mode 100644 Functions/functions_GraphCut/instances.inc
 create mode 100644 Functions/functions_GraphCut/maxflow.cpp
 create mode 100644 Functions/functions_auxiliary/click_points.m
 create mode 100644 Functions/functions_auxiliary/compute_normals.m
 create mode 100644 Functions/functions_auxiliary/distribute_points.m
 create mode 100644 Functions/functions_auxiliary/ginputWhite.m
 create mode 100644 Functions/functions_auxiliary/registerImages.m
 create mode 100644 Functions/functions_auxiliary/regularization_matrix_open.m
 create mode 100644 Functions/functions_auxiliary/slice_points_interpolation.m
 create mode 100644 Functions/functions_cost/smoothsurface_cost.m
 create mode 100644 Functions/functions_curvature/surfature.m
 create mode 100644 Functions/functions_gridcut/grid_cut.m
 create mode 100644 Functions/functions_mesh/do_mesh_example.m
 create mode 100644 Functions/functions_mesh/elements_mesh.m
 create mode 100644 Functions/functions_mesh/write_mesh.m
 create mode 100644 Functions/functions_visualization/show_matvol.m
 create mode 100644 Functions/functions_visualization/suptitle_modified.m

diff --git a/Demo.m b/Demo.m
index 13b9f58..63640af 100644
--- a/Demo.m
+++ b/Demo.m
@@ -1,10 +1,20 @@
 close all
 clear
 
-addpath(genpath('../Functions'))
+addpath(genpath('./Functions'))
 
 %% Defaults
-Data_path = '..\..\..\..\..\..\LINX FP08.001\Activity 7 - bending - visualizations and tiff stacks\mat_file\';
+% if you know the path otherwise choose the path using the 
+answer = questdlg('Write data path or browse to the data folder?', 'Data Path','Write','Browse','Browse');
+switch answer
+    case 'Write'
+        Data_path = '..\..\..\HCP Anywhere\LINX FP08.001\Activity 7 - bending - visualizations and tiff stacks\mat_file\';
+    case 'Browse'
+        Data_path = uigetdir;
+        Data_path = fullfile(Data_path,'\');
+        fprintf('Data Path: %s \n', Data_path)
+end
+
 samples = {'out_out_CD','out_out_MD','in_in_CD','in_in_MD'};
 degree = {'0','45','90','180'};
 layer_name = {'outer','inner'};
@@ -12,12 +22,17 @@ layer_name = {'outer','inner'};
 
 %% extract poitns for the pipeline
 clc
-flag_points = 0; % 1 if no point has been extracted and first time use of the code
+flag_points = 1; % 1 if no point has been extracted and first time use of the code
+flag_save = 0; % 0: to not save the results; 1: to save the results
+
+answer = inputdlg('Contrast Enhansed value:','Contrast',[1 50],{'.7 1.5'}); % this is default based on the data scanned at DTU
+ce = str2num(answer{1});
+
 
 if flag_points
     for i = 1
         sample = samples{i};
-        for j = 1:4
+        for j = 1
             dg = degree{j};
 
             %% load data
@@ -35,7 +50,7 @@ clearvars -except Data_path samples degree layer_name
 clc
 answer = questdlg('Do you want to enhance the contrast? ','Contrast:','No','Yes','No');
 
-for i = 1
+for i = 1:4
     sample = samples{i};
     for j = 1:4
         %% load data
@@ -67,40 +82,48 @@ for i = 1
                         range = 20:-1:-20;
                 end
             end
+            flag_save = 1;
+            flag_fig = 0; % if you want to check the results
             LayerDetection
         end
         
          %% measure
         disp('Measure ...')
+        flag_save = 1;
         PrepMeasure
         
          %% registration
         disp('Registration ...')
+        flag_save = 1;
         PrepRegistration
         
     end
 end
 
 %% visualize the measure
-for i = 1%:4
+for i = 1:4
+    flag_save = 1;
     Measure
 end
 close all
 
 %% apply the registration
-for i = 1%:4
+for i = 1:4
+    flag_save = 1;
     Registration
 end
 close all
 
 %% apply the alignment and transformation
-for i = 1%:4
+for i = 1:4
+    flag_save = 1;
+    flag_fig = 1;
     Transformation
 end
 close all
 
 %% convert the meshes
-for i = 1%:4
+for i = 1:4
     Export2inp
 end
 close all
diff --git a/Export2inp.m b/Export2inp.m
index 440cdcd..a24a276 100644
--- a/Export2inp.m
+++ b/Export2inp.m
@@ -3,8 +3,6 @@
 samples = {'out_out_CD','out_out_MD','in_in_CD','in_in_MD'};
 degree = {'0','45','90','180'};
 
-flag_save = 1;
-
 load_folder_layers = 'Results\layer\transfer\align_0dg_rest\';
 
 save_folder =  'Results\export\';
@@ -29,7 +27,7 @@ end
           reshape(permute(aligned_inner_dg0(:,:,3,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1])];
     no = [(1:size(no,1))',no];
     
-    disp('Write mesh ...')
+    disp('Write mesh inner 0 ...')
     parfeval(@write_mesh,0,no,ele,[save_folder,'inner_',sample,'_0']);
     
     no = [reshape(permute(aligned_outer_dg0(:,:,1,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1]), ...
@@ -37,7 +35,7 @@ end
           reshape(permute(aligned_outer_dg0(:,:,3,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1])];
     no = [(1:size(no,1))',no];
 
-    disp('Write mesh ...')
+    disp('Write mesh outer 0 ...')
     parfeval(@write_mesh,0,no,ele,[save_folder,'outer_',sample,'_0']);
     
     % 45
@@ -46,7 +44,7 @@ end
           reshape(permute(aligned_inner_dg45(:,:,3,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1])];
     no = [(1:size(no,1))',no];
 
-    disp('Write mesh ...')
+    disp('Write mesh inner 45 ...')
     parfeval(@write_mesh,0,no,ele,[save_folder,'inner_',sample,'_45']);
     
     no = [reshape(permute(aligned_outer_dg45(:,:,1,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1]), ...
@@ -54,7 +52,7 @@ end
           reshape(permute(aligned_outer_dg45(:,:,3,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1])];
     no = [(1:size(no,1))',no];
 
-    disp('Write mesh ...')
+    disp('Write mesh outer 45 ...')
     parfeval(@write_mesh,0,no,ele,[save_folder,'outer_',sample,'_45']);
     
     % 90
@@ -63,7 +61,7 @@ end
           reshape(permute(aligned_inner_dg90(:,:,3,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1])];
     no = [(1:size(no,1))',no];
 
-    disp('Write mesh ...')
+    disp('Write mesh inner 90 ...')
     parfeval(@write_mesh,0,no,ele,[save_folder,'inner_',sample,'_90']);
     
     no = [reshape(permute(aligned_outer_dg90(:,:,1,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1]), ...
@@ -71,7 +69,7 @@ end
           reshape(permute(aligned_outer_dg90(:,:,3,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1])];
     no = [(1:size(no,1))',no];
 
-    disp('Write mesh ...')
+    disp('Write mesh outer 90 ...')
     parfeval(@write_mesh,0,no,ele,[save_folder,'outer_',sample,'_90']);
     
     % 180
@@ -80,7 +78,7 @@ end
           reshape(permute(aligned_inner_dg180(:,:,3,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1])];
     no = [(1:size(no,1))',no];
 
-    disp('Write mesh ...')
+    disp('Write mesh inner 180 ...')
     parfeval(@write_mesh,0,no,ele,[save_folder,'inner_',sample,'_180']);
     
     no = [reshape(permute(aligned_outer_dg180(:,:,1,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1]), ...
@@ -88,7 +86,7 @@ end
           reshape(permute(aligned_outer_dg180(:,:,3,:),[2,1,3,4]),[sz0(1)*sz0(2)*sz0(4),1])];
     no = [(1:size(no,1))',no];
 
-    disp('Write mesh ...')
+    disp('Write mesh outer 180 s...')
     parfeval(@write_mesh,0,no,ele,[save_folder,'outer_',sample,'_180']);
     
 %end
\ No newline at end of file
diff --git a/Functions/functions_GraphCut/GraphCutMex.cpp b/Functions/functions_GraphCut/GraphCutMex.cpp
new file mode 100644
index 0000000..0cd28e7
--- /dev/null
+++ b/Functions/functions_GraphCut/GraphCutMex.cpp
@@ -0,0 +1,100 @@
+#include <math.h>
+#include "mex.h"
+#include "graph.h"
+#include <vector>
+
+void
+mexFunction(int nout, mxArray *out[], 
+            int nin, const mxArray *in[])
+{
+    if (nin != 3) 
+        mexErrMsgTxt("Three arguments are required (nNodes,TerminalWeights,EdgeWeights)") ;
+    if (nout > 2) 
+        mexErrMsgTxt("Too many output arguments.");
+  
+
+    int nNodes = (int) *mxGetPr(in[0]);
+    
+
+    const int* twDim = mxGetDimensions(in[1]) ;
+	// mexPrintf("Dim is:  %d\n", twDim[0]);
+	// mexPrintf("Dim is:  %d\n", twDim[1]);
+    int twRows = twDim[0] ;
+    int twCols = twDim[1] ;
+    double* twPt = mxGetPr(in[1]) ;
+    if(twCols!=3)
+        mexErrMsgTxt("The Terminal Weight matix should have 3 columns, (Node,sink,source).");
+
+    
+    const int* ewDim = mxGetDimensions(in[2]) ;
+    int ewRows = ewDim[0] ;
+    int ewCols = ewDim[1] ;
+    double* ewPt = mxGetPr(in[2]) ;
+    if(ewCols!=4)
+        mexErrMsgTxt("The Terminal Weight matix should have 4 columns, (From,To,Capacity,Rev_Capacity).");
+    
+  
+    typedef Graph<double,double,double> GraphType;
+	GraphType G(static_cast<int>(nNodes), static_cast<int>(ewRows+twRows)); 
+    G.add_node(nNodes);  
+  
+    for(int cTw=0;cTw<twRows;cTw++)
+    {
+        //Test for nodes in range
+        int node=(int)twPt[cTw]-1;
+        if(node<0 || node>=nNodes)
+            mexErrMsgTxt("index out of bounds in TerminalWeight Matrix.");
+        G.add_tweights(node,twPt[cTw+twRows],twPt[cTw+2*twRows]);
+		//mexPrintf("The loop for TerminalWeight is:  %d\n", cTw);
+    }
+
+	// mexPrintf("ewRows is:  %d\n", ewRows);
+    // mexEvalString("drawnow");
+
+    for(int cEw=0;cEw<ewRows;cEw++)
+    {
+        //Test for nodes in range
+        int From=(int)ewPt[cEw]-1;
+        int To=(int)ewPt[cEw+ewRows]-1;
+        if(From<0 || From>=nNodes)
+            mexErrMsgTxt("From index out of bounds in Edge Weight Matrix.");
+        if(To<0 || To>=nNodes)
+            mexErrMsgTxt("To index out of bounds in Edge Weight Matrix.");
+
+        G.add_edge(From,To,ewPt[cEw+2*ewRows],ewPt[cEw+3*ewRows]);
+		//mexPrintf("The loop for Edge Weight is:  %d\n", cEw);
+    }
+	
+    double flow=G.maxflow();
+    
+    std::vector<int> SourceCut;
+
+	// mexPrintf("nNodes is:  %d\n", nNodes);
+	// mexEvalString("drawnow");
+
+    for(int cNode=0;cNode<nNodes;cNode++)
+    {
+        if(G.what_segment(cNode)== GraphType::SOURCE)
+            SourceCut.push_back(cNode+1);
+		//mexPrintf("The loop for graph is:  %d\n", cNode);
+    }
+
+
+    out[0] = mxCreateDoubleMatrix(SourceCut.size(), 1, mxREAL) ;
+    double* pOut=mxGetPr(out[0]);
+    std::vector<int>::const_iterator Itt(SourceCut.begin());
+    for(;Itt!=SourceCut.end();++Itt)
+    {
+        *pOut=*Itt;
+        ++pOut;
+		//mexPrintf("The loop for pOut:  %d\n", pOut);
+    }
+
+
+    if(nout==2)
+    {
+        out[1] = mxCreateDoubleMatrix(1, 1, mxREAL) ;
+        *mxGetPr(out[1])=flow;
+    }
+ 
+}
\ No newline at end of file
diff --git a/Functions/functions_GraphCut/GraphCutMex.mexa64 b/Functions/functions_GraphCut/GraphCutMex.mexa64
new file mode 100644
index 0000000000000000000000000000000000000000..a9df40a4455e24c1d68dffa4196f96e4cd9f291e
GIT binary patch
literal 22225
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
J!2x!bAOPym-T(jq

literal 0
HcmV?d00001

diff --git a/Functions/functions_GraphCut/GraphCutMex.mexmaci64 b/Functions/functions_GraphCut/GraphCutMex.mexmaci64
new file mode 100644
index 0000000000000000000000000000000000000000..75cdb2c698cc1256beeb3c1826286d56f9dceda8
GIT binary patch
literal 18052
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
NP{a@qO@|B&3;-V{=2!p#

literal 0
HcmV?d00001

diff --git a/Functions/functions_GraphCut/GraphCutMex.mexw64 b/Functions/functions_GraphCut/GraphCutMex.mexw64
new file mode 100644
index 0000000000000000000000000000000000000000..91d726b3416ff2f451c7efe36a90c2c845a2e55f
GIT binary patch
literal 134144
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

literal 0
HcmV?d00001

diff --git a/Functions/functions_GraphCut/GraphCutMex.mexw64.pdb b/Functions/functions_GraphCut/GraphCutMex.mexw64.pdb
new file mode 100644
index 0000000000000000000000000000000000000000..6fd6cb3465dbb977dc57a697b6e9a9237d3bb484
GIT binary patch
literal 692224
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%0D1KD=-8lCa1dO
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

literal 0
HcmV?d00001

diff --git a/Functions/functions_GraphCut/block.h b/Functions/functions_GraphCut/block.h
new file mode 100644
index 0000000..93675f2
--- /dev/null
+++ b/Functions/functions_GraphCut/block.h
@@ -0,0 +1,268 @@
+/* block.h */
+/*
+	Template classes Block and DBlock
+	Implement adding and deleting items of the same type in blocks.
+
+	If there there are many items then using Block or DBlock
+	is more efficient than using 'new' and 'delete' both in terms
+	of memory and time since
+	(1) On some systems there is some minimum amount of memory
+	    that 'new' can allocate (e.g., 64), so if items are
+	    small that a lot of memory is wasted.
+	(2) 'new' and 'delete' are designed for items of varying size.
+	    If all items has the same size, then an algorithm for
+	    adding and deleting can be made more efficient.
+	(3) All Block and DBlock functions are inline, so there are
+	    no extra function calls.
+
+	Differences between Block and DBlock:
+	(1) DBlock allows both adding and deleting items,
+	    whereas Block allows only adding items.
+	(2) Block has an additional operation of scanning
+	    items added so far (in the order in which they were added).
+	(3) Block allows to allocate several consecutive
+	    items at a time, whereas DBlock can add only a single item.
+
+	Note that no constructors or destructors are called for items.
+
+	Example usage for items of type 'MyType':
+
+	///////////////////////////////////////////////////
+	#include "block.h"
+	#define BLOCK_SIZE 1024
+	typedef struct { int a, b; } MyType;
+	MyType *ptr, *array[10000];
+
+	...
+
+	Block<MyType> *block = new Block<MyType>(BLOCK_SIZE);
+
+	// adding items
+	for (int i=0; i<sizeof(array); i++)
+	{
+		ptr = block -> New();
+		ptr -> a = ptr -> b = rand();
+	}
+
+	// reading items
+	for (ptr=block->ScanFirst(); ptr; ptr=block->ScanNext())
+	{
+		printf("%d %d\n", ptr->a, ptr->b);
+	}
+
+	delete block;
+
+	...
+
+	DBlock<MyType> *dblock = new DBlock<MyType>(BLOCK_SIZE);
+	
+	// adding items
+	for (int i=0; i<sizeof(array); i++)
+	{
+		array[i] = dblock -> New();
+	}
+
+	// deleting items
+	for (int i=0; i<sizeof(array); i+=2)
+	{
+		dblock -> Delete(array[i]);
+	}
+
+	// adding items
+	for (int i=0; i<sizeof(array); i++)
+	{
+		array[i] = dblock -> New();
+	}
+
+	delete dblock;
+
+	///////////////////////////////////////////////////
+
+	Note that DBlock deletes items by marking them as
+	empty (i.e., by adding them to the list of free items),
+	so that this memory could be used for subsequently
+	added items. Thus, at each moment the memory allocated
+	is determined by the maximum number of items allocated
+	simultaneously at earlier moments. All memory is
+	deallocated only when the destructor is called.
+*/
+
+#ifndef __BLOCK_H__
+#define __BLOCK_H__
+
+#include <stdlib.h>
+
+/***********************************************************************/
+/***********************************************************************/
+/***********************************************************************/
+
+template <class Type> class Block
+{
+public:
+	/* Constructor. Arguments are the block size and
+	   (optionally) the pointer to the function which
+	   will be called if allocation failed; the message
+	   passed to this function is "Not enough memory!" */
+	Block(int size, void (*err_function)(char *) = NULL) { first = last = NULL; block_size = size; error_function = err_function; }
+
+	/* Destructor. Deallocates all items added so far */
+	~Block() { while (first) { block *next = first -> next; delete first; first = next; } }
+
+	/* Allocates 'num' consecutive items; returns pointer
+	   to the first item. 'num' cannot be greater than the
+	   block size since items must fit in one block */
+	Type *New(int num = 1)
+	{
+		Type *t;
+
+		if (!last || last->current + num > last->last)
+		{
+			if (last && last->next) last = last -> next;
+			else
+			{
+				block *next = (block *) new char [sizeof(block) + (block_size-1)*sizeof(Type)];
+				if (!next) { if (error_function) (*error_function)("Not enough memory!"); exit(1); }
+				if (last) last -> next = next;
+				else first = next;
+				last = next;
+				last -> current = & ( last -> data[0] );
+				last -> last = last -> current + block_size;
+				last -> next = NULL;
+			}
+		}
+
+		t = last -> current;
+		last -> current += num;
+		return t;
+	}
+
+	/* Returns the first item (or NULL, if no items were added) */
+	Type *ScanFirst()
+	{
+		for (scan_current_block=first; scan_current_block; scan_current_block = scan_current_block->next)
+		{
+			scan_current_data = & ( scan_current_block -> data[0] );
+			if (scan_current_data < scan_current_block -> current) return scan_current_data ++;
+		}
+		return NULL;
+	}
+
+	/* Returns the next item (or NULL, if all items have been read)
+	   Can be called only if previous ScanFirst() or ScanNext()
+	   call returned not NULL. */
+	Type *ScanNext()
+	{
+		while (scan_current_data >= scan_current_block -> current)
+		{
+			scan_current_block = scan_current_block -> next;
+			if (!scan_current_block) return NULL;
+			scan_current_data = & ( scan_current_block -> data[0] );
+		}
+		return scan_current_data ++;
+	}
+
+	/* Marks all elements as empty */
+	void Reset()
+	{
+		block *b;
+		if (!first) return;
+		for (b=first; ; b=b->next)
+		{
+			b -> current = & ( b -> data[0] );
+			if (b == last) break;
+		}
+		last = first;
+	}
+
+/***********************************************************************/
+
+private:
+
+	typedef struct block_st
+	{
+		Type					*current, *last;
+		struct block_st			*next;
+		Type					data[1];
+	} block;
+
+	int		block_size;
+	block	*first;
+	block	*last;
+
+	block	*scan_current_block;
+	Type	*scan_current_data;
+
+	void	(*error_function)(char *);
+};
+
+/***********************************************************************/
+/***********************************************************************/
+/***********************************************************************/
+
+template <class Type> class DBlock
+{
+public:
+	/* Constructor. Arguments are the block size and
+	   (optionally) the pointer to the function which
+	   will be called if allocation failed; the message
+	   passed to this function is "Not enough memory!" */
+	DBlock(int size, void (*err_function)(char *) = NULL) { first = NULL; first_free = NULL; block_size = size; error_function = err_function; }
+
+	/* Destructor. Deallocates all items added so far */
+	~DBlock() { while (first) { block *next = first -> next; delete first; first = next; } }
+
+	/* Allocates one item */
+	Type *New()
+	{
+		block_item *item;
+
+		if (!first_free)
+		{
+			block *next = first;
+			first = (block *) new char [sizeof(block) + (block_size-1)*sizeof(block_item)];
+			if (!first) { if (error_function) (*error_function)("Not enough memory!"); exit(1); }
+			first_free = & (first -> data[0] );
+			for (item=first_free; item<first_free+block_size-1; item++)
+				item -> next_free = item + 1;
+			item -> next_free = NULL;
+			first -> next = next;
+		}
+
+		item = first_free;
+		first_free = item -> next_free;
+		return (Type *) item;
+	}
+
+	/* Deletes an item allocated previously */
+	void Delete(Type *t)
+	{
+		((block_item *) t) -> next_free = first_free;
+		first_free = (block_item *) t;
+	}
+
+/***********************************************************************/
+
+private:
+
+	typedef union block_item_st
+	{
+		Type			t;
+		block_item_st	*next_free;
+	} block_item;
+
+	typedef struct block_st
+	{
+		struct block_st			*next;
+		block_item				data[1];
+	} block;
+
+	int			block_size;
+	block		*first;
+	block_item	*first_free;
+
+	void	(*error_function)(char *);
+};
+
+
+#endif
+
diff --git a/Functions/functions_GraphCut/compile_mex_functions.m b/Functions/functions_GraphCut/compile_mex_functions.m
new file mode 100644
index 0000000..798ba78
--- /dev/null
+++ b/Functions/functions_GraphCut/compile_mex_functions.m
@@ -0,0 +1,7 @@
+% compiling mex functions
+% using libut makes it possible to use (ctrl + C) to stop C++ from inside
+% MATLAB
+
+mex -g -O LIBPATH="C:/Program Files/MATLAB/R2019b/extern/lib/win64/microsoft" -llibut -compatibleArrayDims GraphCutMex.cpp MaxFlow.cpp graph.cpp 
+
+mex -g -O -llibut -compatibleArrayDims GraphCutMex.cpp MaxFlow.cpp graph.cpp 
diff --git a/Functions/functions_GraphCut/graph.cpp b/Functions/functions_GraphCut/graph.cpp
new file mode 100644
index 0000000..19b0be6
--- /dev/null
+++ b/Functions/functions_GraphCut/graph.cpp
@@ -0,0 +1,114 @@
+/* graph.cpp */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "graph.h"
+#include "instances.inc"
+
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	Graph<captype, tcaptype, flowtype>::Graph(int node_num_max, int edge_num_max, void (*err_function)(char *))
+	: node_num(0),
+	  nodeptr_block(NULL),
+	  error_function(err_function)
+{
+	if (node_num_max < 16) node_num_max = 16;
+	if (edge_num_max < 16) edge_num_max = 16;
+
+	nodes = (node*) malloc(node_num_max*sizeof(node));
+	arcs = (arc*) malloc(2*edge_num_max*sizeof(arc));
+	if (!nodes || !arcs) { if (error_function) (*error_function)("Not enough memory!"); exit(1); }
+
+	node_last = nodes;
+	node_max = nodes + node_num_max;
+	arc_last = arcs;
+	arc_max = arcs + 2*edge_num_max;
+
+	maxflow_iteration = 0;
+	flow = 0;
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	Graph<captype,tcaptype,flowtype>::~Graph()
+{
+	if (nodeptr_block) 
+	{ 
+		delete nodeptr_block; 
+		nodeptr_block = NULL; 
+	}
+	free(nodes);
+	free(arcs);
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	void Graph<captype,tcaptype,flowtype>::reset()
+{
+	node_last = nodes;
+	arc_last = arcs;
+	node_num = 0;
+
+	if (nodeptr_block) 
+	{ 
+		delete nodeptr_block; 
+		nodeptr_block = NULL; 
+	}
+
+	maxflow_iteration = 0;
+	flow = 0;
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	void Graph<captype,tcaptype,flowtype>::reallocate_nodes(int num)
+{
+	int node_num_max = (int)(node_max - nodes);
+	node* nodes_old = nodes;
+
+	node_num_max += node_num_max / 2;
+	if (node_num_max < node_num + num) node_num_max = node_num + num;
+	nodes = (node*) realloc(nodes_old, node_num_max*sizeof(node));
+	if (!nodes) { if (error_function) (*error_function)("Not enough memory!"); exit(1); }
+
+	node_last = nodes + node_num;
+	node_max = nodes + node_num_max;
+
+	if (nodes != nodes_old)
+	{
+		arc* a;
+		for (a=arcs; a<arc_last; a++)
+		{
+			a->head = (node*) ((char*)a->head + (((char*) nodes) - ((char*) nodes_old)));
+		}
+	}
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	void Graph<captype,tcaptype,flowtype>::reallocate_arcs()
+{
+	int arc_num_max = (int)(arc_max - arcs);
+	int arc_num = (int)(arc_last - arcs);
+	arc* arcs_old = arcs;
+
+	arc_num_max += arc_num_max / 2; if (arc_num_max & 1) arc_num_max ++;
+	arcs = (arc*) realloc(arcs_old, arc_num_max*sizeof(arc));
+	if (!arcs) { if (error_function) (*error_function)("Not enough memory!"); exit(1); }
+
+	arc_last = arcs + arc_num;
+	arc_max = arcs + arc_num_max;
+
+	if (arcs != arcs_old)
+	{
+		node* i;
+		arc* a;
+		for (i=nodes; i<node_last; i++)
+		{
+			if (i->first) i->first = (arc*) ((char*)i->first + (((char*) arcs) - ((char*) arcs_old)));
+		}
+		for (a=arcs; a<arc_last; a++)
+		{
+			if (a->next) a->next = (arc*) ((char*)a->next + (((char*) arcs) - ((char*) arcs_old)));
+			a->sister = (arc*) ((char*)a->sister + (((char*) arcs) - ((char*) arcs_old)));
+		}
+	}
+}
diff --git a/Functions/functions_GraphCut/graph.h b/Functions/functions_GraphCut/graph.h
new file mode 100644
index 0000000..87efe7e
--- /dev/null
+++ b/Functions/functions_GraphCut/graph.h
@@ -0,0 +1,506 @@
+/* graph.h */
+/*
+	This software library implements the maxflow algorithm
+	described in
+
+		"An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision."
+		Yuri Boykov and Vladimir Kolmogorov.
+		In IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 
+		September 2004
+
+	This algorithm was developed by Yuri Boykov and Vladimir Kolmogorov
+	at Siemens Corporate Research. To make it available for public use,
+	it was later reimplemented by Vladimir Kolmogorov based on open publications.
+
+	If you use this software for research purposes, you should cite
+	the aforementioned paper in any resulting publication.
+
+	----------------------------------------------------------------------
+
+	REUSING TREES:
+
+	Starting with version 3.0, there is a also an option of reusing search
+	trees from one maxflow computation to the next, as described in
+
+		"Efficiently Solving Dynamic Markov Random Fields Using Graph Cuts."
+		Pushmeet Kohli and Philip H.S. Torr
+		International Conference on Computer Vision (ICCV), 2005
+
+	If you use this option, you should cite
+	the aforementioned paper in any resulting publication.
+*/
+	
+
+
+/*
+	For description, license, example usage see README.TXT.
+*/
+
+#ifndef __GRAPH_H__
+#define __GRAPH_H__
+
+#include <string.h>
+#include "block.h"
+
+#include <assert.h>
+// NOTE: in UNIX you need to use -DNDEBUG preprocessor option to supress assert's!!!
+
+
+
+// captype: type of edge capacities (excluding t-links)
+// tcaptype: type of t-links (edges between nodes and terminals)
+// flowtype: type of total flow
+//
+// Current instantiations are in instances.inc
+template <typename captype, typename tcaptype, typename flowtype> class Graph
+{
+public:
+	typedef enum
+	{
+		SOURCE	= 0,
+		SINK	= 1
+	} termtype; // terminals 
+	typedef int node_id;
+
+	/////////////////////////////////////////////////////////////////////////
+	//                     BASIC INTERFACE FUNCTIONS                       //
+    //              (should be enough for most applications)               //
+	/////////////////////////////////////////////////////////////////////////
+
+	// Constructor. 
+	// The first argument gives an estimate of the maximum number of nodes that can be added
+	// to the graph, and the second argument is an estimate of the maximum number of edges.
+	// The last (optional) argument is the pointer to the function which will be called 
+	// if an error occurs; an error message is passed to this function. 
+	// If this argument is omitted, exit(1) will be called.
+	//
+	// IMPORTANT: It is possible to add more nodes to the graph than node_num_max 
+	// (and node_num_max can be zero). However, if the count is exceeded, then 
+	// the internal memory is reallocated (increased by 50%) which is expensive. 
+	// Also, temporarily the amount of allocated memory would be more than twice than needed.
+	// Similarly for edges.
+	// If you wish to avoid this overhead, you can download version 2.2, where nodes and edges are stored in blocks.
+	Graph(int node_num_max, int edge_num_max, void (*err_function)(char *) = NULL);
+
+	// Destructor
+	~Graph();
+
+	// Adds node(s) to the graph. By default, one node is added (num=1); then first call returns 0, second call returns 1, and so on. 
+	// If num>1, then several nodes are added, and node_id of the first one is returned.
+	// IMPORTANT: see note about the constructor 
+	node_id add_node(int num = 1);
+
+	// Adds a bidirectional edge between 'i' and 'j' with the weights 'cap' and 'rev_cap'.
+	// IMPORTANT: see note about the constructor 
+	void add_edge(node_id i, node_id j, captype cap, captype rev_cap);
+
+	// Adds new edges 'SOURCE->i' and 'i->SINK' with corresponding weights.
+	// Can be called multiple times for each node.
+	// Weights can be negative.
+	// NOTE: the number of such edges is not counted in edge_num_max.
+	//       No internal memory is allocated by this call.
+	void add_tweights(node_id i, tcaptype cap_source, tcaptype cap_sink);
+
+
+	// Computes the maxflow. Can be called several times.
+	// FOR DESCRIPTION OF reuse_trees, SEE mark_node().
+	// FOR DESCRIPTION OF changed_list, SEE remove_from_changed_list().
+	flowtype maxflow(bool reuse_trees = false, Block<node_id>* changed_list = NULL);
+
+	// After the maxflow is computed, this function returns to which
+	// segment the node 'i' belongs (Graph<captype,tcaptype,flowtype>::SOURCE or Graph<captype,tcaptype,flowtype>::SINK).
+	//
+	// Occasionally there may be several minimum cuts. If a node can be assigned
+	// to both the source and the sink, then default_segm is returned.
+	termtype what_segment(node_id i, termtype default_segm = SOURCE);
+
+
+
+	//////////////////////////////////////////////
+	//       ADVANCED INTERFACE FUNCTIONS       //
+	//      (provide access to the graph)       //
+	//////////////////////////////////////////////
+
+private:
+	struct node;
+	struct arc;
+
+public:
+
+	////////////////////////////
+	// 1. Reallocating graph. //
+	////////////////////////////
+
+	// Removes all nodes and edges. 
+	// After that functions add_node() and add_edge() must be called again. 
+	//
+	// Advantage compared to deleting Graph and allocating it again:
+	// no calls to delete/new (which could be quite slow).
+	//
+	// If the graph structure stays the same, then an alternative
+	// is to go through all nodes/edges and set new residual capacities
+	// (see functions below).
+	void reset();
+
+	////////////////////////////////////////////////////////////////////////////////
+	// 2. Functions for getting pointers to arcs and for reading graph structure. //
+	//    NOTE: adding new arcs may invalidate these pointers (if reallocation    //
+	//    happens). So it's best not to add arcs while reading graph structure.   //
+	////////////////////////////////////////////////////////////////////////////////
+
+	// The following two functions return arcs in the same order that they
+	// were added to the graph. NOTE: for each call add_edge(i,j,cap,cap_rev)
+	// the first arc returned will be i->j, and the second j->i.
+	// If there are no more arcs, then the function can still be called, but
+	// the returned arc_id is undetermined.
+	typedef arc* arc_id;
+	arc_id get_first_arc();
+	arc_id get_next_arc(arc_id a);
+
+	// other functions for reading graph structure
+	int get_node_num() { return node_num; }
+	int get_arc_num() { return (int)(arc_last - arcs); }
+	void get_arc_ends(arc_id a, node_id& i, node_id& j); // returns i,j to that a = i->j
+
+	///////////////////////////////////////////////////
+	// 3. Functions for reading residual capacities. //
+	///////////////////////////////////////////////////
+
+	// returns residual capacity of SOURCE->i minus residual capacity of i->SINK
+	tcaptype get_trcap(node_id i); 
+	// returns residual capacity of arc a
+	captype get_rcap(arc* a);
+
+	/////////////////////////////////////////////////////////////////
+	// 4. Functions for setting residual capacities.               //
+	//    NOTE: If these functions are used, the value of the flow //
+	//    returned by maxflow() will not be valid!                 //
+	/////////////////////////////////////////////////////////////////
+
+	void set_trcap(node_id i, tcaptype trcap); 
+	void set_rcap(arc* a, captype rcap);
+
+	////////////////////////////////////////////////////////////////////
+	// 5. Functions related to reusing trees & list of changed nodes. //
+	////////////////////////////////////////////////////////////////////
+
+	// If flag reuse_trees is true while calling maxflow(), then search trees
+	// are reused from previous maxflow computation. 
+	// In this case before calling maxflow() the user must
+	// specify which parts of the graph have changed by calling mark_node():
+	//   add_tweights(i),set_trcap(i)    => call mark_node(i)
+	//   add_edge(i,j),set_rcap(a)       => call mark_node(i); mark_node(j)
+	//
+	// This option makes sense only if a small part of the graph is changed.
+	// The initialization procedure goes only through marked nodes then.
+	// 
+	// mark_node(i) can either be called before or after graph modification.
+	// Can be called more than once per node, but calls after the first one
+	// do not have any effect.
+	// 
+	// NOTE: 
+	//   - This option cannot be used in the first call to maxflow().
+	//   - It is not necessary to call mark_node() if the change is ``not essential'',
+	//     i.e. sign(trcap) is preserved for a node and zero/nonzero status is preserved for an arc.
+	//   - To check that you marked all necessary nodes, you can call maxflow(false) after calling maxflow(true).
+	//     If everything is correct, the two calls must return the same value of flow. (Useful for debugging).
+	void mark_node(node_id i);
+
+	// If changed_list is not NULL while calling maxflow(), then the algorithm
+	// keeps a list of nodes which could potentially have changed their segmentation label.
+	// Nodes which are not in the list are guaranteed to keep their old segmentation label (SOURCE or SINK).
+	// Example usage:
+	//
+	//		typedef Graph<int,int,int> G;
+	//		G* g = new Graph(nodeNum, edgeNum);
+	//		Block<G::node_id>* changed_list = new Block<G::node_id>(128);
+	//
+	//		... // add nodes and edges
+	//
+	//		g->maxflow(); // first call should be without arguments
+	//		for (int iter=0; iter<10; iter++)
+	//		{
+	//			... // change graph, call mark_node() accordingly
+	//
+	//			g->maxflow(true, changed_list);
+	//			G::node_id* ptr;
+	//			for (ptr=changed_list->ScanFirst(); ptr; ptr=changed_list->ScanNext())
+	//			{
+	//				G::node_id i = *ptr; assert(i>=0 && i<nodeNum);
+	//				g->remove_from_changed_list(i);
+	//				// do something with node i...
+	//				if (g->what_segment(i) == G::SOURCE) { ... }
+	//			}
+	//			changed_list->Reset();
+	//		}
+	//		delete changed_list;
+	//		
+	// NOTE:
+	//  - If changed_list option is used, then reuse_trees must be used as well.
+	//  - In the example above, the user may omit calls g->remove_from_changed_list(i) and changed_list->Reset() in a given iteration.
+	//    Then during the next call to maxflow(true, &changed_list) new nodes will be added to changed_list.
+	//  - If the next call to maxflow() does not use option reuse_trees, then calling remove_from_changed_list()
+	//    is not necessary. ("changed_list->Reset()" or "delete changed_list" should still be called, though).
+	void remove_from_changed_list(node_id i) 
+	{ 
+		assert(i>=0 && i<node_num && nodes[i].is_in_changed_list); 
+		nodes[i].is_in_changed_list = 0;
+	}
+
+
+
+
+
+
+/////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////
+	
+private:
+	// internal variables and functions
+
+	struct node
+	{
+		arc			*first;		// first outcoming arc
+
+		arc			*parent;	// node's parent
+		node		*next;		// pointer to the next active node
+								//   (or to itself if it is the last node in the list)
+		int			TS;			// timestamp showing when DIST was computed
+		int			DIST;		// distance to the terminal
+		int			is_sink : 1;	// flag showing whether the node is in the source or in the sink tree (if parent!=NULL)
+		int			is_marked : 1;	// set by mark_node()
+		int			is_in_changed_list : 1; // set by maxflow if 
+
+		tcaptype	tr_cap;		// if tr_cap > 0 then tr_cap is residual capacity of the arc SOURCE->node
+								// otherwise         -tr_cap is residual capacity of the arc node->SINK 
+
+	};
+
+	struct arc
+	{
+		node		*head;		// node the arc points to
+		arc			*next;		// next arc with the same originating node
+		arc			*sister;	// reverse arc
+
+		captype		r_cap;		// residual capacity
+	};
+
+	struct nodeptr
+	{
+		node    	*ptr;
+		nodeptr		*next;
+	};
+	static const int NODEPTR_BLOCK_SIZE = 128;
+
+	node				*nodes, *node_last, *node_max; // node_last = nodes+node_num, node_max = nodes+node_num_max;
+	arc					*arcs, *arc_last, *arc_max; // arc_last = arcs+2*edge_num, arc_max = arcs+2*edge_num_max;
+
+	int					node_num;
+
+	DBlock<nodeptr>		*nodeptr_block;
+
+	void	(*error_function)(char *);	// this function is called if a error occurs,
+										// with a corresponding error message
+										// (or exit(1) is called if it's NULL)
+
+	flowtype			flow;		// total flow
+
+	// reusing trees & list of changed pixels
+	int					maxflow_iteration; // counter
+	Block<node_id>		*changed_list;
+
+	/////////////////////////////////////////////////////////////////////////
+
+	node				*queue_first[2], *queue_last[2];	// list of active nodes
+	nodeptr				*orphan_first, *orphan_last;		// list of pointers to orphans
+	int					TIME;								// monotonically increasing global counter
+
+	/////////////////////////////////////////////////////////////////////////
+
+	void reallocate_nodes(int num); // num is the number of new nodes
+	void reallocate_arcs();
+
+	// functions for processing active list
+	void set_active(node *i);
+	node *next_active();
+
+	// functions for processing orphans list
+	void set_orphan_front(node* i); // add to the beginning of the list
+	void set_orphan_rear(node* i);  // add to the end of the list
+
+	void add_to_changed_list(node* i);
+
+	void maxflow_init();             // called if reuse_trees == false
+	void maxflow_reuse_trees_init(); // called if reuse_trees == true
+	void augment(arc *middle_arc);
+	void process_source_orphan(node *i);
+	void process_sink_orphan(node *i);
+
+	void test_consistency(node* current_node=NULL); // debug function
+};
+
+
+
+
+
+
+
+
+
+
+
+///////////////////////////////////////
+// Implementation - inline functions //
+///////////////////////////////////////
+
+
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline typename Graph<captype,tcaptype,flowtype>::node_id Graph<captype,tcaptype,flowtype>::add_node(int num)
+{
+	assert(num > 0);
+
+	if (node_last + num > node_max) reallocate_nodes(num);
+
+	if (num == 1)
+	{
+		node_last -> first = NULL;
+		node_last -> tr_cap = 0;
+		node_last -> is_marked = 0;
+		node_last -> is_in_changed_list = 0;
+
+		node_last ++;
+		return node_num ++;
+	}
+	else
+	{
+		memset(node_last, 0, num*sizeof(node));
+
+		node_id i = node_num;
+		node_num += num;
+		node_last += num;
+		return i;
+	}
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline void Graph<captype,tcaptype,flowtype>::add_tweights(node_id i, tcaptype cap_source, tcaptype cap_sink)
+{
+	assert(i >= 0 && i < node_num);
+
+	tcaptype delta = nodes[i].tr_cap;
+	if (delta > 0) cap_source += delta;
+	else           cap_sink   -= delta;
+	flow += (cap_source < cap_sink) ? cap_source : cap_sink;
+	nodes[i].tr_cap = cap_source - cap_sink;
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline void Graph<captype,tcaptype,flowtype>::add_edge(node_id _i, node_id _j, captype cap, captype rev_cap)
+{
+	assert(_i >= 0 && _i < node_num);
+	assert(_j >= 0 && _j < node_num);
+	assert(_i != _j);
+	assert(cap >= 0);
+	assert(rev_cap >= 0);
+
+	if (arc_last == arc_max) reallocate_arcs();
+
+	arc *a = arc_last ++;
+	arc *a_rev = arc_last ++;
+
+	node* i = nodes + _i;
+	node* j = nodes + _j;
+
+	a -> sister = a_rev;
+	a_rev -> sister = a;
+	a -> next = i -> first;
+	i -> first = a;
+	a_rev -> next = j -> first;
+	j -> first = a_rev;
+	a -> head = j;
+	a_rev -> head = i;
+	a -> r_cap = cap;
+	a_rev -> r_cap = rev_cap;
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline typename Graph<captype,tcaptype,flowtype>::arc* Graph<captype,tcaptype,flowtype>::get_first_arc()
+{
+	return arcs;
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline typename Graph<captype,tcaptype,flowtype>::arc* Graph<captype,tcaptype,flowtype>::get_next_arc(arc* a) 
+{
+	return a + 1; 
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline void Graph<captype,tcaptype,flowtype>::get_arc_ends(arc* a, node_id& i, node_id& j)
+{
+	assert(a >= arcs && a < arc_last);
+	i = (node_id) (a->sister->head - nodes);
+	j = (node_id) (a->head - nodes);
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline tcaptype Graph<captype,tcaptype,flowtype>::get_trcap(node_id i)
+{
+	assert(i>=0 && i<node_num);
+	return nodes[i].tr_cap;
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline captype Graph<captype,tcaptype,flowtype>::get_rcap(arc* a)
+{
+	assert(a >= arcs && a < arc_last);
+	return a->r_cap;
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline void Graph<captype,tcaptype,flowtype>::set_trcap(node_id i, tcaptype trcap)
+{
+	assert(i>=0 && i<node_num); 
+	nodes[i].tr_cap = trcap;
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline void Graph<captype,tcaptype,flowtype>::set_rcap(arc* a, captype rcap)
+{
+	assert(a >= arcs && a < arc_last);
+	a->r_cap = rcap;
+}
+
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline typename Graph<captype,tcaptype,flowtype>::termtype Graph<captype,tcaptype,flowtype>::what_segment(node_id i, termtype default_segm)
+{
+	if (nodes[i].parent)
+	{
+		return (nodes[i].is_sink) ? SINK : SOURCE;
+	}
+	else
+	{
+		return default_segm;
+	}
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline void Graph<captype,tcaptype,flowtype>::mark_node(node_id _i)
+{
+	node* i = nodes + _i;
+	if (!i->next)
+	{
+		/* it's not in the list yet */
+		if (queue_last[1]) queue_last[1] -> next = i;
+		else               queue_first[1]        = i;
+		queue_last[1] = i;
+		i -> next = i;
+	}
+	i->is_marked = 1;
+}
+
+
+#endif
diff --git a/Functions/functions_GraphCut/instances.inc b/Functions/functions_GraphCut/instances.inc
new file mode 100644
index 0000000..9c9ee37
--- /dev/null
+++ b/Functions/functions_GraphCut/instances.inc
@@ -0,0 +1,16 @@
+#include "graph.h"
+
+#ifdef _MSC_VER
+#pragma warning(disable: 4661)
+#endif
+
+// Instantiations: <captype, tcaptype, flowtype>
+// IMPORTANT: 
+//    flowtype should be 'larger' than tcaptype 
+//    tcaptype should be 'larger' than captype
+
+template class Graph<int,int,int>;
+template class Graph<short,int,int>;
+template class Graph<float,float,float>;
+template class Graph<double,double,double>;
+
diff --git a/Functions/functions_GraphCut/maxflow.cpp b/Functions/functions_GraphCut/maxflow.cpp
new file mode 100644
index 0000000..38b5dcc
--- /dev/null
+++ b/Functions/functions_GraphCut/maxflow.cpp
@@ -0,0 +1,702 @@
+/* maxflow.cpp */
+
+
+#include <stdio.h>
+#include "graph.h"
+#include "instances.inc"
+#include "mex.h"
+
+
+/*
+	special constants for node->parent
+*/
+#define TERMINAL ( (arc *) 1 )		/* to terminal */
+#define ORPHAN   ( (arc *) 2 )		/* orphan */
+
+
+#define INFINITE_D ((int)(((unsigned)-1)/2))		/* infinite distance to the terminal */
+#ifdef __cplusplus /*function for stopping from MATLAB*/
+extern "C" bool utIsInterruptPending();
+#else
+extern bool utIsInterruptPending();
+#endif
+
+/***********************************************************************/
+
+/*
+	Functions for processing active list.
+	i->next points to the next node in the list
+	(or to i, if i is the last node in the list).
+	If i->next is NULL iff i is not in the list.
+
+	There are two queues. Active nodes are added
+	to the end of the second queue and read from
+	the front of the first queue. If the first queue
+	is empty, it is replaced by the second queue
+	(and the second queue becomes empty).
+*/
+
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline void Graph<captype,tcaptype,flowtype>::set_active(node *i)
+{
+	if (!i->next)
+	{
+		/* it's not in the list yet */
+		if (queue_last[1]) queue_last[1] -> next = i;
+		else               queue_first[1]        = i;
+		queue_last[1] = i;
+		i -> next = i;
+	}
+}
+
+/*
+	Returns the next active node.
+	If it is connected to the sink, it stays in the list,
+	otherwise it is removed from the list
+*/
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline typename Graph<captype,tcaptype,flowtype>::node* Graph<captype,tcaptype,flowtype>::next_active()
+{
+	node *i;
+
+	while ( 1 )
+	{
+		if (!(i=queue_first[0]))
+		{
+			queue_first[0] = i = queue_first[1];
+			queue_last[0]  = queue_last[1];
+			queue_first[1] = NULL;
+			queue_last[1]  = NULL;
+			if (!i) return NULL;
+		}
+
+		/* remove it from the active list */
+		if (i->next == i) queue_first[0] = queue_last[0] = NULL;
+		else              queue_first[0] = i -> next;
+		i -> next = NULL;
+
+		/* a node in the list is active iff it has a parent */
+		if (i->parent) return i;
+	}
+}
+
+/***********************************************************************/
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline void Graph<captype,tcaptype,flowtype>::set_orphan_front(node *i)
+{
+	nodeptr *np;
+	i -> parent = ORPHAN;
+	np = nodeptr_block -> New();
+	np -> ptr = i;
+	np -> next = orphan_first;
+	orphan_first = np;
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline void Graph<captype,tcaptype,flowtype>::set_orphan_rear(node *i)
+{
+	nodeptr *np;
+	i -> parent = ORPHAN;
+	np = nodeptr_block -> New();
+	np -> ptr = i;
+	if (orphan_last) orphan_last -> next = np;
+	else             orphan_first        = np;
+	orphan_last = np;
+	np -> next = NULL;
+}
+
+/***********************************************************************/
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	inline void Graph<captype,tcaptype,flowtype>::add_to_changed_list(node *i)
+{
+	if (changed_list && !i->is_in_changed_list)
+	{
+		node_id* ptr = changed_list->New();
+		*ptr = (node_id)(i - nodes);
+		i->is_in_changed_list = true;
+	}
+}
+
+/***********************************************************************/
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	void Graph<captype,tcaptype,flowtype>::maxflow_init()
+{
+	node *i;
+
+	queue_first[0] = queue_last[0] = NULL;
+	queue_first[1] = queue_last[1] = NULL;
+	orphan_first = NULL;
+
+	TIME = 0;
+
+	for (i=nodes; i<node_last; i++)
+	{
+		i -> next = NULL;
+		i -> is_marked = 0;
+		i -> is_in_changed_list = 0;
+		i -> TS = TIME;
+		if (i->tr_cap > 0)
+		{
+			/* i is connected to the source */
+			i -> is_sink = 0;
+			i -> parent = TERMINAL;
+			set_active(i);
+			i -> DIST = 1;
+		}
+		else if (i->tr_cap < 0)
+		{
+			/* i is connected to the sink */
+			i -> is_sink = 1;
+			i -> parent = TERMINAL;
+			set_active(i);
+			i -> DIST = 1;
+		}
+		else
+		{
+			i -> parent = NULL;
+		}
+	}
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	void Graph<captype,tcaptype,flowtype>::maxflow_reuse_trees_init()
+{
+	node* i;
+	node* j;
+	node* queue = queue_first[1];
+	arc* a;
+	nodeptr* np;
+
+	queue_first[0] = queue_last[0] = NULL;
+	queue_first[1] = queue_last[1] = NULL;
+	orphan_first = orphan_last = NULL;
+
+	TIME ++;
+
+	while ((i=queue))
+	{
+		queue = i->next;
+		if (queue == i) queue = NULL;
+		i->next = NULL;
+		i->is_marked = 0;
+		set_active(i);
+
+		if (i->tr_cap == 0)
+		{
+			if (i->parent) set_orphan_rear(i);
+			continue;
+		}
+
+		if (i->tr_cap > 0)
+		{
+			if (!i->parent || i->is_sink)
+			{
+				i->is_sink = 0;
+				for (a=i->first; a; a=a->next)
+				{
+					j = a->head;
+					if (!j->is_marked)
+					{
+						if (j->parent == a->sister) set_orphan_rear(j);
+						if (j->parent && j->is_sink && a->r_cap > 0) set_active(j);
+					}
+				}
+				add_to_changed_list(i);
+			}
+		}
+		else
+		{
+			if (!i->parent || !i->is_sink)
+			{
+				i->is_sink = 1;
+				for (a=i->first; a; a=a->next)
+				{
+					j = a->head;
+					if (!j->is_marked)
+					{
+						if (j->parent == a->sister) set_orphan_rear(j);
+						if (j->parent && !j->is_sink && a->sister->r_cap > 0) set_active(j);
+					}
+				}
+				add_to_changed_list(i);
+			}
+		}
+		i->parent = TERMINAL;
+		i -> TS = TIME;
+		i -> DIST = 1;
+	}
+
+	//test_consistency();
+
+	/* adoption */
+	while ((np=orphan_first))
+	{
+		orphan_first = np -> next;
+		i = np -> ptr;
+		nodeptr_block -> Delete(np);
+		if (!orphan_first) orphan_last = NULL;
+		if (i->is_sink) process_sink_orphan(i);
+		else            process_source_orphan(i);
+	}
+	/* adoption end */
+
+	//test_consistency();
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	void Graph<captype,tcaptype,flowtype>::augment(arc *middle_arc)
+{
+	node *i;
+	arc *a;
+	tcaptype bottleneck;
+
+
+	/* 1. Finding bottleneck capacity */
+	/* 1a - the source tree */
+	bottleneck = middle_arc -> r_cap;
+	for (i=middle_arc->sister->head; ; i=a->head)
+	{
+		a = i -> parent;
+		if (a == TERMINAL) break;
+		if (bottleneck > a->sister->r_cap) bottleneck = a -> sister -> r_cap;
+	}
+	if (bottleneck > i->tr_cap) bottleneck = i -> tr_cap;
+	/* 1b - the sink tree */
+	for (i=middle_arc->head; ; i=a->head)
+	{
+		a = i -> parent;
+		if (a == TERMINAL) break;
+		if (bottleneck > a->r_cap) bottleneck = a -> r_cap;
+	}
+	if (bottleneck > - i->tr_cap) bottleneck = - i -> tr_cap;
+
+
+	/* 2. Augmenting */
+	/* 2a - the source tree */
+	middle_arc -> sister -> r_cap += bottleneck;
+	middle_arc -> r_cap -= bottleneck;
+	for (i=middle_arc->sister->head; ; i=a->head)
+	{
+		a = i -> parent;
+		if (a == TERMINAL) break;
+		a -> r_cap += bottleneck;
+		a -> sister -> r_cap -= bottleneck;
+		if (!a->sister->r_cap)
+		{
+			set_orphan_front(i); // add i to the beginning of the adoption list
+		}
+	}
+	i -> tr_cap -= bottleneck;
+	if (!i->tr_cap)
+	{
+		set_orphan_front(i); // add i to the beginning of the adoption list
+	}
+	/* 2b - the sink tree */
+	for (i=middle_arc->head; ; i=a->head)
+	{
+		a = i -> parent;
+		if (a == TERMINAL) break;
+		a -> sister -> r_cap += bottleneck;
+		a -> r_cap -= bottleneck;
+		if (!a->r_cap)
+		{
+			set_orphan_front(i); // add i to the beginning of the adoption list
+		}
+	}
+	i -> tr_cap += bottleneck;
+	if (!i->tr_cap)
+	{
+		set_orphan_front(i); // add i to the beginning of the adoption list
+	}
+
+
+	flow += bottleneck;
+}
+
+/***********************************************************************/
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	void Graph<captype,tcaptype,flowtype>::process_source_orphan(node *i)
+{
+	node *j;
+	arc *a0, *a0_min = NULL, *a;
+	int d, d_min = INFINITE_D;
+
+	/* trying to find a new parent */
+	for (a0=i->first; a0; a0=a0->next)
+	if (a0->sister->r_cap)
+	{
+		j = a0 -> head;
+		if (!j->is_sink && (a=j->parent))
+		{
+			/* checking the origin of j */
+			d = 0;
+			while ( 1 )
+			{
+				if (j->TS == TIME)
+				{
+					d += j -> DIST;
+					break;
+				}
+				a = j -> parent;
+				d ++;
+				if (a==TERMINAL)
+				{
+					j -> TS = TIME;
+					j -> DIST = 1;
+					break;
+				}
+				if (a==ORPHAN) { d = INFINITE_D; break; }
+				j = a -> head;
+			}
+			if (d<INFINITE_D) /* j originates from the source - done */
+			{
+				if (d<d_min)
+				{
+					a0_min = a0;
+					d_min = d;
+				}
+				/* set marks along the path */
+				for (j=a0->head; j->TS!=TIME; j=j->parent->head)
+				{
+					j -> TS = TIME;
+					j -> DIST = d --;
+				}
+			}
+		}
+	}
+
+	if (i->parent = a0_min)
+	{
+		i -> TS = TIME;
+		i -> DIST = d_min + 1;
+	}
+	else
+	{
+		/* no parent is found */
+		add_to_changed_list(i);
+
+		/* process neighbors */
+		for (a0=i->first; a0; a0=a0->next)
+		{
+			j = a0 -> head;
+			if (!j->is_sink && (a=j->parent))
+			{
+				if (a0->sister->r_cap) set_active(j);
+				if (a!=TERMINAL && a!=ORPHAN && a->head==i)
+				{
+					set_orphan_rear(j); // add j to the end of the adoption list
+				}
+			}
+		}
+	}
+}
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	void Graph<captype,tcaptype,flowtype>::process_sink_orphan(node *i)
+{
+	node *j;
+	arc *a0, *a0_min = NULL, *a;
+	int d, d_min = INFINITE_D;
+
+	/* trying to find a new parent */
+	for (a0=i->first; a0; a0=a0->next)
+	if (a0->r_cap)
+	{
+		j = a0 -> head;
+		if (j->is_sink && (a=j->parent))
+		{
+			/* checking the origin of j */
+			d = 0;
+			while ( 1 )
+			{
+				if (j->TS == TIME)
+				{
+					d += j -> DIST;
+					break;
+				}
+				a = j -> parent;
+				d ++;
+				if (a==TERMINAL)
+				{
+					j -> TS = TIME;
+					j -> DIST = 1;
+					break;
+				}
+				if (a==ORPHAN) { d = INFINITE_D; break; }
+				j = a -> head;
+			}
+			if (d<INFINITE_D) /* j originates from the sink - done */
+			{
+				if (d<d_min)
+				{
+					a0_min = a0;
+					d_min = d;
+				}
+				/* set marks along the path */
+				for (j=a0->head; j->TS!=TIME; j=j->parent->head)
+				{
+					j -> TS = TIME;
+					j -> DIST = d --;
+				}
+			}
+		}
+	}
+
+	if (i->parent = a0_min)
+	{
+		i -> TS = TIME;
+		i -> DIST = d_min + 1;
+	}
+	else
+	{
+		/* no parent is found */
+		add_to_changed_list(i);
+
+		/* process neighbors */
+		for (a0=i->first; a0; a0=a0->next)
+		{
+			j = a0 -> head;
+			if (j->is_sink && (a=j->parent))
+			{
+				if (a0->r_cap) set_active(j);
+				if (a!=TERMINAL && a!=ORPHAN && a->head==i)
+				{
+					set_orphan_rear(j); // add j to the end of the adoption list
+				}
+			}
+		}
+	}
+}
+
+/***********************************************************************/
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	flowtype Graph<captype,tcaptype,flowtype>::maxflow(bool reuse_trees, Block<node_id>* _changed_list)
+{
+	node *i, *j, *current_node = NULL;
+	arc *a;
+	nodeptr *np, *np_next;
+
+	if (!nodeptr_block)
+	{
+		nodeptr_block = new DBlock<nodeptr>(NODEPTR_BLOCK_SIZE, error_function);
+	}
+
+	changed_list = _changed_list;
+	if (maxflow_iteration == 0 && reuse_trees) { if (error_function) (*error_function)("reuse_trees cannot be used in the first call to maxflow()!"); exit(1); }
+	if (changed_list && !reuse_trees) { if (error_function) (*error_function)("changed_list cannot be used without reuse_trees!"); exit(1); }
+
+	if (reuse_trees) maxflow_reuse_trees_init();
+	else             maxflow_init();
+
+	// main loop
+	while ( 1 )
+	{	
+		if (utIsInterruptPending()) {        /* check for a Ctrl-C event */
+			mexPrintf("Ctrl-C Detected. END\n\n");
+			mexEvalString("drawnow");
+			return -1;
+		}
+		// mexEvalString("drawnow");
+		// test_consistency(current_node);
+
+		if ((i=current_node))
+		{
+			i -> next = NULL; /* remove active flag */
+			if (!i->parent) i = NULL;
+		}
+		if (!i)
+		{
+			if (!(i = next_active())) break;
+		}
+
+		/* growth */
+		if (!i->is_sink)
+		{
+			/* grow source tree */
+			for (a=i->first; a; a=a->next)
+			if (a->r_cap)
+			{
+				j = a -> head;
+				if (!j->parent)
+				{
+					j -> is_sink = 0;
+					j -> parent = a -> sister;
+					j -> TS = i -> TS;
+					j -> DIST = i -> DIST + 1;
+					set_active(j);
+					add_to_changed_list(j);
+				}
+				else if (j->is_sink) break;
+				else if (j->TS <= i->TS &&
+				         j->DIST > i->DIST)
+				{
+					/* heuristic - trying to make the distance from j to the source shorter */
+					j -> parent = a -> sister;
+					j -> TS = i -> TS;
+					j -> DIST = i -> DIST + 1;
+				}
+			}
+		}
+		else
+		{
+			/* grow sink tree */
+			for (a=i->first; a; a=a->next)
+			if (a->sister->r_cap)
+			{
+				j = a -> head;
+				if (!j->parent)
+				{
+					j -> is_sink = 1;
+					j -> parent = a -> sister;
+					j -> TS = i -> TS;
+					j -> DIST = i -> DIST + 1;
+					set_active(j);
+					add_to_changed_list(j);
+				}
+				else if (!j->is_sink) { a = a -> sister; break; }
+				else if (j->TS <= i->TS &&
+				         j->DIST > i->DIST)
+				{
+					/* heuristic - trying to make the distance from j to the sink shorter */
+					j -> parent = a -> sister;
+					j -> TS = i -> TS;
+					j -> DIST = i -> DIST + 1;
+				}
+			}
+		}
+
+		TIME ++;
+
+		if (a)
+		{
+			i -> next = i; /* set active flag */
+			current_node = i;
+
+			/* augmentation */
+			augment(a);
+			/* augmentation end */
+
+			/* adoption */
+			while ((np=orphan_first))
+			{
+				np_next = np -> next;
+				np -> next = NULL;
+
+				while ((np=orphan_first))
+				{
+					orphan_first = np -> next;
+					i = np -> ptr;
+					nodeptr_block -> Delete(np);
+					if (!orphan_first) orphan_last = NULL;
+					if (i->is_sink) process_sink_orphan(i);
+					else            process_source_orphan(i);
+				}
+
+				orphan_first = np_next;
+			}
+			/* adoption end */
+		}
+		else current_node = NULL;
+	}
+	// test_consistency();
+
+	if (!reuse_trees || (maxflow_iteration % 64) == 0)
+	{
+		delete nodeptr_block; 
+		nodeptr_block = NULL; 
+	}
+
+	maxflow_iteration ++;
+	return flow;
+}
+
+/***********************************************************************/
+
+
+template <typename captype, typename tcaptype, typename flowtype> 
+	void Graph<captype,tcaptype,flowtype>::test_consistency(node* current_node)
+{
+	node *i;
+	arc *a;
+	int r;
+	int num1 = 0, num2 = 0;
+
+	// test whether all nodes i with i->next!=NULL are indeed in the queue
+	for (i=nodes; i<node_last; i++)
+	{
+		if (i->next || i==current_node) num1 ++;
+	}
+	for (r=0; r<3; r++)
+	{
+		i = (r == 2) ? current_node : queue_first[r];
+		if (i)
+		for ( ; ; i=i->next)
+		{
+			num2 ++;
+			if (i->next == i)
+			{
+				if (r<2) assert(i == queue_last[r]);
+				else     assert(i == current_node);
+				break;
+			}
+		}
+	}
+	assert(num1 == num2);
+
+	for (i=nodes; i<node_last; i++)
+	{
+		// test whether all edges in seach trees are non-saturated
+		if (i->parent == NULL) {}
+		else if (i->parent == ORPHAN) {}
+		else if (i->parent == TERMINAL)
+		{
+			if (!i->is_sink) assert(i->tr_cap > 0);
+			else             assert(i->tr_cap < 0);
+		}
+		else
+		{
+			if (!i->is_sink) assert (i->parent->sister->r_cap > 0);
+			else             assert (i->parent->r_cap > 0);
+		}
+		// test whether passive nodes in search trees have neighbors in
+		// a different tree through non-saturated edges
+		if (i->parent && !i->next)
+		{
+			if (!i->is_sink)
+			{
+				assert(i->tr_cap >= 0);
+				for (a=i->first; a; a=a->next)
+				{
+					if (a->r_cap > 0) assert(a->head->parent && !a->head->is_sink);
+				}
+			}
+			else
+			{
+				assert(i->tr_cap <= 0);
+				for (a=i->first; a; a=a->next)
+				{
+					if (a->sister->r_cap > 0) assert(a->head->parent && a->head->is_sink);
+				}
+			}
+		}
+		// test marking invariants
+		if (i->parent && i->parent!=ORPHAN && i->parent!=TERMINAL)
+		{
+			assert(i->TS <= i->parent->head->TS);
+			if (i->TS == i->parent->head->TS) assert(i->DIST > i->parent->head->DIST);
+		}
+	}
+}
+
+
+	void Inst()
+	{
+		Graph<int,int,int> G(1,1);
+		G.maxflow();
+	}
\ No newline at end of file
diff --git a/Functions/functions_auxiliary/click_points.m b/Functions/functions_auxiliary/click_points.m
new file mode 100644
index 0000000..8e10f20
--- /dev/null
+++ b/Functions/functions_auxiliary/click_points.m
@@ -0,0 +1,13 @@
+function [xp,yp] = click_points
+
+hold on
+[x,y,button] = ginputWhite(1);
+xp = [];
+yp = [];
+while button==1
+    xp = [xp,x];
+    yp = [yp,y];
+    plot(x,y,'co')
+    [x,y,button] = ginputWhite(1);    
+end
+end
\ No newline at end of file
diff --git a/Functions/functions_auxiliary/compute_normals.m b/Functions/functions_auxiliary/compute_normals.m
new file mode 100644
index 0000000..741500e
--- /dev/null
+++ b/Functions/functions_auxiliary/compute_normals.m
@@ -0,0 +1,23 @@
+function N = compute_normals(S,open)
+% normals for a closed (or open!) curve
+
+if nargin<2
+    open = false;
+end
+
+X = S([end,1:end,1],:); % extended S
+
+dX = X(1:end-1,:)-X(2:end,:); % dX
+Ne = [dX(:,2),-dX(:,1)]; % edge normals orthogonal to dX
+de = sum(Ne.^2,2).^0.5; % for normalization
+nonzero = de~=0;
+Ne(nonzero,:) = Ne(nonzero,:)./de(nonzero,[1 1]); % edge normals
+N = 0.5*(Ne(1:end-1,:)+Ne(2:end,:)); % vertices normals
+d = sum(N.^2,2).^0.5; % for normalization
+nonzero = d~=0;
+N(nonzero,:) = N(nonzero,:)./d(nonzero,[1 1]);
+
+if open
+    N(1,:) = Ne(2,:);
+    N(end,:) = Ne(end-1,:);
+end
\ No newline at end of file
diff --git a/Functions/functions_auxiliary/distribute_points.m b/Functions/functions_auxiliary/distribute_points.m
new file mode 100644
index 0000000..df0df46
--- /dev/null
+++ b/Functions/functions_auxiliary/distribute_points.m
@@ -0,0 +1,42 @@
+function p_new = distribute_points(p,type,value,open)
+% DISTRIBUTE_POINTS   Distributes snakes points equidistantly
+% (NOTE: this version can also handle open snake)
+%
+%   DISTRIBUTE_POINTS(P) keeps the number of points
+%   DISTRIBUTE_POINTS(P,'number',N) returns N points
+%   DISTRIBUTE_POINTS(P,'ael',d) returns average edge length d
+%   Author: vand@dtu.dk
+
+if nargin<4
+    open = false;
+end
+
+if ~open
+    p = p([1:end,1],:); % closing the curve
+end
+N = size(p,1); % number of points (+ 1 for closed curve)
+dist = sqrt(sum(diff(p).^2,2)); % edge segment lengths
+t = [0;cumsum(dist)]; % current positions
+% if we want the fixed edge length then the new N could be computed 
+% from the total length of the curve which is t(end)
+
+if nargin<2 
+    N_new = N;
+else
+    switch lower(type)
+        case 'number'
+            N_new = value+~open;
+        case 'ael'
+           N_new = round(t(end)/value+~open);
+        otherwise
+           error('Unknown distribution type.')   
+    end    
+end
+
+tq = linspace(0,t(end),N_new)'; % equidistant positions
+%p_new(:,1) = interp1(t,p(:,1),tq); % distributed x
+%p_new(:,2) = interp1(t,p(:,2),tq); % distributed y
+p_new = interp1(t,p,tq); 
+if ~open
+    p_new = p_new(1:end-1,:); % opening the curve again
+end
diff --git a/Functions/functions_auxiliary/ginputWhite.m b/Functions/functions_auxiliary/ginputWhite.m
new file mode 100644
index 0000000..c9c1b22
--- /dev/null
+++ b/Functions/functions_auxiliary/ginputWhite.m
@@ -0,0 +1,319 @@
+function [out1,out2,out3] = ginputWhite(arg1)
+%GINPUT Graphical input from mouse.
+%   [X,Y] = GINPUT(N) gets N points from the current axes and returns
+%   the X- and Y-coordinates in length N vectors X and Y.  The cursor
+%   can be positioned using a mouse.  Data points are entered by pressing
+%   a mouse button or any key on the keyboard except carriage return,
+%   which terminates the input before N points are entered. If the current
+%   axes is a geographic axes, the coordinates returned are latitude and
+%   longitude instead of X and Y.
+%
+%   [X,Y] = GINPUT gathers an unlimited number of points until the
+%   return key is pressed.
+%
+%   [X,Y,BUTTON] = GINPUT(N) returns a third result, BUTTON, that
+%   contains a vector of integers specifying which mouse button was
+%   used (1,2,3 from left) or ASCII numbers if a key on the keyboard
+%   was used.
+%
+%   Examples:
+%       [x,y] = ginput;
+%
+%       [x,y] = ginput(5);
+%
+%       [x, y, button] = ginput(1);
+%
+%   See also GTEXT, WAITFORBUTTONPRESS.
+
+%   Copyright 1984-2018 The MathWorks, Inc.
+
+out1 = []; out2 = []; out3 = []; y = [];
+
+if ~matlab.ui.internal.isFigureShowEnabled
+    error(message('MATLAB:hg:NoDisplayNoFigureSupport', 'ginput'))
+end
+    
+    % Check Inputs
+    if nargin == 0
+        how_many = -1;
+        b = [];
+    else
+        how_many = arg1;
+        b = [];
+        if  ~isPositiveScalarIntegerNumber(how_many) 
+            error(message('MATLAB:ginput:NeedPositiveInt'))
+        end
+        if how_many == 0
+            % If input argument is equal to zero points,
+            % give a warning and return empty for the outputs.            
+            warning (message('MATLAB:ginput:InputArgumentZero'));
+        end
+    end
+    
+    % Get figure
+    fig = gcf;
+    drawnow;
+    figure(gcf);
+    
+    % Make sure the figure has an axes
+    gca(fig);    
+    
+    % Setup the figure to disable interactive modes and activate pointers. 
+    initialState = setupFcn(fig);
+    
+    % onCleanup object to restore everything to original state in event of
+    % completion, closing of figure errors or ctrl+c. 
+    c = onCleanup(@() restoreFcn(initialState));
+    
+    drawnow
+    char = 0;
+    
+    while how_many ~= 0
+        waserr = 0;
+        try
+            keydown = wfbp;
+        catch %#ok<CTCH>
+            waserr = 1;
+        end
+        if(waserr == 1)
+            if(ishghandle(fig))
+                cleanup(c);
+                error(message('MATLAB:ginput:Interrupted'));
+            else
+                cleanup(c);
+                error(message('MATLAB:ginput:FigureDeletionPause'));
+            end
+        end
+        % g467403 - ginput failed to discern clicks/keypresses on the figure it was
+        % registered to operate on and any other open figures whose handle
+        % visibility were set to off
+        figchildren = allchild(0);
+        if ~isempty(figchildren)
+            ptr_fig = figchildren(1);
+        else
+            error(message('MATLAB:ginput:FigureUnavailable'));
+        end
+        %         old code -> ptr_fig = get(0,'CurrentFigure'); Fails when the
+        %         clicked figure has handlevisibility set to callback
+        if(ptr_fig == fig)
+            if keydown
+                char = get(fig, 'CurrentCharacter');
+                button = abs(get(fig, 'CurrentCharacter'));
+            else
+                button = get(fig, 'SelectionType');
+                if strcmp(button,'open')
+                    button = 1;
+                elseif strcmp(button,'normal')
+                    button = 1;
+                elseif strcmp(button,'extend')
+                    button = 2;
+                elseif strcmp(button,'alt')
+                    button = 3;
+                else
+                    error(message('MATLAB:ginput:InvalidSelection'))
+                end
+            end
+            
+            if(char == 13) % & how_many ~= 0)
+                % if the return key was pressed, char will == 13,
+                % and that's our signal to break out of here whether
+                % or not we have collected all the requested data
+                % points.
+                % If this was an early breakout, don't include
+                % the <Return> key info in the return arrays.
+                % We will no longer count it if it's the last input.
+                break;
+            end
+            
+            axes_handle = gca;            
+            if ~(isa(axes_handle,'matlab.graphics.axis.Axes') ...
+                    || isa(axes_handle,'matlab.graphics.axis.GeographicAxes'))
+                % If gca is not an axes, warn but keep listening for clicks. 
+                % (There may still be other subplots with valid axes)
+                warning(message('MATLAB:Chart:UnsupportedConvenienceFunction', 'ginput', axes_handle.Type));
+                continue            
+            end
+            
+            drawnow;
+            pt = get(axes_handle, 'CurrentPoint');            
+            how_many = how_many - 1;
+            
+
+            
+            out1 = [out1;pt(1,1)]; %#ok<AGROW>
+            y = [y;pt(1,2)]; %#ok<AGROW>
+            b = [b;button]; %#ok<AGROW>
+        end
+    end
+    
+    % Cleanup and Restore 
+    cleanup(c);
+    
+    if nargout > 1
+        out2 = y;
+        if nargout > 2
+            out3 = b;
+        end
+    else
+        out1 = [out1 y];
+    end
+    
+end
+
+function valid = isPositiveScalarIntegerNumber(how_many)
+valid = ~isa(how_many, 'matlab.graphics.Graphics') && ... % not a graphics handle
+        ~ischar(how_many) && ...            % is numeric
+        isscalar(how_many) && ...           % is scalar
+        (fix(how_many) == how_many) && ...  % is integer in value
+        how_many >= 0;                      % is positive
+end
+
+function key = wfbp
+%WFBP   Replacement for WAITFORBUTTONPRESS that has no side effects.
+
+fig = gcf;
+current_char = []; %#ok<NASGU>
+
+% Now wait for that buttonpress, and check for error conditions
+waserr = 0;
+try
+    h=findall(fig,'Type','uimenu','Accelerator','C');   % Disabling ^C for edit menu so the only ^C is for
+    set(h,'Accelerator','');                            % interrupting the function.
+    keydown = waitforbuttonpress;
+    current_char = double(get(fig,'CurrentCharacter')); % Capturing the character.
+    if~isempty(current_char) && (keydown == 1)          % If the character was generated by the
+        if(current_char == 3)                           % current keypress AND is ^C, set 'waserr'to 1
+            waserr = 1;                                 % so that it errors out.
+        end
+    end
+    
+    set(h,'Accelerator','C');                           % Set back the accelerator for edit menu.
+catch %#ok<CTCH>
+    waserr = 1;
+end
+drawnow;
+if(waserr == 1)
+    set(h,'Accelerator','C');                          % Set back the accelerator if it errored out.
+    error(message('MATLAB:ginput:Interrupted'));
+end
+
+if nargout>0, key = keydown; end
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+end
+
+function initialState = setupFcn(fig)
+
+% Store Figure Handle. 
+initialState.figureHandle = fig; 
+
+% Suspend figure functions
+initialState.uisuspendState = uisuspend(fig);
+
+% Disable Plottools Buttons
+initialState.toolbar = findobj(allchild(fig),'flat','Type','uitoolbar');
+if ~isempty(initialState.toolbar)
+    initialState.ptButtons = [uigettool(initialState.toolbar,'Plottools.PlottoolsOff'), ...
+        uigettool(initialState.toolbar,'Plottools.PlottoolsOn')];
+    initialState.ptState = get (initialState.ptButtons,'Enable');
+    set (initialState.ptButtons,'Enable','off');
+end
+
+% Disable AxesToolbar
+initialState.axes = findobj(allchild(fig),'-isa','matlab.graphics.axis.AbstractAxes');
+tb = get(initialState.axes, 'Toolbar');
+if ~isempty(tb) && ~iscell(tb)
+    initialState.toolbarVisible{1} = tb.Visible;
+    tb.Visible = 'off';
+else
+    for i=1:numel(tb)
+        if ~isempty(tb{i})
+            initialState.toolbarVisible{i} = tb{i}.Visible;
+            tb{i}.Visible = 'off';
+        end
+    end
+end
+
+%Setup empty pointer
+cdata = NaN(16,16);
+hotspot = [8,8];
+set(gcf,'Pointer','custom','PointerShapeCData',cdata,'PointerShapeHotSpot',hotspot)
+
+% Create uicontrols to simulate fullcrosshair pointer.
+initialState.CrossHair = createCrossHair(fig);
+
+% Adding this to enable automatic updating of currentpoint on the figure 
+% This function is also used to update the display of the fullcrosshair
+% pointer and make them track the currentpoint.
+set(fig,'WindowButtonMotionFcn',@(o,e) dummy()); % Add dummy so that the CurrentPoint is constantly updated
+initialState.MouseListener = addlistener(fig,'WindowMouseMotion', @(o,e) updateCrossHair(o,initialState.CrossHair));
+
+% Get the initial Figure Units
+initialState.fig_units = get(fig,'Units');
+end
+
+function restoreFcn(initialState)
+if ishghandle(initialState.figureHandle)
+    delete(initialState.CrossHair);
+    
+    % Figure Units
+    set(initialState.figureHandle,'Units',initialState.fig_units);
+    
+    set(initialState.figureHandle,'WindowButtonMotionFcn','');
+    delete(initialState.MouseListener);
+    
+    % Plottools Icons
+    if ~isempty(initialState.toolbar) && ~isempty(initialState.ptButtons)
+        set (initialState.ptButtons(1),'Enable',initialState.ptState{1});
+        set (initialState.ptButtons(2),'Enable',initialState.ptState{2});
+    end
+    
+    % Restore axestoolbar
+    for i=1:numel(initialState.axes)
+        if ~isempty(initialState.axes(i).Toolbar)
+            initialState.axes(i).Toolbar.Visible_I = initialState.toolbarVisible{i};
+        end
+    end    
+    
+    % UISUSPEND
+    uirestore(initialState.uisuspendState);    
+end
+end
+
+function updateCrossHair(fig, crossHair)
+% update cross hair for figure.
+gap = 3; % 3 pixel view port between the crosshairs
+cp = hgconvertunits(fig, [fig.CurrentPoint 0 0], fig.Units, 'pixels', fig);
+cp = cp(1:2);
+figPos = hgconvertunits(fig, fig.Position, fig.Units, 'pixels', fig.Parent);
+figWidth = figPos(3);
+figHeight = figPos(4);
+
+% Early return if point is outside the figure
+if cp(1) < gap || cp(2) < gap || cp(1)>figWidth-gap || cp(2)>figHeight-gap
+    return
+end
+
+set(crossHair, 'Visible', 'on');
+thickness = 1; % 1 Pixel thin lines. 
+set(crossHair(1), 'Position', [0 cp(2) cp(1)-gap thickness]);
+set(crossHair(2), 'Position', [cp(1)+gap cp(2) figWidth-cp(1)-gap thickness]);
+set(crossHair(3), 'Position', [cp(1) 0 thickness cp(2)-gap]);
+set(crossHair(4), 'Position', [cp(1) cp(2)+gap thickness figHeight-cp(2)-gap]);
+end
+
+function crossHair = createCrossHair(fig)
+% Create thin uicontrols with black backgrounds to simulate fullcrosshair pointer.
+% 1: horizontal left, 2: horizontal right, 3: vertical bottom, 4: vertical top
+for k = 1:4
+    crossHair(k) = uicontrol(fig, 'Style', 'text', 'Visible', 'off', 'Units', 'pixels', 'BackgroundColor', [1 1 1], 'HandleVisibility', 'off', 'HitTest', 'off'); %#ok<AGROW>
+end
+end
+
+function cleanup(c)
+if isvalid(c)
+    delete(c);
+end
+end
+
+function dummy(~,~) 
+end
diff --git a/Functions/functions_auxiliary/registerImages.m b/Functions/functions_auxiliary/registerImages.m
new file mode 100644
index 0000000..8d225e4
--- /dev/null
+++ b/Functions/functions_auxiliary/registerImages.m
@@ -0,0 +1,54 @@
+function [MOVINGREG] = registerImages(MOVING,FIXED,MatchThreshold)
+%registerImages  Register grayscale images using auto-generated code from Registration Estimator app.
+%  [MOVINGREG] = registerImages(MOVING,FIXED) Register grayscale images
+%  MOVING and FIXED using auto-generated code from the Registration
+%  Estimator app. The values for all registration parameters were set
+%  interactively in the app and result in the registered image stored in the
+%  structure array MOVINGREG.
+
+% Auto-generated by registrationEstimator app on 29-Apr-2020
+%-----------------------------------------------------------
+
+
+% Feature-based techniques require license to Computer Vision Toolbox
+checkLicense()
+
+% Default spatial referencing objects
+fixedRefObj = imref2d(size(FIXED));
+movingRefObj = imref2d(size(MOVING));
+
+% Detect SURF features
+fixedPoints = detectSURFFeatures(FIXED,'MetricThreshold',750.000000,'NumOctaves',3,'NumScaleLevels',5);
+movingPoints = detectSURFFeatures(MOVING,'MetricThreshold',750.000000,'NumOctaves',3,'NumScaleLevels',5);
+
+% Extract features
+[fixedFeatures,fixedValidPoints] = extractFeatures(FIXED,fixedPoints,'Upright',false);
+[movingFeatures,movingValidPoints] = extractFeatures(MOVING,movingPoints,'Upright',false);
+
+% Match features
+indexPairs = matchFeatures(fixedFeatures,movingFeatures,'MatchThreshold',MatchThreshold,'MaxRatio',0.01*MatchThreshold);
+fixedMatchedPoints = fixedValidPoints(indexPairs(:,1));
+movingMatchedPoints = movingValidPoints(indexPairs(:,2));
+MOVINGREG.FixedMatchedFeatures = fixedMatchedPoints;
+MOVINGREG.MovingMatchedFeatures = movingMatchedPoints;
+
+% Apply transformation - Results may not be identical between runs because of the randomized nature of the algorithm
+tform = estimateGeometricTransform(movingMatchedPoints,fixedMatchedPoints,'affine');
+MOVINGREG.Transformation = tform;
+MOVINGREG.RegisteredImage = imwarp(MOVING, movingRefObj, tform, 'OutputView', fixedRefObj, 'SmoothEdges', true);
+
+% Store spatial referencing object
+MOVINGREG.SpatialRefObj = fixedRefObj;
+
+end
+
+function checkLicense()
+
+% Check for license to Computer Vision Toolbox
+CVSTStatus = license('test','Video_and_Image_Blockset');
+if ~CVSTStatus
+    error(message('images:imageRegistration:CVSTRequired'));
+end
+
+end
+
diff --git a/Functions/functions_auxiliary/regularization_matrix_open.m b/Functions/functions_auxiliary/regularization_matrix_open.m
new file mode 100644
index 0000000..85816be
--- /dev/null
+++ b/Functions/functions_auxiliary/regularization_matrix_open.m
@@ -0,0 +1,14 @@
+function B = regularization_matrix_open(N,alpha,beta)
+% B is an NxN matrix for imposing elasticity and rigidity to snakes
+% alpha is weigth for second derivative (elasticity)
+% beta is weigth for (-)fourth derivative (rigidity)
+
+r = zeros(1,N);
+r(1:3) = alpha*[-2 1 0]/4 + beta*[-6 4 -1]/16;
+r(end-1:end) = alpha*[0 1]/4 + beta*[-1 4]/16;
+A = toeplitz(r);
+A([1,2,end-1,end],:) = 0;
+A(2,1:3) = alpha*[1 -2 1]/4;
+A(end-1,end-2:end) = alpha*[1 -2 1]/4;
+
+B = inv(eye(N)-A);
\ No newline at end of file
diff --git a/Functions/functions_auxiliary/slice_points_interpolation.m b/Functions/functions_auxiliary/slice_points_interpolation.m
new file mode 100644
index 0000000..e841338
--- /dev/null
+++ b/Functions/functions_auxiliary/slice_points_interpolation.m
@@ -0,0 +1,48 @@
+function pk = slice_points_interpolation(p1,p2,n,m,flag_fig) 
+% SLICE_POINTS_INTERPOLATION takes two sets of points and the range of 
+% interpolition n & m and return pk which is the interpolants points 
+% [n:(n-m+1):m] 
+% 
+% the sampling is done by computing
+%  v = p1-p2
+% pk = p2 + d/norm(v)*v where d is the increment of the distances
+%
+% written by bepi@dtu.dk first version 2019.12.02
+
+%default no figure
+if nargout < 3
+    flag_fig = 0;
+end
+
+d_p = sqrt(sum((p1-p2).^2,2));
+
+pk = nan(n-m+1,3,length(d_p));
+for j = 1:length(d_p)
+    sim = linspace(0,d_p(j),n-m+1);
+    for i = 1:length(sim)
+        if sim(i) == 0
+            pk(i,1:2,j) = p2(j,:);
+        else
+            pk(i,1:2,j) = p2(j,:) + (sim(i)/d_p(j)).*(p1(j,:)-p2(j,:));
+        end
+        pk(i,3,j) = m + i-1;%n,m = (220:800)';
+    end
+end
+
+if flag_fig 
+    figure,
+    plot3([p2(:,1),p2(:,1)]',...
+          [p1(:,2),p1(:,2)]',...
+          [ones(size(p1,1),1)*n,ones(size(p1,1),1)*m]')
+    xlabel('x') ; ylabel('y') ; zlabel('z')
+    hold on
+
+    for s = 1:size(pk,3)
+        tmp = squeeze(pk(:,:,s));
+        plot3(tmp(:,1),tmp(:,2),tmp(:,3),'-xm')
+    end
+end
+
+end
+
+
diff --git a/Functions/functions_cost/smoothsurface_cost.m b/Functions/functions_cost/smoothsurface_cost.m
new file mode 100644
index 0000000..eb93a67
--- /dev/null
+++ b/Functions/functions_cost/smoothsurface_cost.m
@@ -0,0 +1,28 @@
+function cost = smoothsurface_cost(V,mu,std,s1,s2)
+% abda@dtu.dk
+
+if nargin == 1
+    mu = 23000;
+    std = 4000;
+    s1 = 5;
+    s2 = 1.5;
+elseif nargin == 3
+    s1 = 5;
+    s2 = 1.5;    
+end
+
+V_exp = 1/(std*sqrt(2*pi))*exp(-(V-mu).^2/(2*std^2));
+V_exp = V_exp/(max(V_exp(:)));
+g = get_gauss(s1);
+[~,dg] = get_gauss(s2);
+cost = imfilter(imfilter(V_exp, dg','replicate'),g,'replicate');
+
+cost = (cost-min(cost(:)))/(max(cost(:))-min(cost(:)));
+
+function [g,dg] = get_gauss(s)
+
+x = -ceil(3*s):ceil(3*s);
+g = exp(-x.^2/(2*s*s));
+g = g/sum(g);
+dg = -x/(s^2).*g;
+%ddg = -g/(s^2) - x/(s^2).*dg;
\ No newline at end of file
diff --git a/Functions/functions_curvature/surfature.m b/Functions/functions_curvature/surfature.m
new file mode 100644
index 0000000..93ef859
--- /dev/null
+++ b/Functions/functions_curvature/surfature.m
@@ -0,0 +1,70 @@
+function [K,H,Pmax,Pmin] = surfature(X,Y,Z)
+% SURFATURE -  COMPUTE GAUSSIAN AND MEAN CURVATURES OF A SURFACE
+%   [K,H] = SURFATURE(X,Y,Z), WHERE X,Y,Z ARE 2D ARRAYS OF POINTS ON THE
+%   SURFACE.  K AND H ARE THE GAUSSIAN AND MEAN CURVATURES, RESPECTIVELY.
+%   SURFATURE RETURNS 2 ADDITIONAL ARGUEMENTS,
+%   [K,H,Pmax,Pmin] = SURFATURE(...), WHERE Pmax AND Pmin ARE THE MINIMUM
+%   AND MAXIMUM CURVATURES AT EACH POINT, RESPECTIVELY.
+%
+% modified by bepi@dtu.dk 2020.03.17
+%
+% Example
+% [X,Y,Z] = peaks;
+% [K,H,P1,P2] = surfature(X,Y,Z);
+% surf(X,Y,Z,H,'facecolor','interp');
+% set(gca,'clim',[-1,1])
+
+% First Derivatives
+[Xu,Xv] = gradient(X);
+[Yu,Yv] = gradient(Y);
+[Zu,Zv] = gradient(Z);
+
+% Second Derivatives
+[Xuu,~] = gradient(Xu);
+[Yuu,~] = gradient(Yu);
+[Zuu,~] = gradient(Zu);
+
+[Xuv,Xvv] = gradient(Xv);
+[Yuv,Yvv] = gradient(Yv);
+[Zuv,Zvv] = gradient(Zv);
+
+% Reshape 2D Arrays into Vectors
+Xu = Xu(:);   Yu = Yu(:);   Zu = Zu(:); 
+Xv = Xv(:);   Yv = Yv(:);   Zv = Zv(:); 
+Xuu = Xuu(:); Yuu = Yuu(:); Zuu = Zuu(:); 
+Xuv = Xuv(:); Yuv = Yuv(:); Zuv = Zuv(:); 
+Xvv = Xvv(:); Yvv = Yvv(:); Zvv = Zvv(:); 
+
+Xu          =   [Xu Yu Zu];
+Xv          =   [Xv Yv Zv];
+Xuu         =   [Xuu Yuu Zuu];
+Xuv         =   [Xuv Yuv Zuv];
+Xvv         =   [Xvv Yvv Zvv];
+
+% First fundamental Coeffecients of the surface (E,F,G)
+E           =   dot(Xu,Xu,2);
+F           =   dot(Xu,Xv,2);
+G           =   dot(Xv,Xv,2);
+
+m           =   cross(Xu,Xv,2);
+p           =   sqrt(dot(m,m,2));
+n           =   m./[p p p]; 
+
+% Second fundamental Coeffecients of the surface (L,M,N)
+L           =   dot(Xuu,n,2);
+M           =   dot(Xuv,n,2);
+N           =   dot(Xvv,n,2);
+
+[s,t] = size(Z);
+
+% Gaussian Curvature
+K = (L.*N - M.^2)./(E.*G - F.^2);
+K = reshape(K,s,t);
+
+% Mean Curvature
+H = (E.*N + G.*L - 2.*F.*M)./(2*(E.*G - F.^2));
+H = reshape(H,s,t);
+
+% Principal Curvatures
+Pmax = H + sqrt(H.^2 - K);
+Pmin = H - sqrt(H.^2 - K);
diff --git a/Functions/functions_gridcut/grid_cut.m b/Functions/functions_gridcut/grid_cut.m
new file mode 100644
index 0000000..9635300
--- /dev/null
+++ b/Functions/functions_gridcut/grid_cut.m
@@ -0,0 +1,252 @@
+function s = grid_cut(s_cost, r_cost, delta_xy, wrap_xy, delta_lu)
+%GRID_CUT detects terrain-like surfaces in a volumetric data.
+%
+% Detected surfaces are terrain-like, i.e. height z is a function of the
+% position (x,y). Only on-surface costs, only in-region costs or both type
+% of costs may be used. When  using in-region costs for multiple surfaces,
+% surfaces are non-intersecting and ordered, so that the first surface has
+% the smallest z values, and the last surface has the largest z values.
+%
+% S = GRID_CUT(S_COST,R_COST,DELTA_XY,WRAP_XY,DELTA_LU)
+%
+% S_COST is a size (X,Y,Z,K) surface cost function. Cost (x,y,z,k) is an
+%       inverse to likelihood of a voxel (x,y,z) containing surface k.
+%       K is the number of surfaces and Z is up. When using only in-region
+%       costs, S_COST should either contain only zeros or be empty.
+% R_COST is a size (X,Y,Z,K+1) region cost function. Cost (x,y,z,k) is an
+%       inverse to likelihood of a voxel (x,y,z) being in a region between
+%       the surface k and k+1, where the first and the last region are
+%       boundedend with the volume boundary. When using only on-surface
+%       costs, R_COST should either contain only zeros or be empty.
+% DELTA_XY is a size (K,2) array of stiffness parameters for x and y. If a
+%       size (1,2) array is given, the same stiffness parameteres are used
+%       for all surfaces. If size (K,1) array is given, the same stiffness
+%       is used for x and y.
+% WRAP_XY is a length 2 array of boolean wrap options for x and y. If not
+%       given defaults to false.
+% DELTA_LU is a size (K-1,2) array of lower and upper surface overlaps, 
+%       [dl du]. The constraint is: dl <= surf_k - surf_k+1 <= du. When 
+%       using in-region costs, the surfaces are non-intersecting and 
+%       ordered which requires dl > 0 and du >= dl. If a size (1,2) array 
+%       is given, the  same overlap parameteres are used for all surfaces. 
+%       If not given, defaults to "no constraint" (dl=-Z, du=Z) when using 
+%       only on-surface costs and to "no overlap" (dl=1, du=Z) otherwise.
+% S is a size (X,Y,K) matrix of z coordinates for K segmented surfaces.
+%
+% Based on:
+%  "Optimal surface segmentation in volumetric images-a graph-theoretic
+%   approach."  Li, Wu, Chen and Sonka. PAMI 2006.
+%  "Incorporation of Regional Information in Optimal 3-D Graph Search with
+%   Application for Intraretinal Layer Segmentation of Optical Coherence
+%   Tomography Images". Haeker, Wu, Abramoff, Kardon and Sonka. IPMI 2007.
+%
+% Author: Vedrana Andersen Dahl, vand@dtu.dk, 2013
+%
+% NOTE: needs Kolmogorovs implementation of the algorithm from
+%		"An Experimental Comparison of Min-Cut/Max-Flow Algorithms for
+%       Energy Minimization in Vision."
+%		Yuri Boykov and Vladimir Kolmogorov. PAMI 2004
+
+% assigning an unique index to each vertex in the first 3D graph (first surface)
+
+if nargin<5
+    delta_lu = [];
+end
+if nargin<4
+    wrap_xy = [];
+end
+[s_cost, r_cost, delta_xy, wrap_xy, delta_lu] = assign_defaults...
+    (s_cost, r_cost, delta_xy, wrap_xy, delta_lu);
+[X,Y,Z,K] = size(s_cost);
+dimension = [X Y Z];
+indices = reshape(1:prod(dimension),dimension);
+base = indices(:,:,1);
+next_surface = prod(dimension); % adding to indices is a shift to next surface
+layers = (0:(K-1))*next_surface;
+
+wrap = [wrap_xy 0]; % we do not wrap in z direction
+
+% EDGES WHICH ARE THE SAME FOR ALL SURFACES:
+% intracolumn arcs pointing down, Equation (2)
+Ea1 = displacement_to_edges(indices, [0 0 -1], wrap); % first surface
+Ea = repmat(Ea1,[K 1]) + kron(layers(:),ones(size(Ea1))); % all surfaces
+Ea = [Ea,ones(size(Ea,1),1)*[inf,0]]; % assigning [inf 0] weight
+% base edges, part of intercolumn arcs, Equation (3)
+erxb1 = displacement_to_edges(base, [1 0 0], wrap);
+eryb1 = displacement_to_edges(base, [0 1 0], wrap);
+Erb1 = [erxb1; eryb1]; % first surface
+Erb = repmat(Erb1,[K 1]) + kron(layers(:),ones(size(Erb1))); % all surfaces
+% assigning [inf inf] weight, base edges are in both directions
+Erb = [Erb,ones(size(Erb,1),1)*[inf,inf]];
+
+% EDGES WHICH DEPEND ON SURFACE STIFFNESS:
+% slanted edges, part of intercolumn arcs, Equation (3)
+Erpm = []; % preallocation length could be computed from X,Y,Z,delta and wrap
+for k = 1:K
+    erxp = displacement_to_edges(indices, [1 0 -delta_xy(k,1)], wrap);
+    erxm = displacement_to_edges(indices, [-1 0 -delta_xy(k,1)], wrap);
+    eryp = displacement_to_edges(indices, [0 1 -delta_xy(k,2)], wrap);
+    erym = displacement_to_edges(indices, [0 -1 -delta_xy(k,2)], wrap);
+    erpm  = [erxp; erxm; eryp; erym] + layers(k);
+    Erpm = [Erpm;erpm];
+end
+% assigning [inf 0] weight, slanted edges are in one direction
+Erpm = [Erpm,ones(size(Erpm,1),1)*[inf,0]];
+Er = [Erpm; Erb]; % all inter edges, for all surfaces
+E = [Ea;Er]; % all intracolumn and intercolumn edges, for all surfaces
+
+% EDGES WHICH DEPEND ON DISTANCE BETWEEN SURFACES:
+% intersurface arc, Equation (4)
+if K>1 % only if we have more than 1 surface
+    Es = []; % preallocation length could be computed
+    for k = 1:K-1
+        esl = displacement_to_edges(indices, [0 0 delta_lu(k,1)], wrap);
+        esl = esl + ones(size(esl,1),1)*layers([k,k+1]);
+        esu = displacement_to_edges(indices, [0 0 -delta_lu(k,2)], wrap);
+        esu = esu + ones(size(esu,1),1)*layers([k+1,k]);
+        es = [esl;esu];
+        Es = [Es;es];
+    end
+    Es = [Es,ones(size(Es,1),1)*[inf,0]]; % assigning [inf 0] weight
+    
+    % intersurface base edges
+    esb = [layers(1:end-1)',layers(2:end)']+1; %first vertex in all surfaces
+    Esb = [esb,ones(K-1,1)*[inf,inf]]; % assigning [inf inf]
+    E = [E;Es;Esb]; % all intracolumn, intercolumn and intersurface edges, for all surfaces
+end
+
+% EDGES WHICH DEPEND ON SURFACE LIKELIHOOD:
+% up to here we do not use s_cost -- consider efficient algorithm if solving
+% multiple problems of the same size
+% vertex s_cost, Equation (1), done simulatniously for all surfaces
+w_on = -1*ones([dimension,K]); % to prevent empty solution, see second half of section 4.1
+w_on(:,:,2:end,:) = double(s_cost(:,:,2:end,:))-double(s_cost(:,:,1:end-1,:));
+% In case of layered surfaces vertices which can't be realized should be removed, 
+% i.e. topmost vertices of lower surface and lowest vertices of higher surface.
+% Instead of removing vertices, I assign inf weight to topmost vertices. 
+% And this only when delta_lu are both positive (both negative can be 
+% avoided by proper ordering of surfaces).
+if K>1 % only if we have more than 1 surface
+    for k=1:K-1 % assigning inf on-surface weights instead of removing vertices
+        if delta_lu(k,1)>0 && delta_lu(k,1)<= delta_lu(k,2) % bit clumsy
+            w_on(:,:,end-delta_lu(k,1)+1:end,k) = inf;                        
+        end    
+    end
+end
+
+% In-region cost, converting to double to avoid problems when using images
+w_in = double(r_cost(:,:,:,1:end-1))-double(r_cost(:,:,:,2:end));
+% There are issues concerning in-region cost e.g. a better way of preventing
+% empty solutions or topmost solutions. 
+w_in(:,:,1,:) = -inf; % preventing empty solution
+
+w = w_on + w_in;
+
+Vp_ix = find(w(:)>=0); % positive vertices, to be connected to sink
+Vm_ix = find(w(:)<0); % negative vertices, to be connected to source
+Es = [Vm_ix, -w(Vm_ix), zeros(length(Vm_ix),1)]; % source edges
+Et = [Vp_ix, zeros(length(Vp_ix),1), w(Vp_ix)]; % sink edges
+Est = [Es;Et]; % all terminal edges
+
+% FINDING GRAPH CUT USING MAGIC
+Scut = GraphCutMex(prod(dimension)*K,Est,E);
+
+% retreiving surfaces as the upper envelope of Scut
+S = zeros(X,Y,Z,K);
+S(Scut) = 1;
+s = zeros(X,Y,K);
+for ki = 1:K
+    for x = 1:X
+        for y = 1:Y
+            s(x,y,ki) = find(S(x,y,:,ki),1,'last');
+        end
+    end
+end
+end
+
+% NOTE: when some of the intersurface edges point upwards, i.e. when
+% delta_l is positive, the lowest delta_l rows of a graph for higher
+% surface can not appear in any feasible solution and can be removed.
+% This has NOT been implemented here.
+
+function edges = displacement_to_edges(indices, disp, wrap)
+% indices -- 3D volume of indices
+% disp -- length 3 vector of displacements, given as [x y,z]
+% wrapping -- length 3 vector of boolean options, given as [wrapx wrapy wrapz]
+% edges -- two columns of indices, each line is an edge.
+
+[x_from,x_into] = displace_1D_indices(size(indices,1),disp(1),wrap(1));
+[y_from,y_into] = displace_1D_indices(size(indices,2),disp(2),wrap(2));
+[z_from,z_into] = displace_1D_indices(size(indices,3),disp(3),wrap(3));
+
+indices_from = indices(x_from,y_from,z_from);
+indices_into = indices(x_into,y_into,z_into);
+
+edges = [indices_from(:),indices_into(:)];
+end
+
+function [from,into] = displace_1D_indices(dim,disp,wrap)
+% dim -- length of the indices vector
+% disp -- length of the displacement
+% wrap -- boolean, indicating trimming or wrapping
+
+indices = 1:dim;
+if wrap
+    from = indices([1-min(disp,0):end,1:-min(disp,0)]);
+    into = indices([1+max(disp,0):end,1:max(disp,0)]);
+else
+    from = indices(1-min(disp,0):end-max(disp,0));
+    into = indices(1+max(disp,0):end+min(disp,0));
+end
+end
+
+function [s_cost, r_cost, delta_xy, wrap_xy, delta_lu] = assign_defaults...
+    (s_cost, r_cost, delta_xy, wrap_xy, delta_lu)
+% either cost_s or cost_r need to be given (not empty and not all zeros)
+if isempty(s_cost)
+    s_cost = zeros(size(r_cost)-[0,0,0,1]);
+end
+if isempty(r_cost)
+    r_cost = zeros([size(s_cost,1),size(s_cost,2),size(s_cost,3),...
+        size(s_cost,4)]+[0,0,0,1]); % to allow s_cost to be 3D
+    regional = false;
+elseif all(r_cost(:)==0)
+    regional = false;
+else
+    regional = true;
+end
+
+[X,Y,Z,K] = size(s_cost);
+[Xr,Yr,Zr,Krplus1] = size(r_cost);
+if ~X==Xr || ~Y==Yr || ~Z==Zr || ~(K+1)==Krplus1
+    error('Error using grid_cut. Dimensions of s_cost and r_cost must agree.')
+end
+
+% smoothness constraint may be given once for all surfaces
+if size(delta_xy,1)==1
+    delta_xy = ones(K,1)*delta_xy;
+end
+% smoothness constraint may be given once for both directions
+if size(delta_xy,2)==1
+    delta_xy = delta_xy*ones(1,2);
+end
+
+if isempty(wrap_xy) || (numel(wrap_xy)==1 && wrap_xy==0)
+    wrap_xy = [0 0];
+end
+
+% overlap constraint defaults to no overlap in region case
+% and no constraint in surface case
+if isempty(delta_lu)
+    if regional % no overlap
+        delta_lu = [1 Z];
+    else % no constraint
+        delta_lu = [-Z Z];
+    end
+end
+
+% overlap constraint may be given once for all surface pairs
+if all(size(delta_lu)==[1,2])
+    delta_lu = ones(K-1,1)*delta_lu;
+end
+end
\ No newline at end of file
diff --git a/Functions/functions_mesh/do_mesh_example.m b/Functions/functions_mesh/do_mesh_example.m
new file mode 100644
index 0000000..6166d1a
--- /dev/null
+++ b/Functions/functions_mesh/do_mesh_example.m
@@ -0,0 +1,87 @@
+clear all
+
+Lx = 2;
+Ly = 1.3;
+Lz = 0.5;
+
+nx = 2;%10
+ny = 3;%7
+nz = 4;%5
+
+cnt = 1;
+for i=1:nx
+    for j=1:ny
+        for k=1:nz
+            nodes(cnt,:) = [cnt i*Lx/nx j*Ly/ny k*Lz/nz];
+            cnt = cnt + 1;
+        end
+    end
+end
+
+number_of_nodes = cnt-1;
+
+clf,plot3(nodes(:,2),nodes(:,3),nodes(:,4),'.')
+
+elements = [];
+cnt = 1;
+for i=1:nx-1
+    for j=1:ny-1
+        for k=1:nz-1
+            x0 = i*Lx/nx;
+            y0 = j*Ly/ny;
+            z0 = k*Lz/nz;
+            x1 = (i+1)*Lx/nx;
+            y1 = (j+1)*Ly/ny;
+            z1 = (k+1)*Lz/nz;
+            
+            dist_to_nodes = ((nodes(:,2)-x0).^2+(nodes(:,3)-y0).^2+(nodes(:,4)-z0).^2);
+            [minval,minidx] = min(dist_to_nodes);
+            corner(1) = minidx;
+            dist_to_nodes = ((nodes(:,2)-x1).^2+(nodes(:,3)-y0).^2+(nodes(:,4)-z0).^2);
+            [minval,minidx] = min(dist_to_nodes);
+            corner(2) = minidx;
+            dist_to_nodes = ((nodes(:,2)-x1).^2+(nodes(:,3)-y1).^2+(nodes(:,4)-z0).^2);
+            [minval,minidx] = min(dist_to_nodes);
+            corner(3) = minidx;
+            dist_to_nodes = ((nodes(:,2)-x0).^2+(nodes(:,3)-y1).^2+(nodes(:,4)-z0).^2);
+            [minval,minidx] = min(dist_to_nodes);
+            corner(4) = minidx;
+            
+            dist_to_nodes = ((nodes(:,2)-x0).^2+(nodes(:,3)-y0).^2+(nodes(:,4)-z1).^2);
+            [minval,minidx] = min(dist_to_nodes);
+            corner(5) = minidx;
+            
+            dist_to_nodes = ((nodes(:,2)-x1).^2+(nodes(:,3)-y0).^2+(nodes(:,4)-z1).^2);
+            [minval,minidx] = min(dist_to_nodes);
+            corner(6) = minidx;
+            
+            dist_to_nodes = ((nodes(:,2)-x1).^2+(nodes(:,3)-y1).^2+(nodes(:,4)-z1).^2);
+            [minval,minidx] = min(dist_to_nodes);
+            corner(7) = minidx;
+            dist_to_nodes = ((nodes(:,2)-x0).^2+(nodes(:,3)-y1).^2+(nodes(:,4)-z1).^2);
+            [minval,minidx] = min(dist_to_nodes);
+            corner(8) = minidx;
+            
+            elements(cnt,:)=[cnt corner([1 2 3 4 5 6 7 8   ])];
+            cnt=cnt+1;
+
+        end
+    end
+end
+
+figure,patch('Faces',elements(:,2:end),'Vertices',nodes(:,2:4))
+        
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% fid = fopen('output_mesh_example.inp','w');
+% fprintf(fid,'*Part, name=my_mesh \n');
+% fprintf(fid,'*Node \n');
+% for i=1:size(nodes,1)
+%     fprintf(fid,'%d, %f, %f, %f \n',nodes(i,:));
+% end
+% fprintf(fid,'*Element, type=C3D8R \n');
+% for i = 1:size(elements,1)
+%     fprintf(fid,'%d, %d, %d, %d, %d, %d, %d, %d, %d \n',elements(i,:));
+% end
+% 
+% fprintf(fid,'*End Part \n');
\ No newline at end of file
diff --git a/Functions/functions_mesh/elements_mesh.m b/Functions/functions_mesh/elements_mesh.m
new file mode 100644
index 0000000..f62f26a
--- /dev/null
+++ b/Functions/functions_mesh/elements_mesh.m
@@ -0,0 +1,19 @@
+function ele = elements_mesh(mesh)
+
+sz0 = size(mesh);
+ny = sz0(1);
+nz = sz0(2);
+cnt = 1;
+ele = zeros((nz-1)*(ny-1),9);
+%h = waitbar(0,'1','Name',inputname(mesh));
+for j = 1:ny-1
+    for k = 1:nz-1
+        i = (j-1)*nz+k;
+        ele(cnt,:)=[cnt i ny*nz+i ny*nz+nz+i nz+i i+1 ny*nz+i+1 ny*nz+nz+i+1 nz+i+1];
+        cnt=cnt+1; 
+    end
+    %waitbar(j/(ny-1),h,sprintf('j: %d',j))
+end
+%close(h)
+
+end
\ No newline at end of file
diff --git a/Functions/functions_mesh/write_mesh.m b/Functions/functions_mesh/write_mesh.m
new file mode 100644
index 0000000..9495f45
--- /dev/null
+++ b/Functions/functions_mesh/write_mesh.m
@@ -0,0 +1,18 @@
+function write_mesh(nodes,elements,filename)
+
+fid = fopen([filename,'.inp'],'w');
+[~,name,~] = fileparts(filename);
+fprintf(fid,'*Part, name=%s \n',name);
+fprintf(fid,'*Node \n');
+for i=1:size(nodes,1)
+    fprintf(fid,'%d, %f, %f, %f \n',nodes(i,:));
+end
+
+fprintf(fid,'*Element, type=C3D8R \n');
+for i = 1:size(elements,1)
+    fprintf(fid,'%d, %d, %d, %d, %d, %d, %d, %d, %d \n',elements(i,:));
+end
+
+fprintf(fid,'*End Part \n');
+fclose(fid);
+end
\ No newline at end of file
diff --git a/Functions/functions_visualization/show_matvol.m b/Functions/functions_visualization/show_matvol.m
new file mode 100644
index 0000000..24992ce
--- /dev/null
+++ b/Functions/functions_visualization/show_matvol.m
@@ -0,0 +1,48 @@
+function show_matvol(V,clim)
+% SHOW_MATVOL   Shows volumetric data
+%   show_matvol(V,clim)
+%   Inputs: volume, grayscale color limits (optional)
+%   Copyright 2018 Vedrana Andersen Dahl, vand@dtu.dk 
+
+figure('Units','Normalized','Position',[0.1 0.3 0.5 0.6],...
+    'KeyPressFcn',@key_press);
+dim = size(V);
+if nargin<2 || isempty(clim)
+    clim = [min(double(V(:))),max(double(V(:)))];
+end
+z = round(0.5*(dim(3)+1));
+%update_drawing
+i = imagesc(V(:,:,z),clim); 
+title(['slice ',num2str(z),'/',num2str(dim(3))]), axis image ij
+colormap gray
+drawnow
+
+%%%%%%%%%% CALLBACK FUNCTIONS %%%%%%%%%%
+    function key_press(~,object)
+        % keyboard commands
+        switch object.Key
+            case 'uparrow'
+                z = min(z+1,dim(3));
+            case 'downarrow'
+                z = max(z-1,1);
+            case 'rightarrow'
+                z = min(z+10,dim(3));
+            case 'leftarrow'
+                z = max(z-10,1);
+            case 'pagedown'
+                z = min(z+50,dim(3));
+            case 'pageup'
+                z = max(z-50,1);
+        end
+        update_drawing
+    end
+
+%%%%%%%%%% HELPING FUNCTIONS %%%%%%%%%%
+    function update_drawing
+        set(i,'CData',V(:,:,z))
+        title(['slice ',num2str(z),'/',num2str(dim(3))])
+        drawnow
+    end
+
+end
+
diff --git a/Functions/functions_visualization/suptitle_modified.m b/Functions/functions_visualization/suptitle_modified.m
new file mode 100644
index 0000000..3fafe38
--- /dev/null
+++ b/Functions/functions_visualization/suptitle_modified.m
@@ -0,0 +1,109 @@
+function hout=suptitle_modified(str,interpreter)
+%SUPTITLE puts a title above all subplots.
+%
+%	SUPTITLE('text') adds text to the top of the figure
+%	above all subplots (a "super title"). Use this function
+%	after all subplot commands.
+%
+%   SUPTITLE is a helper function for yeastdemo.
+
+%   Copyright 2003-2014 The MathWorks, Inc.
+
+
+% Warning: If the figure or axis units are non-default, this
+% function will temporarily change the units.
+
+% Parameters used to position the supertitle.
+
+% Amount of the figure window devoted to subplots
+plotregion = .92;
+
+% Y position of title in normalized coordinates
+titleypos  = .95;
+
+% Fontsize for supertitle
+fs = get(gcf,'defaultaxesfontsize')+4;
+
+% Fudge factor to adjust y spacing between subplots
+fudge=1;
+
+haold = gca;
+figunits = get(gcf,'units');
+
+% Get the (approximate) difference between full height (plot + title
+% + xlabel) and bounding rectangle.
+
+if ~strcmp(figunits,'pixels')
+    set(gcf,'units','pixels');
+    pos = get(gcf,'position');
+    set(gcf,'units',figunits);
+else
+    pos = get(gcf,'position');
+end
+ff = (fs-4)*1.27*5/pos(4)*fudge;
+
+% The 5 here reflects about 3 characters of height below
+% an axis and 2 above. 1.27 is pixels per point.
+
+% Determine the bounding rectangle for all the plots
+
+h = findobj(gcf,'Type','axes');
+
+oldUnits = get(h, {'Units'});
+if ~all(strcmp(oldUnits, 'normalized'))
+    % This code is based on normalized units, so we need to temporarily
+    % change the axes to normalized units.
+    set(h, 'Units', 'normalized');
+    cleanup = onCleanup(@()resetUnits(h, oldUnits));
+end
+
+max_y=0;
+min_y=1;
+oldtitle = [];
+numAxes = length(h);
+thePositions = zeros(numAxes,4);
+for i=1:numAxes
+    pos=get(h(i),'pos');
+    thePositions(i,:) = pos;
+    if ~strcmp(get(h(i),'Tag'),'suptitle')
+        if pos(2) < min_y
+            min_y=pos(2)-ff/5*3;
+        end
+        if pos(4)+pos(2) > max_y
+            max_y=pos(4)+pos(2)+ff/5*2;
+        end
+    else
+        oldtitle = h(i);
+    end
+end
+
+if max_y > plotregion
+    scale = (plotregion-min_y)/(max_y-min_y);
+    for i=1:numAxes
+        pos = thePositions(i,:);
+        pos(2) = (pos(2)-min_y)*scale+min_y;
+        pos(4) = pos(4)*scale-(1-scale)*ff/5*3;
+        set(h(i),'position',pos);
+    end
+end
+
+np = get(gcf,'nextplot');
+set(gcf,'nextplot','add');
+if ~isempty(oldtitle)
+    delete(oldtitle);
+end
+axes('pos',[0 1 1 1],'visible','off','Tag','suptitle');
+ht=text(.5,titleypos-1,str,'Interpreter',interpreter);set(ht,'horizontalalignment','center','fontsize',fs);
+set(gcf,'nextplot',np);
+axes(haold);
+if nargout
+    hout=ht;
+end
+end
+
+function resetUnits(h, oldUnits)
+    % Reset units on axes object. Note that one of these objects could have
+    % been an old supertitle that has since been deleted.
+    valid = isgraphics(h);
+    set(h(valid), {'Units'}, oldUnits(valid));
+end
\ No newline at end of file
diff --git a/LayerDetection.m b/LayerDetection.m
index 6db4c49..81252ca 100644
--- a/LayerDetection.m
+++ b/LayerDetection.m
@@ -1,7 +1,4 @@
 %% detecting layers 
-flag_save = 1;
-flag_fig = 0; % if you want to check the results
-
 % create result folder
 save_folder = 'Results\layer\';
 if ~exist(save_folder,'dir')
diff --git a/PointSelection.m b/PointSelection.m
index 0d60119..7eb0e6f 100644
--- a/PointSelection.m
+++ b/PointSelection.m
@@ -1,189 +1,185 @@
 %% move from pipeline to here to select the points
-flag_run = 1;
 
 save_folder = 'Results\point\';
 if ~exist(save_folder,'dir')
     mkdir(save_folder)
 end 
 
-if flag_run
-    %% contrast enhancement
-    ce = [.7 1.5];
-    
-    points = [];
-    points.contrast_enhansed_range = ce;%contrast enhansed range
-    %% initail points layer
-
-    %f = msgbox({'Suggestions:';'0 & 45 dg: first & last slice';'90 & 180 dg: first, mid & last or first, 1/3, 2/3 & last'},'Choose Slices','warn');
-    fprintf('Suggestions:\n0  & 45  dg: first & last slice\n90 & 180 dg: first, middle & last slice or\n             first, 1/3, 2/3 & last slice\n')
-    show_matvol(Vol)
-    % move to desire slice and run this line to get the points for that slice
-    fprintf('Controls\n--------\n up-arrow    : Next slice in volume \n down-arrow  : Previous slice in volume \n right-arrow : +10 slices \n left-arrow  : -10 slices \n PgUp        : -50 slices \n PgDown      : +50 slices \n')
-    fprintf('Choose the slices by scrolling in the volume and press Enter \n DO NOT CLOSE THE FIGURE!')
-    input('');
-    
-    answer = inputdlg('Enter space-separated slice numbers:','Slices',[1 50],{'100 2550'});
-    points.slice_no = str2num(answer{1});
-    
-    num_layers = length(points.slice_no);
-    
-    %% select points, measure the length and distribute points
-    for l = 1:2
-        flag_layer = layer_name{l};
-        fprintf('%s layer:\n',flag_layer)
-        switch length(points.slice_no)
-            case 2
-                fprintf('Go to slice %d and select points on the %s layer\n',points.slice_no(1),flag_layer)
-                input('');
-                [x1,y1] = click_points;
-                fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(2),length(x1),flag_layer)
-                input('');
-                [x2,y2] = click_points;
-
-                pts1 = round([x1',y1']);
-                pts2 = round([x2',y2']);
-                points.two_slice = cat(3,pts1,pts2);
-                
-                if l == 1 %compute the length of the layers. this gives us number of px per layers and we keep it same for inner and outer layer
-                    dx = [];
-                    dy = [];
-                    len0 = [];
-                    for s = 1:2
-                        dx = points.two_slice(1:end-1,1,s)-points.two_slice(2:end,1,s);
-                        dy = points.two_slice(1:end-1,2,s)-points.two_slice(2:end,2,s);
-                        len0(1,s) = sum(sqrt(dx.^2+dy.^2));
-                    end
-                    m_l = round(mean(len0));
-                end
-
-                p_new1 = distribute_points(pts1,'number',m_l,1);
-                p_new2 = distribute_points(pts2,'number',m_l,1);
-
-                points.all_slice = slice_points_interpolation(p_new2,p_new1,...
-                                    points.slice_no(2),points.slice_no(1),0);
+%% initail points layer
+points = [];
+points.contrast_enhansed_range = ce;%contrast enhansed range
+
+fprintf('Suggestions:\n0  & 45  dg: first & last slice\n90 & 180 dg: first, middle & last slice or\n             first, 1/3, 2/3 & last slice\n')
+show_matvol(Vol)
+
+% move to desire slice and run this line to get the points for that slice
+fprintf('Controls\n--------\n up-arrow    : Next slice in volume \n down-arrow  : Previous slice in volume \n right-arrow : +10 slices \n left-arrow  : -10 slices \n PgUp        : -50 slices \n PgDown      : +50 slices \n')
+fprintf('Choose the slices by scrolling in the volume and press Enter \n DO NOT CLOSE THE FIGURE!')
+input('');
+
+answer = inputdlg('Enter space-separated slice numbers:','Slices',[1 50],{'100 2550'});
+points.slice_no = str2num(answer{1});
+
+num_layers = length(points.slice_no);
+
+%% select points, measure the length and distribute points
+for l = 1:2
+    flag_layer = layer_name{l};
+    fprintf('%s layer:\n',flag_layer)
+    switch length(points.slice_no)
+        case 2
+            fprintf('Go to slice %d and select points on the %s layer\n',points.slice_no(1),flag_layer)
+            input('');
+            [x1,y1] = click_points;
+            fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(2),length(x1),flag_layer)
+            input('');
+            [x2,y2] = click_points;
+
+            pts1 = round([x1',y1']);
+            pts2 = round([x2',y2']);
+            points.two_slice = cat(3,pts1,pts2);
+
+            if l == 1 %compute the length of the layers. this gives us number of px per layers and we keep it same for inner and outer layer
                 dx = [];
                 dy = [];
-                len1 = [];
-                for s = 1:size(points.all_slice,1)
-                    dx = points.all_slice(s,1,1:end-1)-points.all_slice(s,1,2:end);
-                    dy = points.all_slice(s,2,1:end-1)-points.all_slice(s,2,2:end);
-                    len1(1,s) = sum(sqrt(dx.^2+dy.^2));
-                end            
-                fprintf('Approximated length ~ %d or %d \n',m_l,round(mean(len1)));
-                
-            case 3
-
-                fprintf('Go to slice %d and select points on the %s layer\n',points.slice_no(1),flag_layer)
-                input('');
-                [x1,y1] = click_points;
-                fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(2),length(x1),flag_layer)
-                input('');
-                [x2,y2] = click_points;
-                fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(3),length(x1),flag_layer)
-                input('');
-                [x3,y3] = click_points;
-
-                pts1 = round([x1',y1']);
-                pts2 = round([x2',y2']);
-                pts3 = round([x3',y3']);
-
-                points.three_slice = cat(3,pts1,pts2,pts3);
-
-                if l == 1 %compute the length of the layers. this gives us number of px per layers and we keep it same for inner and outer layer
-                    dx = [];
-                    dy = [];
-                    len0 = [];
-                    for s = 1:3
-                        dx = points.three_slice(1:end-1,1,s)-points.three_slice(2:end,1,s);
-                        dy = points.three_slice(1:end-1,2,s)-points.three_slice(2:end,2,s);
-                        len0(1,s) = sum(sqrt(dx.^2+dy.^2));
-                    end
-                    m_l = round(mean(len0));
+                len0 = [];
+                for s = 1:2
+                    dx = points.two_slice(1:end-1,1,s)-points.two_slice(2:end,1,s);
+                    dy = points.two_slice(1:end-1,2,s)-points.two_slice(2:end,2,s);
+                    len0(1,s) = sum(sqrt(dx.^2+dy.^2));
                 end
-
-                p_new1 = distribute_points(pts1,'number',m_l,1);
-                p_new2 = distribute_points(pts2,'number',m_l,1);
-                p_new3 = distribute_points(pts3,'number',m_l,1);
-
-                slice_23 = slice_points_interpolation(p_new3,p_new2,...
-                                    points.slice_no(3),points.slice_no(2),0);
-                slice_12 = slice_points_interpolation(p_new2,p_new1,...
-                                    points.slice_no(2)-1,points.slice_no(1),0);
-                points.all_slice = [slice_12;slice_23];
-
+                m_l = round(mean(len0));
+            end
+
+            p_new1 = distribute_points(pts1,'number',m_l,1);
+            p_new2 = distribute_points(pts2,'number',m_l,1);
+
+            points.all_slice = slice_points_interpolation(p_new2,p_new1,...
+                                points.slice_no(2),points.slice_no(1),0);
+            dx = [];
+            dy = [];
+            len1 = [];
+            for s = 1:size(points.all_slice,1)
+                dx = points.all_slice(s,1,1:end-1)-points.all_slice(s,1,2:end);
+                dy = points.all_slice(s,2,1:end-1)-points.all_slice(s,2,2:end);
+                len1(1,s) = sum(sqrt(dx.^2+dy.^2));
+            end            
+            fprintf('Approximated length ~ %d or %d \n',m_l,round(mean(len1)));
+
+        case 3
+
+            fprintf('Go to slice %d and select points on the %s layer\n',points.slice_no(1),flag_layer)
+            input('');
+            [x1,y1] = click_points;
+            fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(2),length(x1),flag_layer)
+            input('');
+            [x2,y2] = click_points;
+            fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(3),length(x1),flag_layer)
+            input('');
+            [x3,y3] = click_points;
+
+            pts1 = round([x1',y1']);
+            pts2 = round([x2',y2']);
+            pts3 = round([x3',y3']);
+
+            points.three_slice = cat(3,pts1,pts2,pts3);
+
+            if l == 1 %compute the length of the layers. this gives us number of px per layers and we keep it same for inner and outer layer
                 dx = [];
                 dy = [];
-                len1 = [];
-                for s = 1:size(points.all_slice,1)
-                    dx = points.all_slice(s,1,1:end-1)-points.all_slice(s,1,2:end);
-                    dy = points.all_slice(s,2,1:end-1)-points.all_slice(s,2,2:end);
-                    len1(1,s) = sum(sqrt(dx.^2+dy.^2));
+                len0 = [];
+                for s = 1:3
+                    dx = points.three_slice(1:end-1,1,s)-points.three_slice(2:end,1,s);
+                    dy = points.three_slice(1:end-1,2,s)-points.three_slice(2:end,2,s);
+                    len0(1,s) = sum(sqrt(dx.^2+dy.^2));
                 end
-                fprintf('Approximated length ~ %d or %d \n',m_l,round(mean(len1)));
-            
-            case 4
-
-                fprintf('Go to slice %d and select points on the %s layer\n',points.slice_no(1),flag_layer)
-                input('');
-                [x1,y1] = click_points;
-                fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(2),length(x1),flag_layer)
-                input('');
-                [x2,y2] = click_points;
-                fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(3),length(x1),flag_layer)
-                input('');
-                [x3,y3] = click_points;
-                fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(4),length(x1),flag_layer)
-                input('');
-                [x4,y4] = click_points;
-                
-                pts1 = round([x1',y1']);
-                pts2 = round([x2',y2']);
-                pts3 = round([x3',y3']);
-                pts4 = round([x4',y4']);
-                
-                points.four_slice = cat(3,pts1,pts2,pts3,pts4);
-                
-                if l == 1 %compute the length of the layers. this gives us number of px per layers and we keep it same for inner and outer layer
-                    dx = [];
-                    dy = [];
-                    len0 = [];
-                    for s = 1:4
-                        dx = points.four_slice(1:end-1,1,s)-points.four_slice(2:end,1,s);
-                        dy = points.four_slice(1:end-1,2,s)-points.four_slice(2:end,2,s);
-                        len0(1,s) = sum(sqrt(dx.^2+dy.^2));
-                    end
-                    m_l = round(mean(len0));
-                end
-
-                p_new1 = distribute_points(pts1,'number',m_l,1);
-                p_new2 = distribute_points(pts2,'number',m_l,1);
-                p_new3 = distribute_points(pts3,'number',m_l,1);
-                p_new4 = distribute_points(pts4,'number',m_l,1);
-
-                slice_34 = slice_points_interpolation(p_new4,p_new3,...
-                                    points.slice_no(4),points.slice_no(3),0);
-                slice_23 = slice_points_interpolation(p_new3,p_new2,...
-                                    points.slice_no(3),points.slice_no(2),0);
-                slice_12 = slice_points_interpolation(p_new2,p_new1,...
-                                    points.slice_no(2)-1,points.slice_no(1),0);
-                points.all_slice = [slice_12;slice_23;slice_34];
-
+                m_l = round(mean(len0));
+            end
+
+            p_new1 = distribute_points(pts1,'number',m_l,1);
+            p_new2 = distribute_points(pts2,'number',m_l,1);
+            p_new3 = distribute_points(pts3,'number',m_l,1);
+
+            slice_23 = slice_points_interpolation(p_new3,p_new2,...
+                                points.slice_no(3),points.slice_no(2),0);
+            slice_12 = slice_points_interpolation(p_new2,p_new1,...
+                                points.slice_no(2)-1,points.slice_no(1),0);
+            points.all_slice = [slice_12;slice_23];
+
+            dx = [];
+            dy = [];
+            len1 = [];
+            for s = 1:size(points.all_slice,1)
+                dx = points.all_slice(s,1,1:end-1)-points.all_slice(s,1,2:end);
+                dy = points.all_slice(s,2,1:end-1)-points.all_slice(s,2,2:end);
+                len1(1,s) = sum(sqrt(dx.^2+dy.^2));
+            end
+            fprintf('Approximated length ~ %d or %d \n',m_l,round(mean(len1)));
+
+        case 4
+
+            fprintf('Go to slice %d and select points on the %s layer\n',points.slice_no(1),flag_layer)
+            input('');
+            [x1,y1] = click_points;
+            fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(2),length(x1),flag_layer)
+            input('');
+            [x2,y2] = click_points;
+            fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(3),length(x1),flag_layer)
+            input('');
+            [x3,y3] = click_points;
+            fprintf('Go to slice %d and select %d points on the %s layer\n',points.slice_no(4),length(x1),flag_layer)
+            input('');
+            [x4,y4] = click_points;
+
+            pts1 = round([x1',y1']);
+            pts2 = round([x2',y2']);
+            pts3 = round([x3',y3']);
+            pts4 = round([x4',y4']);
+
+            points.four_slice = cat(3,pts1,pts2,pts3,pts4);
+
+            if l == 1 %compute the length of the layers. this gives us number of px per layers and we keep it same for inner and outer layer
                 dx = [];
                 dy = [];
-                len1 = [];
-                for s = 1:size(points.all_slice,1)
-                    dx = points.all_slice(s,1,1:end-1)-points.all_slice(s,1,2:end);
-                    dy = points.all_slice(s,2,1:end-1)-points.all_slice(s,2,2:end);
-                    len1(1,s) = sum(sqrt(dx.^2+dy.^2));
+                len0 = [];
+                for s = 1:4
+                    dx = points.four_slice(1:end-1,1,s)-points.four_slice(2:end,1,s);
+                    dy = points.four_slice(1:end-1,2,s)-points.four_slice(2:end,2,s);
+                    len0(1,s) = sum(sqrt(dx.^2+dy.^2));
                 end
-                fprintf('Approximated length ~ %d or %d \n',m_l,round(mean(len1)));
-        end
+                m_l = round(mean(len0));
+            end
+
+            p_new1 = distribute_points(pts1,'number',m_l,1);
+            p_new2 = distribute_points(pts2,'number',m_l,1);
+            p_new3 = distribute_points(pts3,'number',m_l,1);
+            p_new4 = distribute_points(pts4,'number',m_l,1);
+
+            slice_34 = slice_points_interpolation(p_new4,p_new3,...
+                                points.slice_no(4),points.slice_no(3),0);
+            slice_23 = slice_points_interpolation(p_new3,p_new2,...
+                                points.slice_no(3),points.slice_no(2),0);
+            slice_12 = slice_points_interpolation(p_new2,p_new1,...
+                                points.slice_no(2)-1,points.slice_no(1),0);
+            points.all_slice = [slice_12;slice_23;slice_34];
+
+            dx = [];
+            dy = [];
+            len1 = [];
+            for s = 1:size(points.all_slice,1)
+                dx = points.all_slice(s,1,1:end-1)-points.all_slice(s,1,2:end);
+                dy = points.all_slice(s,2,1:end-1)-points.all_slice(s,2,2:end);
+                len1(1,s) = sum(sqrt(dx.^2+dy.^2));
+            end
+            fprintf('Approximated length ~ %d or %d \n',m_l,round(mean(len1)));
+    end
 
-        %% save points
+    %% save points
+    if flag_save
         save([save_folder,flag_layer,'_points_',sample,'_',dg],'points')
     end
-    close all
 end
+close all
 
 %% test the points by visualization
 % for s = 1:points.slice_no(2)-points.slice_no(1)
diff --git a/PrepMeasure.m b/PrepMeasure.m
index 1370eef..dbd7bad 100644
--- a/PrepMeasure.m
+++ b/PrepMeasure.m
@@ -1,7 +1,5 @@
 %% measuring the distance betwee two sruface and length of each surface
-addpath(genpath('Functions'))
-
-flag_save = 1;
+addpath(genpath('.\Functions'))
 
 save_folder = 'Results\measure\';
 if ~exist(save_folder,'dir')
diff --git a/PrepRegistration.m b/PrepRegistration.m
index 211d329..0ae1eeb 100644
--- a/PrepRegistration.m
+++ b/PrepRegistration.m
@@ -1,7 +1,5 @@
 %% summing over 10 pixels along normal direction of the smoothed surface
-addpath(genpath('Functions'))
-
-flag_save = 1;
+addpath(genpath('.\Functions'))
 
 save_folder = 'Results\registration\';
 if ~exist(save_folder,'dir')
diff --git a/Registration.m b/Registration.m
index 403980c..7460ebd 100644
--- a/Registration.m
+++ b/Registration.m
@@ -36,7 +36,9 @@ end
     Reg_dg45_outer = registerImages(dg45_outer,dg180_outer,30);
     Reg_dg90_outer = registerImages(dg90_outer,dg180_outer,30);  
 
-    save([save_folder,'reg_tfrom_outer_',sample],'*_outer')
+    if flag_save
+        save([save_folder,'reg_tfrom_outer_',sample],'*_outer')
+    end
     
 %end
 
@@ -86,8 +88,10 @@ end
     subplot(223)
     imshowpair(inner_90dg,inner.dg180_inner),title('90 to 180')
     suptitle_modified(['inner using inner T ',sample],'none')
-    saveas(gcf,[save_folder,'inner_using_inner_T_',sample,'.fig'])
-    saveas(gcf,[save_folder,'inner_using_inner_T_',sample,'.png'])
+    if flag_save
+        saveas(gcf,[save_folder,'inner_using_inner_T_',sample,'.fig'])
+        saveas(gcf,[save_folder,'inner_using_inner_T_',sample,'.png'])
+    end
 
     % check all outer agains 180 using inner transform T
     MOVING = outer.dg0_outer;%imrotate(layers(:,:,1),180);
@@ -119,8 +123,10 @@ end
     subplot(223)
     imshowpair(outer_90dg,outer.dg180_outer),title('90 to 180')
     suptitle_modified(['outer using inner T ',sample],'none')
-    saveas(gcf,[save_folder,'outer_using_inner_T_',sample,'.fig'])
-    saveas(gcf,[save_folder,'outer_using_inner_T_',sample,'.png'])
+    if flag_save
+        saveas(gcf,[save_folder,'outer_using_inner_T_',sample,'.fig'])
+        saveas(gcf,[save_folder,'outer_using_inner_T_',sample,'.png'])
+    end
 %end
 
 close all
@@ -238,34 +244,36 @@ end
         subplot(236)
         imshowpair(outer_90dg(:,:,s),outer.dg180_outer),title('90 to 180')
         suptitle_modified(sample,'none')
-        
-        saveas(gcf,sprintf('%sReg_s%d_%s.png',save_folder,s,sample))
+        if flag_save
+            saveas(gcf,sprintf('%sReg_s%d_%s.png',save_folder,s,sample))
+        end
+    end
+    if flag_save
+        disp('Save results ...')
+        layers = inner_0dg;
+        Ref = inner_0dg_Ref;
+        save([save_folder,'Reg_inner_layers_',sample,'_0'],'layers','Ref')
+        layers = inner_45dg;
+        Ref = inner_45dg_Ref;
+        save([save_folder,'Reg_inner_layers_',sample,'_45'],'layers','Ref')
+        layers = inner_90dg;
+        Ref = inner_90dg_Ref;
+        save([save_folder,'Reg_inner_layers_',sample,'_90'],'layers','Ref')
+        layers = inner_180dg;
+        save([save_folder,'Reg_inner_layers_',sample,'_180'],'layers')
+
+        layers = outer_0dg;
+        Ref = outer_0dg_Ref;
+        save([save_folder,'Reg_outer_layers_',sample,'_0'],'layers','Ref')
+        layers = outer_45dg;
+        Ref = outer_45dg_Ref;
+        save([save_folder,'Reg_outer_layers_',sample,'_45'],'layers','Ref')
+        layers = outer_90dg;
+        Ref = outer_90dg_Ref;
+        save([save_folder,'Reg_outer_layers_',sample,'_90'],'layers','Ref')
+        layers = outer_180dg;
+        save([save_folder,'Reg_outer_layers_',sample,'_180'],'layers')
     end
-    disp('Save results ...')
-    layers = inner_0dg;
-    Ref = inner_0dg_Ref;
-    save([save_folder,'Reg_inner_layers_',sample,'_0'],'layers','Ref')
-    layers = inner_45dg;
-    Ref = inner_45dg_Ref;
-    save([save_folder,'Reg_inner_layers_',sample,'_45'],'layers','Ref')
-    layers = inner_90dg;
-    Ref = inner_90dg_Ref;
-    save([save_folder,'Reg_inner_layers_',sample,'_90'],'layers','Ref')
-    layers = inner_180dg;
-    save([save_folder,'Reg_inner_layers_',sample,'_180'],'layers')
-
-    layers = outer_0dg;
-    Ref = outer_0dg_Ref;
-    save([save_folder,'Reg_outer_layers_',sample,'_0'],'layers','Ref')
-    layers = outer_45dg;
-    Ref = outer_45dg_Ref;
-    save([save_folder,'Reg_outer_layers_',sample,'_45'],'layers','Ref')
-    layers = outer_90dg;
-    Ref = outer_90dg_Ref;
-    save([save_folder,'Reg_outer_layers_',sample,'_90'],'layers','Ref')
-    layers = outer_180dg;
-    save([save_folder,'Reg_outer_layers_',sample,'_180'],'layers')
-    
 %end
 
 close all 
@@ -363,25 +371,26 @@ end
         clear tmp Reg
 
     end
-    disp('Save results ...')
-    points = inner_0dg;
-    save([save_folder,'Reg_inner_points_',sample,'_0'],'points')
-    points = inner_45dg;
-    save([save_folder,'Reg_inner_points_',sample,'_45'],'points')
-    points = inner_90dg;
-    save([save_folder,'Reg_inner_points_',sample,'_90'],'points')
-    points = inner_180dg;
-    save([save_folder,'Reg_inner_points_',sample,'_180'],'points')
-
-    points = outer_0dg;
-    save([save_folder,'Reg_outer_points_',sample,'_0'],'points')
-    points = outer_45dg;
-    save([save_folder,'Reg_outer_points_',sample,'_45'],'points')
-    points = outer_90dg;
-    save([save_folder,'Reg_outer_points_',sample,'_90'],'points')
-    points = outer_180dg;
-    save([save_folder,'Reg_outer_points_',sample,'_180'],'points')
-    
+    if flag_save
+        disp('Save results ...')
+        points = inner_0dg;
+        save([save_folder,'Reg_inner_points_',sample,'_0'],'points')
+        points = inner_45dg;
+        save([save_folder,'Reg_inner_points_',sample,'_45'],'points')
+        points = inner_90dg;
+        save([save_folder,'Reg_inner_points_',sample,'_90'],'points')
+        points = inner_180dg;
+        save([save_folder,'Reg_inner_points_',sample,'_180'],'points')
+
+        points = outer_0dg;
+        save([save_folder,'Reg_outer_points_',sample,'_0'],'points')
+        points = outer_45dg;
+        save([save_folder,'Reg_outer_points_',sample,'_45'],'points')
+        points = outer_90dg;
+        save([save_folder,'Reg_outer_points_',sample,'_90'],'points')
+        points = outer_180dg;
+        save([save_folder,'Reg_outer_points_',sample,'_180'],'points')
+    end
 %end
 
 close all
diff --git a/Transformation.m b/Transformation.m
index 351e9a2..0779d1c 100644
--- a/Transformation.m
+++ b/Transformation.m
@@ -1,4 +1,4 @@
-addpath(genpath('..\Functions'))
+addpath(genpath('.\Functions'))
 
 samples = {'out_out_CD','out_out_MD','in_in_CD','in_in_MD'};
 layer_name = {'outer','inner'};
@@ -17,9 +17,6 @@ if ~exist(save_folder,'dir')
     mkdir(save_folder)
 end
 
-flag_save = 1;
-flag_fig = 1;
-
 % if you want to run the measure separately you can use the for loop
 %for i = 1:4
     sample = samples{i};
@@ -119,9 +116,6 @@ if ~exist(save_folder,'dir')
     mkdir(save_folder)
 end
 
-flag_save = 1;
-flag_fig = 1;
-
 % if you want to run the measure separately you can use the for loop
 %for i = 1:4
     sample = samples{i};
@@ -193,9 +187,6 @@ flag_fig = 1;
  
 %% move all the bend to the concave part for inner
 
-flag_save = 1;
-flag_fig = 1;
-
 load_folder_layers = 'Results\layer\transfer\0dg_rest\';
 
 save_folder = 'Results\layer\transfer\align_0dg_rest\';
-- 
GitLab