Index: /issm/trunk-jpl/src/m/morphological/closing.m
===================================================================
--- /issm/trunk-jpl/src/m/morphological/closing.m	(revision 14520)
+++ /issm/trunk-jpl/src/m/morphological/closing.m	(revision 14520)
@@ -0,0 +1,6 @@
+function mask=closing(mask,neighboorhood)
+%closing algorithm using neighboorhood pixel neighboors.
+
+mask=dilation(mask,neighboorhood);
+mask=erosion(mask,neighboorhood);
+
Index: /issm/trunk-jpl/src/m/morphological/dilation.m
===================================================================
--- /issm/trunk-jpl/src/m/morphological/dilation.m	(revision 14520)
+++ /issm/trunk-jpl/src/m/morphological/dilation.m	(revision 14520)
@@ -0,0 +1,24 @@
+function mask=dilation(mask,neighboorhood)
+%deletion algorithm using 4 pixel neighboors.
+
+%convolve: 
+
+matrix=ones(3,3); 
+
+%4 neighboorhood: 
+%corners
+if neighboorhood==4,
+	matrix(1,1)=0;
+	matrix(1,3)=0;
+	matrix(3,1)=0;
+	matrix(3,3)=0;
+end
+%center
+matrix(2,2)=0;
+
+%convolve mask: 
+mask=filter2(matrix,~mask,'same');
+pos=find(mask~=0); mask(pos)=1;
+
+%opposite to recover the foreground: 
+mask=~mask;
Index: /issm/trunk-jpl/src/m/morphological/erosion.m
===================================================================
--- /issm/trunk-jpl/src/m/morphological/erosion.m	(revision 14520)
+++ /issm/trunk-jpl/src/m/morphological/erosion.m	(revision 14520)
@@ -0,0 +1,22 @@
+function mask=erosion(mask,neighboorhood)
+%erosion algorithm using neighboorhood pixel neighboors.
+
+%convolve: 
+
+matrix=ones(3,3); 
+
+%4 neighboorhood: 
+%corners
+if neighboorhood==4,
+	matrix(1,1)=0;
+	matrix(1,3)=0;
+	matrix(3,1)=0;
+	matrix(3,3)=0;
+end
+
+%center
+matrix(2,2)=0;
+
+%convolve mask: 
+mask=filter2(matrix,mask,'same');
+pos=find(mask~=0); mask(pos)=1;
Index: /issm/trunk-jpl/src/m/morphological/opening.m
===================================================================
--- /issm/trunk-jpl/src/m/morphological/opening.m	(revision 14520)
+++ /issm/trunk-jpl/src/m/morphological/opening.m	(revision 14520)
@@ -0,0 +1,6 @@
+function mask=opening(mask,neighboorhood)
+%opening algorithm using neighboorhood pixel neighboors.
+
+mask=erosion(mask,neighboorhood);
+mask=dilation(mask,neighboorhood);
+
