diff --git a/src/ABCD_matrix/FT_ABCD_trace_beam.m b/src/ABCD_matrix/FT_ABCD_trace_beam.m
index a5c8bd93e6157502b326c8c3f24ec1a8bff0832a..766ba00b5dc4999be8556a82be652be4127217a0 100644
--- a/src/ABCD_matrix/FT_ABCD_trace_beam.m
+++ b/src/ABCD_matrix/FT_ABCD_trace_beam.m
@@ -26,7 +26,7 @@ function [q,psi] = trace_beam(M, nr, qin)
   q=zeros(1,n);
  
   Mtmp=reshape(M(1,:,:),2,2);
-  q(1)=qMq(Mtmp,qin,nr(1),nr(2));
+  q(1)=FT_q_ABCD_q(Mtmp,qin,nr(1),nr(2);
   psi=0;
   if (Mtmp(1,2))
     psi=abs(q2Psi(q(1))-q2Psi(qin));
@@ -35,7 +35,7 @@ function [q,psi] = trace_beam(M, nr, qin)
   for i=2:n
 
     Mtmp=reshape(M(i,:,:),2,2);
-    q(i)=qMq(Mtmp,q(i-1),nr(i),nr(i+1));
+    q(i)=FT_q_ABCD_q(Mtmp,q(i-1),nr(i),nr(i+1));
     if (Mtmp(1,2))
       psitmp=abs(q2Psi(q(i))-q2Psi(q(i-1)));
       psi=psi+psitmp;
diff --git a/src/ABCD_matrix/FT_q_ABCD_q.m b/src/ABCD_matrix/FT_q_ABCD_q.m
index e253e9c71265d68fa794fa0dd375164c116f8173..5ce4ca31aa1704b671b1a28c3a465dcf4860d83f 100644
--- a/src/ABCD_matrix/FT_q_ABCD_q.m
+++ b/src/ABCD_matrix/FT_q_ABCD_q.m
@@ -28,25 +28,6 @@ function [q2] = FT_q_ABCD_q(Min, q1, n1, n2)
 
   baseid='q_ABCD_q';
   
-  q=q1/n1;
-  
-  if (length(q1)==1)
-    if (size(Min,3)>1)
-      M=Min(:,:,1);
-    else
-      M=Min;
-    end
-  
-    q2= n2*((M(1,1)*q + M(1,2)) / ( M(2,1)*q + M(2,2)));
-  else
-    M=zeros(2,2,2);
-    if (size(Min,3)==1)
-      M(:,:,1)=Min;
-      M(:,:,2)=Min;
-    else
-      M=Min;
-    end
-    q2(1)= n2*((M(1,1,1)*q(1) + M(1,2,1)) / ( M(2,1,1)*q(1) + M(2,2,1)));
-    q2(1)= n2*((M(1,1,2)*q(2) + M(1,2,2)) / ( M(2,1,2)*q(2) + M(2,2,2)));
-  end
   
+  q=q1/n1;
+  q2= n2*((Min(1,1)*q + Min(1,2)) / ( Min(2,1)*q + Min(2,2)));
diff --git a/src/GaussBeams/FT_un.m b/src/GaussBeams/FT_un.m
index 54fd0420d83c818479caa9f1126cf190f14a4651..ba82dc5eb5705e05282956f07cc01b3b2afd0fe7 100644
--- a/src/GaussBeams/FT_un.m
+++ b/src/GaussBeams/FT_un.m
@@ -25,7 +25,7 @@ function field = FT_un (lambda,q0,x,z,n)
   k=2*pi/lambda;
   q=q0+z;
   w0=sqrt(lambda/pi*imag(q0));
-  w=sqrt(lambda/pi*(q*conj(q))/imag(q));
+  w=sqrt(lambda/pi*(q.*conj(q))./imag(q));
   field=(2/pi)^(1/4)./sqrt(2^n*factorial(n)*w0).* ...
         sqrt(q0./q).*(q0./conj(q0).*(conj(q)./q)).^(n/2.).*polyval(FT_HermitePoly(n),sqrt(2)*x./w).*exp(-i*k*x.*x/2.0./q);
     
diff --git a/src/finesse/FT_init_Finesse.m b/src/finesse/FT_init_Finesse.m
index 51d763e67996b936bec8784b381c4d1e25ad7b75..faddc981c72f2dd84f23e9fb5bb9bfc84a047ae3 100644
--- a/src/finesse/FT_init_Finesse.m
+++ b/src/finesse/FT_init_Finesse.m
@@ -3,7 +3,6 @@
 % 
 % Creates a new 'FT' struture
 % You can set the name+path for the Finesse binary with this function.
-% Please run FT_check_for_kat_binary(FT) after calling this function.
 %
 % Running with no arguments defaults to using the environment variable
 % FINESSE_DIR for kat.exe location.
@@ -18,7 +17,7 @@
 % FT: structure that contains path and name of Finesse executable 
 %
 % Part of the SimTools package
-% Andreas Freise 02.02.2010 afreise@googlemail.com
+% Andreas Freise 02.02.2013 afreise@googlemail.com
 %---------------------------------------------------------------------  
 
 % Description: Creates a new "FT" structure
diff --git a/src/finesse/FT_save_finesse_map.m b/src/finesse/FT_save_finesse_map.m
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/help_info_cat.m b/src/help_info_cat.m
index cb184a3cd8208421fa8b546f47c68384d92b67e8..c6f2aa101fbf5954c318ccc9818747d5020900f8 100644
--- a/src/help_info_cat.m
+++ b/src/help_info_cat.m
@@ -1,7 +1,7 @@
 %---------------------------------------------------------------------
 % Data File: help_info_cat
 % Stores category information about all functions in "/Users/adf/work/git/simtools/src"
-% Last Updated: 2013-01-25 01:40:44.628174
+% Last Updated: 2013-01-31 15:31:07.445335
 %---------------------------------------------------------------------
 category(1).word = 'ABCD_matrix';
 category(1).files = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
@@ -10,7 +10,7 @@ category(2).files = [13];
 category(3).word = 'FFT_propagation';
 category(3).files = [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30];
 category(4).word = 'example';
-category(4).files = [29, 30, 43, 44, 45, 46, 113, 114, 115, 116, 117, 118, 188];
+category(4).files = [29, 30, 43, 44, 45, 46, 114, 115, 116, 117, 118, 119, 120, 190];
 category(5).word = 'finesse';
 category(5).files = [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74];
 category(6).word = 'example_beam_analysis';
@@ -20,32 +20,32 @@ category(7).files = [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
 category(8).word = 'output_file';
 category(8).files = [73, 74];
 category(9).word = 'GaussBeams';
-category(9).files = [75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118];
+category(9).files = [75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120];
 category(10).word = 'beam_analysis';
-category(10).files = [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116];
+category(10).files = [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118];
 category(11).word = 'instruments';
-category(11).files = [119, 120, 121, 122, 123, 124];
+category(11).files = [121, 122, 123, 124, 125, 126];
 category(12).word = 'mirror_maps';
-category(12).files = [125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154];
+category(12).files = [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156];
 category(13).word = 'ligo_maps';
-category(13).files = [145, 146];
+category(13).files = [147, 148];
 category(14).word = 'virgo_maps';
-category(14).files = [147, 148, 149, 150];
+category(14).files = [149, 150, 151, 152];
 category(15).word = 'zygo_map';
-category(15).files = [151, 152, 153, 154];
+category(15).files = [153, 154, 155, 156];
 category(16).word = 'optical_components';
-category(16).files = [155, 156, 157, 158, 159, 160, 161, 162, 163];
+category(16).files = [157, 158, 159, 160, 161, 162, 163, 164, 165];
 category(17).word = 'parse';
-category(17).files = [164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174];
+category(17).files = [166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176];
 category(18).word = 'utils';
-category(18).files = [175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201];
+category(18).files = [177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203];
 category(19).word = 'colormaps';
-category(19).files = [185, 186, 187];
+category(19).files = [187, 188, 189];
 category(20).word = 'fileutils';
-category(20).files = [189, 190, 191, 192, 193, 194];
+category(20).files = [191, 192, 193, 194, 195, 196];
 category(21).word = 'math_utils';
-category(21).files = [195, 196, 197, 198, 199];
+category(21).files = [197, 198, 199, 200, 201];
 category(22).word = 'matlab_utils';
-category(22).files = [200];
+category(22).files = [202];
 category(23).word = 'timer';
-category(23).files = [201];
+category(23).files = [203];
diff --git a/src/help_info_key.m b/src/help_info_key.m
index 121f980dc677d19c10aa74b5b64f909763f72c15..dc4ddd1c352d767a686ec15e14890db2c84798ec 100644
--- a/src/help_info_key.m
+++ b/src/help_info_key.m
@@ -1,10 +1,10 @@
 %---------------------------------------------------------------------
 % Data File: help_info_key
 % Stores keyword information about all functions in "/Users/adf/work/git/simtools/src"
-% Last Updated: 2013-01-25 01:40:44.628174
+% Last Updated: 2013-01-31 15:31:07.445335
 %---------------------------------------------------------------------
 key(1).word = '(no marker)';
-key(1).files = [1, 2, 6, 13, 29, 30, 31, 33, 34, 36, 38, 39, 40, 41, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 107, 114, 115, 127, 128, 132, 134, 138, 142, 145, 146, 148, 149, 150, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 188, 190, 192, 193, 194, 195, 196, 199];
+key(1).files = [1, 2, 6, 13, 29, 30, 31, 33, 34, 36, 38, 39, 40, 41, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 107, 108, 115, 116, 117, 129, 130, 134, 136, 140, 144, 147, 148, 150, 151, 152, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 190, 192, 194, 195, 196, 197, 198, 201];
 key(2).word = 'matrix';
 key(2).files = [3, 4, 5, 9, 10, 11];
 key(3).word = 'thin';
@@ -14,21 +14,21 @@ key(4).files = [3, 15];
 key(5).word = 'reflection';
 key(5).files = [4];
 key(6).word = 'mirror';
-key(6).files = [4, 16, 28, 126, 129, 130, 131, 133, 135, 136, 137, 139, 140, 141, 147, 151, 152, 153, 154, 155, 156, 162];
+key(6).files = [4, 16, 28, 128, 131, 132, 133, 135, 137, 138, 139, 141, 142, 143, 149, 153, 154, 155, 156, 157, 158, 164];
 key(7).word = 'splitter';
 key(7).files = [4];
 key(8).word = 'space';
-key(8).files = [5, 163];
+key(8).files = [5, 165];
 key(9).word = 'propagation';
-key(9).files = [5, 19, 163];
+key(9).files = [5, 19, 165];
 key(10).word = 'cavity';
-key(10).files = [7, 8, 9, 14, 18, 21, 161];
+key(10).files = [7, 8, 9, 14, 18, 21, 163];
 key(11).word = 'eigenmode';
-key(11).files = [7, 157];
+key(11).files = [7, 159];
 key(12).word = 'Gaussian';
-key(12).files = [7, 12, 77, 80, 81, 84, 87, 88, 89, 90, 91, 93, 98, 100, 101, 102, 108, 109, 110, 175];
+key(12).files = [7, 12, 77, 80, 81, 84, 87, 88, 89, 90, 91, 93, 98, 100, 101, 102, 109, 110, 111, 177];
 key(13).word = 'parameter';
-key(13).files = [7, 8, 9, 12, 81, 87, 88, 89, 90, 91, 98, 161, 162, 163];
+key(13).files = [7, 8, 9, 12, 81, 87, 88, 89, 90, 91, 98, 163, 164, 165];
 key(14).word = 'q';
 key(14).files = [7, 12, 81, 87, 88, 89, 90, 91, 98];
 key(15).word = 'stability';
@@ -44,7 +44,7 @@ key(19).files = [9];
 key(20).word = 'inverse';
 key(20).files = [10];
 key(21).word = 'invert';
-key(21).files = [10, 130];
+key(21).files = [10, 132];
 key(22).word = 'multiply';
 key(22).files = [11];
 key(23).word = 'multiplication';
@@ -54,15 +54,15 @@ key(24).files = [12];
 key(25).word = 'circulating';
 key(25).files = [14];
 key(26).word = 'power';
-key(26).files = [14, 21, 86, 117, 118];
+key(26).files = [14, 21, 86, 119, 120];
 key(27).word = 'scan';
 key(27).files = [14, 25];
 key(28).word = '2D';
-key(28).files = [15, 16, 17, 19, 26, 75, 76, 79, 82, 83, 93, 101, 102, 103, 104, 105, 106, 175, 176, 182, 183];
+key(28).files = [15, 16, 17, 19, 26, 75, 76, 79, 82, 83, 93, 101, 102, 103, 104, 105, 106, 177, 178, 184, 185];
 key(29).word = 'field';
-key(29).files = [15, 16, 17, 18, 19, 24, 77, 79, 82, 83, 84, 86, 93, 94, 95, 96, 97, 108, 118, 156];
+key(29).files = [15, 16, 17, 18, 19, 24, 77, 79, 82, 83, 84, 86, 93, 94, 95, 96, 97, 109, 120, 158];
 key(30).word = 'plot';
-key(30).files = [17, 117, 133, 200];
+key(30).files = [17, 119, 135, 202];
 key(31).word = 'amplitude';
 key(31).files = [17, 47, 75, 79, 82, 83, 93, 94, 95, 96, 97];
 key(32).word = 'propagate';
@@ -70,9 +70,9 @@ key(32).files = [19];
 key(33).word = 'reorganise';
 key(33).files = [20, 23];
 key(34).word = 'tmp';
-key(34).files = [20, 23, 178];
+key(34).files = [20, 23, 180];
 key(35).word = 'temporary';
-key(35).files = [20, 23, 178];
+key(35).files = [20, 23, 180];
 key(36).word = 'format';
 key(36).files = [20, 23];
 key(37).word = 'FT_FFT_precompute_roundtrips';
@@ -94,7 +94,7 @@ key(44).files = [24];
 key(45).word = 'transmitted';
 key(45).files = [24];
 key(46).word = 'create';
-key(46).files = [25, 27, 35, 37, 81, 126, 178, 179];
+key(46).files = [25, 27, 35, 37, 81, 128, 180, 181];
 key(47).word = 'vector';
 key(47).files = [25];
 key(48).word = 'position';
@@ -108,15 +108,15 @@ key(51).files = [26];
 key(52).word = 'grid';
 key(52).files = [27];
 key(53).word = 'init';
-key(53).files = [27, 81, 161, 162, 163];
+key(53).files = [27, 81, 163, 164, 165];
 key(54).word = 'tilt';
-key(54).files = [28, 141, 143, 182];
+key(54).files = [28, 143, 145, 184];
 key(55).word = 'tilted';
 key(55).files = [28];
 key(56).word = 'map';
-key(56).files = [28, 125, 126, 129, 130, 131, 133, 135, 136, 137, 139, 140, 141, 143, 144, 147, 151, 152, 153, 154, 155];
+key(56).files = [28, 127, 128, 131, 132, 133, 135, 137, 138, 139, 141, 142, 143, 145, 146, 149, 153, 154, 155, 156, 157];
 key(57).word = 'convert';
-key(57).files = [32, 119];
+key(57).files = [32, 121];
 key(58).word = 'finesse';
 key(58).files = [32, 37, 43, 44, 45, 46, 47, 48];
 key(59).word = '4D';
@@ -126,7 +126,7 @@ key(60).files = [35, 85];
 key(61).word = 'FT';
 key(61).files = [35];
 key(62).word = 'structure';
-key(62).files = [35, 161, 162, 163];
+key(62).files = [35, 163, 164, 165];
 key(63).word = 'make';
 key(63).files = [37];
 key(64).word = 'video';
@@ -134,19 +134,19 @@ key(64).files = [37];
 key(65).word = 'x3axis';
 key(65).files = [37];
 key(66).word = 'example';
-key(66).files = [43, 44, 45, 46, 47, 48, 113, 116, 117, 118];
+key(66).files = [43, 44, 45, 46, 47, 48, 114, 118, 119, 120];
 key(67).word = 'simulation';
 key(67).files = [43, 44, 45, 46, 47, 48];
 key(68).word = 'kat';
 key(68).files = [43, 44, 45, 46, 47, 48];
 key(69).word = 'mode';
-key(69).files = [47, 48, 77, 78, 80, 84, 85, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 113, 116];
+key(69).files = [47, 48, 77, 78, 80, 84, 85, 94, 95, 96, 97, 101, 102, 103, 104, 105, 106, 109, 110, 111, 112, 113, 114, 118];
 key(70).word = 'coefficient';
-key(70).files = [47, 48, 77, 78, 84, 85, 111, 112, 116];
+key(70).files = [47, 48, 77, 78, 84, 85, 112, 113, 118];
 key(71).word = 'Gauss';
-key(71).files = [47, 48, 79, 82, 83, 94, 95, 96, 97, 113, 116, 117, 118];
+key(71).files = [47, 48, 79, 82, 83, 94, 95, 96, 97, 114, 118, 119, 120];
 key(72).word = 'beam';
-key(72).files = [48, 124];
+key(72).files = [48, 126];
 key(73).word = 'ccd';
 key(73).files = [48];
 key(74).word = 'fill';
@@ -168,19 +168,19 @@ key(81).files = [76];
 key(82).word = 'get';
 key(82).files = [78];
 key(83).word = 'gc';
-key(83).files = [78, 109, 110, 111, 112];
+key(83).files = [78, 110, 111, 112, 113];
 key(84).word = 'HG';
 key(84).files = [79];
 key(85).word = 'Hermite';
 key(85).files = [79, 96, 97];
 key(86).word = 'coefficients';
-key(86).files = [80, 109, 110];
+key(86).files = [80, 110, 111];
 key(87).word = 'empty';
 key(87).files = [80, 85];
 key(88).word = 'gp';
 key(88).files = [81];
 key(89).word = 'LG';
-key(89).files = [82, 83, 99, 103, 104, 105, 106, 113];
+key(89).files = [82, 83, 99, 103, 104, 105, 106, 114];
 key(90).word = 'cos';
 key(90).files = [82];
 key(91).word = 'Laguerre';
@@ -190,15 +190,15 @@ key(92).files = [86];
 key(93).word = 'complex';
 key(93).files = [86];
 key(94).word = 'Guoy';
-key(94).files = [87, 157];
+key(94).files = [87, 159];
 key(95).word = 'phase';
-key(95).files = [87, 157];
+key(95).files = [87, 159];
 key(96).word = 'psi';
 key(96).files = [87];
 key(97).word = 'radius';
-key(97).files = [88, 89, 90, 92, 92, 129, 159];
+key(97).files = [88, 89, 90, 92, 92, 131, 161];
 key(98).word = 'curvature';
-key(98).files = [88, 92, 137, 143, 159];
+key(98).files = [88, 92, 139, 145, 161];
 key(99).word = 'RC';
 key(99).files = [88];
 key(100).word = 'w';
@@ -224,188 +224,188 @@ key(109).files = [99];
 key(110).word = 'size';
 key(110).files = [100, 106];
 key(111).word = 'fit';
-key(111).files = [101, 102, 103, 104, 113, 137, 141, 143];
+key(111).files = [101, 102, 103, 104, 114, 139, 143, 145];
 key(112).word = 'guess';
 key(112).files = [105, 106];
 key(113).word = 'center';
-key(113).files = [105, 136, 177];
+key(113).files = [105, 138, 179];
 key(114).word = 'centre';
-key(114).files = [105, 177];
+key(114).files = [105, 179];
 key(115).word = 'shape';
 key(115).files = [105];
 key(116).word = 'deconvolution';
-key(116).files = [108];
+key(116).files = [109];
 key(117).word = 'distribution';
-key(117).files = [108];
+key(117).files = [109];
 key(118).word = 'content';
-key(118).files = [108, 109, 110, 111];
+key(118).files = [109, 110, 111, 112];
 key(119).word = 'print';
-key(119).files = [109, 110, 111, 180, 184];
+key(119).files = [110, 111, 112, 182, 186];
 key(120).word = 'set';
-key(120).files = [112];
+key(120).files = [113];
 key(121).word = 'decomposition';
-key(121).files = [116];
+key(121).files = [118];
 key(122).word = 'Agilent6000';
-key(122).files = [119, 120, 121, 122];
+key(122).files = [121, 122, 123, 124];
 key(123).word = 'bin';
-key(123).files = [119, 121];
+key(123).files = [121, 123];
 key(124).word = 'ascii';
-key(124).files = [119, 120, 123, 124];
+key(124).files = [121, 122, 125, 126];
 key(125).word = 'data';
-key(125).files = [119, 120, 121, 123, 124, 139, 175, 176, 177, 181, 182];
+key(125).files = [121, 122, 123, 125, 126, 141, 177, 178, 179, 183, 184];
 key(126).word = 'read';
-key(126).files = [120, 121, 122, 123, 124, 135, 151, 152, 153, 154];
+key(126).files = [122, 123, 124, 125, 126, 137, 153, 154, 155, 156];
 key(127).word = 'info';
-key(127).files = [122];
+key(127).files = [124];
 key(128).word = 'HP';
-key(128).files = [123];
+key(128).files = [125];
 key(129).word = 'network';
-key(129).files = [123];
+key(129).files = [125];
 key(130).word = 'analyser';
-key(130).files = [123];
+key(130).files = [125];
 key(131).word = 'WinCamD';
-key(131).files = [124];
+key(131).files = [126];
 key(132).word = 'analyzer';
-key(132).files = [124];
+key(132).files = [126];
 key(133).word = 'calibrate';
-key(133).files = [125];
+key(133).files = [127];
 key(134).word = 'aperture';
-key(134).files = [126];
+key(134).files = [128];
 key(135).word = 'flip';
-key(135).files = [130, 185];
+key(135).files = [132, 187];
 key(136).word = 'rms';
-key(136).files = [131];
+key(136).files = [133];
 key(137).word = 'surface';
-key(137).files = [131];
+key(137).files = [133];
 key(138).word = 'distortion';
-key(138).files = [131];
+key(138).files = [133];
 key(139).word = 'root';
-key(139).files = [131];
+key(139).files = [133];
 key(140).word = 'mean';
-key(140).files = [131];
+key(140).files = [133];
 key(141).word = 'square';
-key(141).files = [131];
+key(141).files = [133];
 key(142).word = 'zygo';
-key(142).files = [135, 151, 152, 153, 154];
+key(142).files = [137, 153, 154, 155, 156];
 key(143).word = 'remove';
-key(143).files = [137, 139, 140, 141, 182];
+key(143).files = [139, 141, 142, 143, 184];
 key(144).word = 'nan';
-key(144).files = [139];
+key(144).files = [141];
 key(145).word = 'offset';
-key(145).files = [140];
+key(145).files = [142];
 key(146).word = 'write';
-key(146).files = [143, 144];
+key(146).files = [145, 146];
 key(147).word = 'file';
-key(147).files = [144, 189, 191];
+key(147).files = [146, 191, 193];
 key(148).word = 'Finesse';
-key(148).files = [144, 147];
+key(148).files = [146, 149];
 key(149).word = 'Virgo';
-key(149).files = [147];
+key(149).files = [149];
 key(150).word = 'add';
-key(150).files = [155];
+key(150).files = [157];
 key(151).word = 'two';
-key(151).files = [156];
+key(151).files = [158];
 key(152).word = 'roundtrip';
-key(152).files = [157];
+key(152).files = [159];
 key(153).word = 'throughput';
-key(153).files = [158, 160];
+key(153).files = [160, 162];
 key(154).word = 'transmittance';
-key(154).files = [158];
+key(154).files = [160];
 key(155).word = 'Airy';
-key(155).files = [160];
+key(155).files = [162];
 key(156).word = 'free';
-key(156).files = [163];
+key(156).files = [165];
 key(157).word = 'blur';
-key(157).files = [175];
+key(157).files = [177];
 key(158).word = 'filter';
-key(158).files = [175];
+key(158).files = [177];
 key(159).word = 'box';
-key(159).files = [176];
+key(159).files = [178];
 key(160).word = 'subset';
-key(160).files = [176];
+key(160).files = [178];
 key(161).word = 'threshold';
-key(161).files = [176];
+key(161).files = [178];
 key(162).word = 'mass';
-key(162).files = [177];
+key(162).files = [179];
 key(163).word = 'com';
-key(163).files = [177];
+key(163).files = [179];
 key(164).word = 'date';
-key(164).files = [178, 179];
+key(164).files = [180, 181];
 key(165).word = 'time';
-key(165).files = [178, 179];
+key(165).files = [180, 181];
 key(166).word = 'datetime';
-key(166).files = [178, 179];
+key(166).files = [180, 181];
 key(167).word = 'datestring';
-key(167).files = [178, 179];
+key(167).files = [180, 181];
 key(168).word = 'filename';
-key(168).files = [178];
+key(168).files = [180];
 key(169).word = 'message';
-key(169).files = [180, 184];
+key(169).files = [182, 186];
 key(170).word = 'warning';
-key(170).files = [180, 184];
+key(170).files = [182, 186];
 key(171).word = 'normalise';
-key(171).files = [181];
+key(171).files = [183];
 key(172).word = 'max';
-key(172).files = [181];
+key(172).files = [183];
 key(173).word = 'min';
-key(173).files = [181];
+key(173).files = [183];
 key(174).word = 'maximum';
-key(174).files = [181];
+key(174).files = [183];
 key(175).word = 'minimum';
-key(175).files = [181];
+key(175).files = [183];
 key(176).word = 'piston';
-key(176).files = [182];
+key(176).files = [184];
 key(177).word = 'rotate';
-key(177).files = [183];
+key(177).files = [185];
 key(178).word = 'angle';
-key(178).files = [183];
+key(178).files = [185];
 key(179).word = 'colormap';
-key(179).files = [185, 186, 187];
+key(179).files = [187, 188, 189];
 key(180).word = 'colourmap';
-key(180).files = [185, 186, 187];
+key(180).files = [187, 188, 189];
 key(181).word = 'color';
-key(181).files = [185, 186, 187];
+key(181).files = [187, 188, 189];
 key(182).word = 'colour';
-key(182).files = [185, 186, 187];
+key(182).files = [187, 188, 189];
 key(183).word = 'bipolar';
-key(183).files = [185];
+key(183).files = [187];
 key(184).word = 'negative';
-key(184).files = [186];
+key(184).files = [188];
 key(185).word = 'neg';
-key(185).files = [186];
+key(185).files = [188];
 key(186).word = 'FT_flip_colormap';
-key(186).files = [186, 187];
+key(186).files = [188, 189];
 key(187).word = 'positive';
-key(187).files = [187];
+key(187).files = [189];
 key(188).word = 'pos';
-key(188).files = [187];
+key(188).files = [189];
 key(189).word = 'gzip';
-key(189).files = [189];
+key(189).files = [191];
 key(190).word = 'unzip';
-key(190).files = [189];
+key(190).files = [191];
 key(191).word = 'zip';
-key(191).files = [189];
+key(191).files = [191];
 key(192).word = 'list';
-key(192).files = [191];
+key(192).files = [193];
 key(193).word = 'folder';
-key(193).files = [191];
+key(193).files = [193];
 key(194).word = 'Jacobi';
-key(194).files = [197];
+key(194).files = [199];
 key(195).word = 'polynomial';
-key(195).files = [197];
+key(195).files = [199];
 key(196).word = 'math';
-key(196).files = [198];
+key(196).files = [200];
 key(197).word = 'Kronecker';
-key(197).files = [198];
+key(197).files = [200];
 key(198).word = 'delta';
-key(198).files = [198];
+key(198).files = [200];
 key(199).word = 'major';
-key(199).files = [200];
+key(199).files = [202];
 key(200).word = 'tick';
-key(200).files = [200];
+key(200).files = [202];
 key(201).word = 'mark';
-key(201).files = [200];
+key(201).files = [202];
 key(202).word = 'log';
-key(202).files = [200];
+key(202).files = [202];
 key(203).word = 'progress';
-key(203).files = [201];
+key(203).files = [203];
diff --git a/src/help_info_out.m b/src/help_info_out.m
index 773fddaa844d0af683ede8de2a7812b8cbc3d977..dfc8e008bc2183cbb09667caacd32a4e94772a21 100644
--- a/src/help_info_out.m
+++ b/src/help_info_out.m
@@ -1,7 +1,7 @@
 %---------------------------------------------------------------------
 % Data File: help_info_out
 % Stores information about all functions in "/Users/adf/work/git/simtools/src"
-% Last Updated: 2013-01-25 01:40:44.628174
+% Last Updated: 2013-01-31 15:31:07.445335
 %---------------------------------------------------------------------
 index(1).name = 'FT_function_template';
 index(1).path = '/Users/adf/work/git/simtools/src';
@@ -533,478 +533,488 @@ index(106).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis';
 index(106).description = [{'Tries to guess the size of an LG mode shape in a given 2D array'}];
 index(106).keys = [{'guess'},{'size'},{'LG'},{'mode'},{'2D'}];
 index(106).cats = [{'GaussBeams'},{'beam_analysis'}];
-index(107).name = 'FT_lg2hg';
+index(107).name = 'FT_hg2lg';
 index(107).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis';
 index(107).description = [{'(no description)'}];
 index(107).keys = [{'(no marker)'}];
 index(107).cats = [{'GaussBeams'},{'beam_analysis'}];
-index(108).name = 'FT_mode_content';
+index(108).name = 'FT_lg2hg';
 index(108).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis';
-index(108).description = [{'Computes the deconvolution of a given field distribution,'},{'field_in, into Gaussian modes'}];
-index(108).keys = [{'deconvolution'},{'field'},{'distribution'},{'Gaussian'},{'mode'},{'content'}];
+index(108).description = [{'(no description)'}];
+index(108).keys = [{'(no marker)'}];
 index(108).cats = [{'GaussBeams'},{'beam_analysis'}];
-index(109).name = 'FT_print_gauss_coefficients';
+index(109).name = 'FT_mode_content';
 index(109).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis';
-index(109).description = [{'Prints the content of a mode coefficient structure "gc"'}];
-index(109).keys = [{'print'},{'content'},{'Gaussian'},{'mode'},{'coefficients'},{'gc'}];
+index(109).description = [{'Computes the deconvolution of a given field distribution,'},{'field_in, into Gaussian modes'}];
+index(109).keys = [{'deconvolution'},{'field'},{'distribution'},{'Gaussian'},{'mode'},{'content'}];
 index(109).cats = [{'GaussBeams'},{'beam_analysis'}];
-index(110).name = 'FT_print_gauss_coefficients_to_file';
+index(110).name = 'FT_print_gauss_coefficients';
 index(110).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis';
 index(110).description = [{'Prints the content of a mode coefficient structure "gc"'}];
 index(110).keys = [{'print'},{'content'},{'Gaussian'},{'mode'},{'coefficients'},{'gc'}];
 index(110).cats = [{'GaussBeams'},{'beam_analysis'}];
-index(111).name = 'FT_print_mode_coefficients';
+index(111).name = 'FT_print_gauss_coefficients_to_file';
 index(111).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis';
 index(111).description = [{'Prints the content of a mode coefficient structure "gc"'}];
-index(111).keys = [{'print'},{'content'},{'mode'},{'coefficient'},{'gc'}];
+index(111).keys = [{'print'},{'content'},{'Gaussian'},{'mode'},{'coefficients'},{'gc'}];
 index(111).cats = [{'GaussBeams'},{'beam_analysis'}];
-index(112).name = 'FT_set_mode_coefficient';
+index(112).name = 'FT_print_mode_coefficients';
 index(112).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis';
-index(112).description = [{'Sets the value of a mode coefficient in a structure "gc"'}];
-index(112).keys = [{'set'},{'mode'},{'coefficient'},{'gc'}];
+index(112).description = [{'Prints the content of a mode coefficient structure "gc"'}];
+index(112).keys = [{'print'},{'content'},{'mode'},{'coefficient'},{'gc'}];
 index(112).cats = [{'GaussBeams'},{'beam_analysis'}];
-index(113).name = 'FTE_fit_LG';
-index(113).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis/example';
-index(113).description = [{'Example for fitting an LG mode shape to an CCD image'}];
-index(113).keys = [{'example'},{'LG'},{'mode'},{'fit'},{'Gauss'}];
-index(113).cats = [{'GaussBeams'},{'beam_analysis'},{'example'}];
-index(114).name = 'FTE_lg2hg_example';
+index(113).name = 'FT_set_mode_coefficient';
+index(113).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis';
+index(113).description = [{'Sets the value of a mode coefficient in a structure "gc"'}];
+index(113).keys = [{'set'},{'mode'},{'coefficient'},{'gc'}];
+index(113).cats = [{'GaussBeams'},{'beam_analysis'}];
+index(114).name = 'FTE_fit_LG';
 index(114).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis/example';
-index(114).description = [{'(no description)'}];
-index(114).keys = [{'(no marker)'}];
+index(114).description = [{'Example for fitting an LG mode shape to an CCD image'}];
+index(114).keys = [{'example'},{'LG'},{'mode'},{'fit'},{'Gauss'}];
 index(114).cats = [{'GaussBeams'},{'beam_analysis'},{'example'}];
-index(115).name = 'FTE_make_test';
+index(115).name = 'FTE_hg2lg_example';
 index(115).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis/example';
 index(115).description = [{'(no description)'}];
 index(115).keys = [{'(no marker)'}];
 index(115).cats = [{'GaussBeams'},{'beam_analysis'},{'example'}];
-index(116).name = 'FTE_mode_contribution';
+index(116).name = 'FTE_lg2hg_example';
 index(116).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis/example';
-index(116).description = [{'Example for fitting modal decomposition of a Gauss beam'}];
-index(116).keys = [{'example'},{'mode'},{'Gauss'},{'decomposition'},{'coefficient'}];
+index(116).description = [{'(no description)'}];
+index(116).keys = [{'(no marker)'}];
 index(116).cats = [{'GaussBeams'},{'beam_analysis'},{'example'}];
-index(117).name = 'FTE_plot_Gauss';
-index(117).path = '/Users/adf/work/git/simtools/src/GaussBeams/example';
-index(117).description = [{'Example for plotting a Gaussian beam profile'}];
-index(117).keys = [{'example'},{'plot'},{'power'},{'Gauss'}];
-index(117).cats = [{'GaussBeams'},{'example'}];
-index(118).name = 'FTE_power_in_field';
-index(118).path = '/Users/adf/work/git/simtools/src/GaussBeams/example';
-index(118).description = [{'Example for using computing the total power in a complex field array.'}];
-index(118).keys = [{'example'},{'field'},{'power'},{'Gauss'}];
-index(118).cats = [{'GaussBeams'},{'example'}];
-index(119).name = 'FT_Agilent6000_bin_to_ascii';
-index(119).path = '/Users/adf/work/git/simtools/src/instruments';
-index(119).description = [{'Reads a binary file saved by an Agilent 6000 scope and saves'},{'the data as an ascii file'}];
-index(119).keys = [{'convert'},{'Agilent6000'},{'bin'},{'ascii'},{'data'}];
-index(119).cats = [{'instruments'}];
-index(120).name = 'FT_read_Agilent6000_ascii';
-index(120).path = '/Users/adf/work/git/simtools/src/instruments';
-index(120).description = [{'Reads an ascii data file saved by an Agilent 6000 scope'}];
-index(120).keys = [{'read'},{'Agilent6000'},{'ascii'},{'data'}];
-index(120).cats = [{'instruments'}];
-index(121).name = 'FT_read_Agilent6000_bin';
+index(117).name = 'FTE_make_test';
+index(117).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis/example';
+index(117).description = [{'(no description)'}];
+index(117).keys = [{'(no marker)'}];
+index(117).cats = [{'GaussBeams'},{'beam_analysis'},{'example'}];
+index(118).name = 'FTE_mode_contribution';
+index(118).path = '/Users/adf/work/git/simtools/src/GaussBeams/beam_analysis/example';
+index(118).description = [{'Example for fitting modal decomposition of a Gauss beam'}];
+index(118).keys = [{'example'},{'mode'},{'Gauss'},{'decomposition'},{'coefficient'}];
+index(118).cats = [{'GaussBeams'},{'beam_analysis'},{'example'}];
+index(119).name = 'FTE_plot_Gauss';
+index(119).path = '/Users/adf/work/git/simtools/src/GaussBeams/example';
+index(119).description = [{'Example for plotting a Gaussian beam profile'}];
+index(119).keys = [{'example'},{'plot'},{'power'},{'Gauss'}];
+index(119).cats = [{'GaussBeams'},{'example'}];
+index(120).name = 'FTE_power_in_field';
+index(120).path = '/Users/adf/work/git/simtools/src/GaussBeams/example';
+index(120).description = [{'Example for using computing the total power in a complex field array.'}];
+index(120).keys = [{'example'},{'field'},{'power'},{'Gauss'}];
+index(120).cats = [{'GaussBeams'},{'example'}];
+index(121).name = 'FT_Agilent6000_bin_to_ascii';
 index(121).path = '/Users/adf/work/git/simtools/src/instruments';
-index(121).description = [{'Reads a binary data file saved by an Agilent 6000 scope'}];
-index(121).keys = [{'read'},{'Agilent6000'},{'bin'},{'data'}];
+index(121).description = [{'Reads a binary file saved by an Agilent 6000 scope and saves'},{'the data as an ascii file'}];
+index(121).keys = [{'convert'},{'Agilent6000'},{'bin'},{'ascii'},{'data'}];
 index(121).cats = [{'instruments'}];
-index(122).name = 'FT_read_Agilent6000_info';
+index(122).name = 'FT_read_Agilent6000_ascii';
 index(122).path = '/Users/adf/work/git/simtools/src/instruments';
-index(122).description = [{'Reads info file saved by an Agilent 6000 scope'}];
-index(122).keys = [{'read'},{'Agilent6000'},{'info'}];
+index(122).description = [{'Reads an ascii data file saved by an Agilent 6000 scope'}];
+index(122).keys = [{'read'},{'Agilent6000'},{'ascii'},{'data'}];
 index(122).cats = [{'instruments'}];
-index(123).name = 'FT_read_HPNA_ascii';
+index(123).name = 'FT_read_Agilent6000_bin';
 index(123).path = '/Users/adf/work/git/simtools/src/instruments';
-index(123).description = [{'Reads an ascii data file saved by an HP network analyser'}];
-index(123).keys = [{'read'},{'ascii'},{'data'},{'HP'},{'network'},{'analyser'}];
+index(123).description = [{'Reads a binary data file saved by an Agilent 6000 scope'}];
+index(123).keys = [{'read'},{'Agilent6000'},{'bin'},{'data'}];
 index(123).cats = [{'instruments'}];
-index(124).name = 'FT_read_WinCamD_ascii';
+index(124).name = 'FT_read_Agilent6000_info';
 index(124).path = '/Users/adf/work/git/simtools/src/instruments';
-index(124).description = [{'Reads an ascii data file saved by an WinCamD beam analyzer'}];
-index(124).keys = [{'read'},{'WinCamD'},{'ascii'},{'data'},{'beam'},{'analyzer'}];
+index(124).description = [{'Reads info file saved by an Agilent 6000 scope'}];
+index(124).keys = [{'read'},{'Agilent6000'},{'info'}];
 index(124).cats = [{'instruments'}];
-index(125).name = 'FT_calibrate_map_diameter';
-index(125).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(125).description = [{'calibrates the delta x, y values of a map'}];
-index(125).keys = [{'calibrate'},{'map'}];
-index(125).cats = [{'mirror_maps'}];
-index(126).name = 'FT_create_aperture_map';
-index(126).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(126).description = [{'computes and writes an aperture (absorption) map'}];
-index(126).keys = [{'aperture'},{'mirror'},{'map'},{'create'}];
-index(126).cats = [{'mirror_maps'}];
-index(127).name = 'FT_create_elliptical_aperture_map';
+index(125).name = 'FT_read_HPNA_ascii';
+index(125).path = '/Users/adf/work/git/simtools/src/instruments';
+index(125).description = [{'Reads an ascii data file saved by an HP network analyser'}];
+index(125).keys = [{'read'},{'ascii'},{'data'},{'HP'},{'network'},{'analyser'}];
+index(125).cats = [{'instruments'}];
+index(126).name = 'FT_read_WinCamD_ascii';
+index(126).path = '/Users/adf/work/git/simtools/src/instruments';
+index(126).description = [{'Reads an ascii data file saved by an WinCamD beam analyzer'}];
+index(126).keys = [{'read'},{'WinCamD'},{'ascii'},{'data'},{'beam'},{'analyzer'}];
+index(126).cats = [{'instruments'}];
+index(127).name = 'FT_calibrate_map_diameter';
 index(127).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(127).description = [{'(no description)'}];
-index(127).keys = [{'(no marker)'}];
+index(127).description = [{'calibrates the delta x, y values of a map'}];
+index(127).keys = [{'calibrate'},{'map'}];
 index(127).cats = [{'mirror_maps'}];
-index(128).name = 'FT_create_sphere_for_map';
+index(128).name = 'FT_create_aperture_map';
 index(128).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(128).description = [{'(no description)'}];
-index(128).keys = [{'(no marker)'}];
+index(128).description = [{'computes and writes an aperture (absorption) map'}];
+index(128).keys = [{'aperture'},{'mirror'},{'map'},{'create'}];
 index(128).cats = [{'mirror_maps'}];
-index(129).name = 'FT_find_map_radius';
+index(129).name = 'FT_create_elliptical_aperture_map';
 index(129).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(129).description = [{'estimates the radius of a mirror given a mirror map'}];
-index(129).keys = [{'radius'},{'mirror'},{'map'}];
+index(129).description = [{'(no description)'}];
+index(129).keys = [{'(no marker)'}];
 index(129).cats = [{'mirror_maps'}];
-index(130).name = 'FT_invert_mirror_map';
+index(130).name = 'FT_create_sphere_for_map';
 index(130).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(130).description = [{'inverts (flips) a mirror map'}];
-index(130).keys = [{'mirror'},{'map'},{'invert'},{'flip'}];
+index(130).description = [{'(no description)'}];
+index(130).keys = [{'(no marker)'}];
 index(130).cats = [{'mirror_maps'}];
-index(131).name = 'FT_map_rms';
+index(131).name = 'FT_find_map_radius';
 index(131).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(131).description = [{'Computes the rms surface distortion of a mirror surface map'}];
-index(131).keys = [{'rms'},{'surface'},{'distortion'},{'mirror'},{'map'},{'root'},{'mean'},{'square'}];
+index(131).description = [{'estimates the radius of a mirror given a mirror map'}];
+index(131).keys = [{'radius'},{'mirror'},{'map'}];
 index(131).cats = [{'mirror_maps'}];
-index(132).name = 'FT_new_surface_map';
+index(132).name = 'FT_invert_mirror_map';
 index(132).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(132).description = [{'(no description)'}];
-index(132).keys = [{'(no marker)'}];
+index(132).description = [{'inverts (flips) a mirror map'}];
+index(132).keys = [{'mirror'},{'map'},{'invert'},{'flip'}];
 index(132).cats = [{'mirror_maps'}];
-index(133).name = 'FT_plot_mirror_map';
+index(133).name = 'FT_map_rms';
 index(133).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(133).description = [{'plots a mirror surface map'}];
-index(133).keys = [{'plot'},{'mirror'},{'map'}];
+index(133).description = [{'Computes the rms surface distortion of a mirror surface map'}];
+index(133).keys = [{'rms'},{'surface'},{'distortion'},{'mirror'},{'map'},{'root'},{'mean'},{'square'}];
 index(133).cats = [{'mirror_maps'}];
-index(134).name = 'FT_read_surface_map';
+index(134).name = 'FT_new_surface_map';
 index(134).path = '/Users/adf/work/git/simtools/src/mirror_maps';
 index(134).description = [{'(no description)'}];
 index(134).keys = [{'(no marker)'}];
 index(134).cats = [{'mirror_maps'}];
-index(135).name = 'FT_read_zygo_map';
+index(135).name = 'FT_plot_mirror_map';
 index(135).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(135).description = [{'Reads a mirror surface map in Zygo interferometer format'}];
-index(135).keys = [{'zygo'},{'mirror'},{'map'},{'read'}];
+index(135).description = [{'plots a mirror surface map'}];
+index(135).keys = [{'plot'},{'mirror'},{'map'}];
 index(135).cats = [{'mirror_maps'}];
-index(136).name = 'FT_recenter_mirror_map';
+index(136).name = 'FT_read_surface_map';
 index(136).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(136).description = [{'recenters a mirror map by computing the center of gravity'}];
-index(136).keys = [{'mirror'},{'map'},{'center'}];
+index(136).description = [{'(no description)'}];
+index(136).keys = [{'(no marker)'}];
 index(136).cats = [{'mirror_maps'}];
-index(137).name = 'FT_remove_curvature_from_mirror_map';
+index(137).name = 'FT_read_zygo_map';
 index(137).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(137).description = [{'fits a curvature to a mirror map and removes it'}];
-index(137).keys = [{'mirror'},{'map'},{'curvature'},{'fit'},{'remove'}];
+index(137).description = [{'Reads a mirror surface map in Zygo interferometer format'}];
+index(137).keys = [{'zygo'},{'mirror'},{'map'},{'read'}];
 index(137).cats = [{'mirror_maps'}];
-index(138).name = 'FT_remove_elements_from_map';
+index(138).name = 'FT_recenter_mirror_map';
 index(138).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(138).description = [{'(no description)'}];
-index(138).keys = [{'(no marker)'}];
+index(138).description = [{'recenters a mirror map by computing the center of gravity'}];
+index(138).keys = [{'mirror'},{'map'},{'center'}];
 index(138).cats = [{'mirror_maps'}];
-index(139).name = 'FT_remove_elements_outside_map';
+index(139).name = 'FT_remove_curvature_from_mirror_map';
 index(139).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(139).description = [{'Removes outer ring of NaN data from a mirror map'}];
-index(139).keys = [{'map'},{'mirror'},{'remove'},{'data'},{'nan'}];
+index(139).description = [{'fits a curvature to a mirror map and removes it'}];
+index(139).keys = [{'mirror'},{'map'},{'curvature'},{'fit'},{'remove'}];
 index(139).cats = [{'mirror_maps'}];
-index(140).name = 'FT_remove_offset_from_mirror_map';
+index(140).name = 'FT_remove_elements_from_map';
 index(140).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(140).description = [{'removes an offset from a mirror map'}];
-index(140).keys = [{'mirror'},{'map'},{'offset'},{'remove'}];
+index(140).description = [{'(no description)'}];
+index(140).keys = [{'(no marker)'}];
 index(140).cats = [{'mirror_maps'}];
-index(141).name = 'FT_remove_piston_from_mirror_map';
+index(141).name = 'FT_remove_elements_outside_map';
 index(141).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(141).description = [{'fits a tilted plane to a mirror map and removes it'}];
-index(141).keys = [{'mirror'},{'map'},{'tilt'},{'fit'},{'remove'}];
+index(141).description = [{'Removes outer ring of NaN data from a mirror map'}];
+index(141).keys = [{'map'},{'mirror'},{'remove'},{'data'},{'nan'}];
 index(141).cats = [{'mirror_maps'}];
-index(142).name = 'FT_select_area_in_map';
+index(142).name = 'FT_remove_offset_from_mirror_map';
 index(142).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(142).description = [{'(no description)'}];
-index(142).keys = [{'(no marker)'}];
+index(142).description = [{'removes an offset from a mirror map'}];
+index(142).keys = [{'mirror'},{'map'},{'offset'},{'remove'}];
 index(142).cats = [{'mirror_maps'}];
-index(143).name = 'FT_write_map_fit_results';
+index(143).name = 'FT_remove_piston_from_mirror_map';
 index(143).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(143).description = [{'writes a the results of a surface fit to a map'}];
-index(143).keys = [{'write'},{'map'},{'tilt'},{'curvature'},{'fit'}];
+index(143).description = [{'fits a tilted plane to a mirror map and removes it'}];
+index(143).keys = [{'mirror'},{'map'},{'tilt'},{'fit'},{'remove'}];
 index(143).cats = [{'mirror_maps'}];
-index(144).name = 'FT_write_surface_map';
+index(144).name = 'FT_select_area_in_map';
 index(144).path = '/Users/adf/work/git/simtools/src/mirror_maps';
-index(144).description = [{'writes a mirror map into a file in Finesse readable format'}];
-index(144).keys = [{'write'},{'map'},{'file'},{'Finesse'}];
+index(144).description = [{'(no description)'}];
+index(144).keys = [{'(no marker)'}];
 index(144).cats = [{'mirror_maps'}];
-index(145).name = 'FT_convert_ligo_map_for_finesse';
-index(145).path = '/Users/adf/work/git/simtools/src/mirror_maps/ligo_maps';
-index(145).description = [{'(no description)'}];
-index(145).keys = [{'(no marker)'}];
-index(145).cats = [{'mirror_maps'},{'ligo_maps'}];
-index(146).name = 'FT_read_ligo_map';
-index(146).path = '/Users/adf/work/git/simtools/src/mirror_maps/ligo_maps';
-index(146).description = [{'(no description)'}];
-index(146).keys = [{'(no marker)'}];
-index(146).cats = [{'mirror_maps'},{'ligo_maps'}];
-index(147).name = 'FT_convert_virgo_map_for_finesse';
-index(147).path = '/Users/adf/work/git/simtools/src/mirror_maps/virgo_maps';
-index(147).description = [{'converts a Virgo mirror map into Finess readable format'}];
-index(147).keys = [{'mirror'},{'map'},{'Virgo'},{'Finesse'}];
-index(147).cats = [{'mirror_maps'},{'virgo_maps'}];
-index(148).name = 'FT_plot_virgo_map';
-index(148).path = '/Users/adf/work/git/simtools/src/mirror_maps/virgo_maps';
+index(145).name = 'FT_write_map_fit_results';
+index(145).path = '/Users/adf/work/git/simtools/src/mirror_maps';
+index(145).description = [{'writes a the results of a surface fit to a map'}];
+index(145).keys = [{'write'},{'map'},{'tilt'},{'curvature'},{'fit'}];
+index(145).cats = [{'mirror_maps'}];
+index(146).name = 'FT_write_surface_map';
+index(146).path = '/Users/adf/work/git/simtools/src/mirror_maps';
+index(146).description = [{'writes a mirror map into a file in Finesse readable format'}];
+index(146).keys = [{'write'},{'map'},{'file'},{'Finesse'}];
+index(146).cats = [{'mirror_maps'}];
+index(147).name = 'FT_convert_ligo_map_for_finesse';
+index(147).path = '/Users/adf/work/git/simtools/src/mirror_maps/ligo_maps';
+index(147).description = [{'(no description)'}];
+index(147).keys = [{'(no marker)'}];
+index(147).cats = [{'mirror_maps'},{'ligo_maps'}];
+index(148).name = 'FT_read_ligo_map';
+index(148).path = '/Users/adf/work/git/simtools/src/mirror_maps/ligo_maps';
 index(148).description = [{'(no description)'}];
 index(148).keys = [{'(no marker)'}];
-index(148).cats = [{'mirror_maps'},{'virgo_maps'}];
-index(149).name = 'FT_read_virgo_map';
+index(148).cats = [{'mirror_maps'},{'ligo_maps'}];
+index(149).name = 'FT_convert_virgo_map_for_finesse';
 index(149).path = '/Users/adf/work/git/simtools/src/mirror_maps/virgo_maps';
-index(149).description = [{'(no description)'}];
-index(149).keys = [{'(no marker)'}];
+index(149).description = [{'converts a Virgo mirror map into Finess readable format'}];
+index(149).keys = [{'mirror'},{'map'},{'Virgo'},{'Finesse'}];
 index(149).cats = [{'mirror_maps'},{'virgo_maps'}];
-index(150).name = 'FT_virgo_aperture_map';
+index(150).name = 'FT_plot_virgo_map';
 index(150).path = '/Users/adf/work/git/simtools/src/mirror_maps/virgo_maps';
 index(150).description = [{'(no description)'}];
 index(150).keys = [{'(no marker)'}];
 index(150).cats = [{'mirror_maps'},{'virgo_maps'}];
-index(151).name = 'FTE_zygo_map_01';
-index(151).path = '/Users/adf/work/git/simtools/src/mirror_maps/zygo_map';
-index(151).description = [{'Example for reading a Zygo mirror map'}];
-index(151).keys = [{'zygo'},{'mirror'},{'map'},{'read'}];
-index(151).cats = [{'mirror_maps'},{'zygo_map'}];
-index(152).name = 'FTE_zygo_map_02';
-index(152).path = '/Users/adf/work/git/simtools/src/mirror_maps/zygo_map';
-index(152).description = [{'Example for reading a Zygo mirror map'}];
-index(152).keys = [{'zygo'},{'mirror'},{'map'},{'read'}];
-index(152).cats = [{'mirror_maps'},{'zygo_map'}];
-index(153).name = 'FTE_zygo_map_03';
+index(151).name = 'FT_read_virgo_map';
+index(151).path = '/Users/adf/work/git/simtools/src/mirror_maps/virgo_maps';
+index(151).description = [{'(no description)'}];
+index(151).keys = [{'(no marker)'}];
+index(151).cats = [{'mirror_maps'},{'virgo_maps'}];
+index(152).name = 'FT_virgo_aperture_map';
+index(152).path = '/Users/adf/work/git/simtools/src/mirror_maps/virgo_maps';
+index(152).description = [{'(no description)'}];
+index(152).keys = [{'(no marker)'}];
+index(152).cats = [{'mirror_maps'},{'virgo_maps'}];
+index(153).name = 'FTE_zygo_map_01';
 index(153).path = '/Users/adf/work/git/simtools/src/mirror_maps/zygo_map';
 index(153).description = [{'Example for reading a Zygo mirror map'}];
 index(153).keys = [{'zygo'},{'mirror'},{'map'},{'read'}];
 index(153).cats = [{'mirror_maps'},{'zygo_map'}];
-index(154).name = 'FTE_zygo_map_04';
+index(154).name = 'FTE_zygo_map_02';
 index(154).path = '/Users/adf/work/git/simtools/src/mirror_maps/zygo_map';
 index(154).description = [{'Example for reading a Zygo mirror map'}];
 index(154).keys = [{'zygo'},{'mirror'},{'map'},{'read'}];
 index(154).cats = [{'mirror_maps'},{'zygo_map'}];
-index(155).name = 'FT_add_mirror_map';
-index(155).path = '/Users/adf/work/git/simtools/src/optical_components';
-index(155).description = [{'Computes mirror maps for reflection and transmission of a mirror'}];
-index(155).keys = [{'add'},{'mirror'},{'map'}];
-index(155).cats = [{'optical_components'}];
-index(156).name = 'FT_cavity_fields';
-index(156).path = '/Users/adf/work/git/simtools/src/optical_components';
-index(156).description = [{'Computes the fields of a two mirror cavity'}];
-index(156).keys = [{'field'},{'two'},{'mirror'}];
-index(156).cats = [{'optical_components'}];
-index(157).name = 'FT_cavity_roundtrip_Gouy';
+index(155).name = 'FTE_zygo_map_03';
+index(155).path = '/Users/adf/work/git/simtools/src/mirror_maps/zygo_map';
+index(155).description = [{'Example for reading a Zygo mirror map'}];
+index(155).keys = [{'zygo'},{'mirror'},{'map'},{'read'}];
+index(155).cats = [{'mirror_maps'},{'zygo_map'}];
+index(156).name = 'FTE_zygo_map_04';
+index(156).path = '/Users/adf/work/git/simtools/src/mirror_maps/zygo_map';
+index(156).description = [{'Example for reading a Zygo mirror map'}];
+index(156).keys = [{'zygo'},{'mirror'},{'map'},{'read'}];
+index(156).cats = [{'mirror_maps'},{'zygo_map'}];
+index(157).name = 'FT_add_mirror_map';
 index(157).path = '/Users/adf/work/git/simtools/src/optical_components';
-index(157).description = [{'Computes the roundtrip Gouy phase of a cavity eigenmode'}];
-index(157).keys = [{'Guoy'},{'phase'},{'roundtrip'},{'eigenmode'}];
+index(157).description = [{'Computes mirror maps for reflection and transmission of a mirror'}];
+index(157).keys = [{'add'},{'mirror'},{'map'}];
 index(157).cats = [{'optical_components'}];
-index(158).name = 'FT_cavity_throughput';
+index(158).name = 'FT_cavity_fields';
 index(158).path = '/Users/adf/work/git/simtools/src/optical_components';
-index(158).description = [{'Computes the throughput of a cavity as a function of power'},{'transmittance and cavity finesse'}];
-index(158).keys = [{'throughput'},{'transmittance'}];
+index(158).description = [{'Computes the fields of a two mirror cavity'}];
+index(158).keys = [{'field'},{'two'},{'mirror'}];
 index(158).cats = [{'optical_components'}];
-index(159).name = 'FT_cavity_w2Rc';
+index(159).name = 'FT_cavity_roundtrip_Gouy';
 index(159).path = '/Users/adf/work/git/simtools/src/optical_components';
-index(159).description = [{'Computes mirror radius of curvature from beamsize for'},{'a linear, symmetric cavity'}];
-index(159).keys = [{'radius'},{'curvature'}];
+index(159).description = [{'Computes the roundtrip Gouy phase of a cavity eigenmode'}];
+index(159).keys = [{'Guoy'},{'phase'},{'roundtrip'},{'eigenmode'}];
 index(159).cats = [{'optical_components'}];
-index(160).name = 'FT_fit_cavity_finesse';
+index(160).name = 'FT_cavity_throughput';
 index(160).path = '/Users/adf/work/git/simtools/src/optical_components';
-index(160).description = [{'Fits the Airy function of a cavity to a measured scan of'},{'cavity throughput'}];
-index(160).keys = [{'Airy'},{'throughput'}];
+index(160).description = [{'Computes the throughput of a cavity as a function of power'},{'transmittance and cavity finesse'}];
+index(160).keys = [{'throughput'},{'transmittance'}];
 index(160).cats = [{'optical_components'}];
-index(161).name = 'FT_init_cavity';
+index(161).name = 'FT_cavity_w2Rc';
 index(161).path = '/Users/adf/work/git/simtools/src/optical_components';
-index(161).description = [{'Creates "cavity" structure for storing parameters of cavity'}];
-index(161).keys = [{'init'},{'cavity'},{'structure'},{'parameter'}];
+index(161).description = [{'Computes mirror radius of curvature from beamsize for'},{'a linear, symmetric cavity'}];
+index(161).keys = [{'radius'},{'curvature'}];
 index(161).cats = [{'optical_components'}];
-index(162).name = 'FT_init_mirror';
+index(162).name = 'FT_fit_cavity_finesse';
 index(162).path = '/Users/adf/work/git/simtools/src/optical_components';
-index(162).description = [{'Creates "mirror" structure for storing parameters of a mirror'}];
-index(162).keys = [{'init'},{'mirror'},{'structure'},{'parameter'}];
+index(162).description = [{'Fits the Airy function of a cavity to a measured scan of'},{'cavity throughput'}];
+index(162).keys = [{'Airy'},{'throughput'}];
 index(162).cats = [{'optical_components'}];
-index(163).name = 'FT_init_space';
+index(163).name = 'FT_init_cavity';
 index(163).path = '/Users/adf/work/git/simtools/src/optical_components';
-index(163).description = [{'Creates "space" structure for storing parameters of a free space'}];
-index(163).keys = [{'init'},{'free'},{'space'},{'structure'},{'parameter'},{'propagation'}];
+index(163).description = [{'Creates "cavity" structure for storing parameters of cavity'}];
+index(163).keys = [{'init'},{'cavity'},{'structure'},{'parameter'}];
 index(163).cats = [{'optical_components'}];
-index(164).name = 'FT_add_comment_char_to_line';
-index(164).path = '/Users/adf/work/git/simtools/src/parse';
-index(164).description = [{'(no description)'}];
-index(164).keys = [{'(no marker)'}];
-index(164).cats = [{'parse'}];
-index(165).name = 'FT_get_element_from_line';
-index(165).path = '/Users/adf/work/git/simtools/src/parse';
-index(165).description = [{'(no description)'}];
-index(165).keys = [{'(no marker)'}];
-index(165).cats = [{'parse'}];
-index(166).name = 'FT_parse_line';
+index(164).name = 'FT_init_mirror';
+index(164).path = '/Users/adf/work/git/simtools/src/optical_components';
+index(164).description = [{'Creates "mirror" structure for storing parameters of a mirror'}];
+index(164).keys = [{'init'},{'mirror'},{'structure'},{'parameter'}];
+index(164).cats = [{'optical_components'}];
+index(165).name = 'FT_init_space';
+index(165).path = '/Users/adf/work/git/simtools/src/optical_components';
+index(165).description = [{'Creates "space" structure for storing parameters of a free space'}];
+index(165).keys = [{'init'},{'free'},{'space'},{'structure'},{'parameter'},{'propagation'}];
+index(165).cats = [{'optical_components'}];
+index(166).name = 'FT_add_comment_char_to_line';
 index(166).path = '/Users/adf/work/git/simtools/src/parse';
 index(166).description = [{'(no description)'}];
 index(166).keys = [{'(no marker)'}];
 index(166).cats = [{'parse'}];
-index(167).name = 'FT_remove_comment_char_from_line';
+index(167).name = 'FT_get_element_from_line';
 index(167).path = '/Users/adf/work/git/simtools/src/parse';
 index(167).description = [{'(no description)'}];
 index(167).keys = [{'(no marker)'}];
 index(167).cats = [{'parse'}];
-index(168).name = 'FT_remove_comment_from_line';
+index(168).name = 'FT_parse_line';
 index(168).path = '/Users/adf/work/git/simtools/src/parse';
 index(168).description = [{'(no description)'}];
 index(168).keys = [{'(no marker)'}];
 index(168).cats = [{'parse'}];
-index(169).name = 'FT_remove_comment_line';
+index(169).name = 'FT_remove_comment_char_from_line';
 index(169).path = '/Users/adf/work/git/simtools/src/parse';
 index(169).description = [{'(no description)'}];
 index(169).keys = [{'(no marker)'}];
 index(169).cats = [{'parse'}];
-index(170).name = 'FT_remove_phrase_from_string';
+index(170).name = 'FT_remove_comment_from_line';
 index(170).path = '/Users/adf/work/git/simtools/src/parse';
 index(170).description = [{'(no description)'}];
 index(170).keys = [{'(no marker)'}];
 index(170).cats = [{'parse'}];
-index(171).name = 'FT_replace_underscores';
+index(171).name = 'FT_remove_comment_line';
 index(171).path = '/Users/adf/work/git/simtools/src/parse';
 index(171).description = [{'(no description)'}];
 index(171).keys = [{'(no marker)'}];
 index(171).cats = [{'parse'}];
-index(172).name = 'FT_replace_value_in_line';
+index(172).name = 'FT_remove_phrase_from_string';
 index(172).path = '/Users/adf/work/git/simtools/src/parse';
 index(172).description = [{'(no description)'}];
 index(172).keys = [{'(no marker)'}];
 index(172).cats = [{'parse'}];
-index(173).name = 'FT_split_line';
+index(173).name = 'FT_replace_underscores';
 index(173).path = '/Users/adf/work/git/simtools/src/parse';
 index(173).description = [{'(no description)'}];
 index(173).keys = [{'(no marker)'}];
 index(173).cats = [{'parse'}];
-index(174).name = 'FT_uncomment_line';
+index(174).name = 'FT_replace_value_in_line';
 index(174).path = '/Users/adf/work/git/simtools/src/parse';
 index(174).description = [{'(no description)'}];
 index(174).keys = [{'(no marker)'}];
 index(174).cats = [{'parse'}];
-index(175).name = 'FT_blur_data';
-index(175).path = '/Users/adf/work/git/simtools/src/utils';
-index(175).description = [{'Blurs a 2D data array with a Gaussian filter'}];
-index(175).keys = [{'blur'},{'2D'},{'Gaussian'},{'filter'},{'data'}];
-index(175).cats = [{'utils'}];
-index(176).name = 'FT_box_data';
-index(176).path = '/Users/adf/work/git/simtools/src/utils';
-index(176).description = [{'Selects a subset of a 2D data grid,'},{'such that it contains all data > threshold'}];
-index(176).keys = [{'box'},{'data'},{'subset'},{'2D'},{'threshold'}];
-index(176).cats = [{'utils'}];
-index(177).name = 'FT_center_of_mass';
+index(175).name = 'FT_split_line';
+index(175).path = '/Users/adf/work/git/simtools/src/parse';
+index(175).description = [{'(no description)'}];
+index(175).keys = [{'(no marker)'}];
+index(175).cats = [{'parse'}];
+index(176).name = 'FT_uncomment_line';
+index(176).path = '/Users/adf/work/git/simtools/src/parse';
+index(176).description = [{'(no description)'}];
+index(176).keys = [{'(no marker)'}];
+index(176).cats = [{'parse'}];
+index(177).name = 'FT_blur_data';
 index(177).path = '/Users/adf/work/git/simtools/src/utils';
-index(177).description = [{'Computes the center of mass of a data array and returns the coordinates'}];
-index(177).keys = [{'center'},{'centre'},{'mass'},{'com'},{'data'}];
+index(177).description = [{'Blurs a 2D data array with a Gaussian filter'}];
+index(177).keys = [{'blur'},{'2D'},{'Gaussian'},{'filter'},{'data'}];
 index(177).cats = [{'utils'}];
-index(178).name = 'FT_create_tmp_filename';
+index(178).name = 'FT_box_data';
 index(178).path = '/Users/adf/work/git/simtools/src/utils';
-index(178).description = [{'Creates a name for temporary files using the current datestring'}];
-index(178).keys = [{'date'},{'time'},{'datetime'},{'datestring'},{'temporary'},{'create'},{'tmp'},{'filename'}];
+index(178).description = [{'Selects a subset of a 2D data grid,'},{'such that it contains all data > threshold'}];
+index(178).keys = [{'box'},{'data'},{'subset'},{'2D'},{'threshold'}];
 index(178).cats = [{'utils'}];
-index(179).name = 'FT_datestring';
+index(179).name = 'FT_center_of_mass';
 index(179).path = '/Users/adf/work/git/simtools/src/utils';
-index(179).description = [{'Creates datestring of current date and time'}];
-index(179).keys = [{'date'},{'time'},{'datetime'},{'datestring'},{'create'}];
+index(179).description = [{'Computes the center of mass of a data array and returns the coordinates'}];
+index(179).keys = [{'center'},{'centre'},{'mass'},{'com'},{'data'}];
 index(179).cats = [{'utils'}];
-index(180).name = 'FT_message';
+index(180).name = 'FT_create_tmp_filename';
 index(180).path = '/Users/adf/work/git/simtools/src/utils';
-index(180).description = [{'prints a message to stdout'}];
-index(180).keys = [{'print'},{'message'},{'warning'}];
+index(180).description = [{'Creates a name for temporary files using the current datestring'}];
+index(180).keys = [{'date'},{'time'},{'datetime'},{'datestring'},{'temporary'},{'create'},{'tmp'},{'filename'}];
 index(180).cats = [{'utils'}];
-index(181).name = 'FT_normalise_data';
+index(181).name = 'FT_datestring';
 index(181).path = '/Users/adf/work/git/simtools/src/utils';
-index(181).description = [{'Normalises a data set so that max/min values are those given by user'}];
-index(181).keys = [{'normalise'},{'data'},{'max'},{'min'},{'maximum'},{'minimum'}];
+index(181).description = [{'Creates datestring of current date and time'}];
+index(181).keys = [{'date'},{'time'},{'datetime'},{'datestring'},{'create'}];
 index(181).cats = [{'utils'}];
-index(182).name = 'FT_remove_piston_data';
+index(182).name = 'FT_message';
 index(182).path = '/Users/adf/work/git/simtools/src/utils';
-index(182).description = [{'Removes a tilt from a 2D data array'}];
-index(182).keys = [{'remove'},{'tilt'},{'2D'},{'piston'},{'data'}];
+index(182).description = [{'prints a message to stdout'}];
+index(182).keys = [{'print'},{'message'},{'warning'}];
 index(182).cats = [{'utils'}];
-index(183).name = 'FT_rotate_2D';
+index(183).name = 'FT_normalise_data';
 index(183).path = '/Users/adf/work/git/simtools/src/utils';
-index(183).description = [{'Rotates a 2D data grid by a given angle'}];
-index(183).keys = [{'rotate'},{'2D'},{'angle'}];
+index(183).description = [{'Normalises a data set so that max/min values are those given by user'}];
+index(183).keys = [{'normalise'},{'data'},{'max'},{'min'},{'maximum'},{'minimum'}];
 index(183).cats = [{'utils'}];
-index(184).name = 'FT_warning';
+index(184).name = 'FT_remove_piston_data';
 index(184).path = '/Users/adf/work/git/simtools/src/utils';
-index(184).description = [{'prints a message to stdout'}];
-index(184).keys = [{'print'},{'message'},{'warning'}];
+index(184).description = [{'Removes a tilt from a 2D data array'}];
+index(184).keys = [{'remove'},{'tilt'},{'2D'},{'piston'},{'data'}];
 index(184).cats = [{'utils'}];
-index(185).name = 'FT_flip_colormap';
-index(185).path = '/Users/adf/work/git/simtools/src/utils/colormaps';
-index(185).description = [{'Returns colormap, good for bipolar signals'}];
-index(185).keys = [{'colormap'},{'colourmap'},{'color'},{'colour'},{'bipolar'},{'flip'}];
-index(185).cats = [{'utils'},{'colormaps'}];
-index(186).name = 'FT_neg_colormap';
-index(186).path = '/Users/adf/work/git/simtools/src/utils/colormaps';
-index(186).description = [{'Returns negative part of FT_flip_colormap'}];
-index(186).keys = [{'colormap'},{'colourmap'},{'color'},{'colour'},{'negative'},{'neg'},{'FT_flip_colormap'}];
-index(186).cats = [{'utils'},{'colormaps'}];
-index(187).name = 'FT_pos_colormap';
+index(185).name = 'FT_rotate_2D';
+index(185).path = '/Users/adf/work/git/simtools/src/utils';
+index(185).description = [{'Rotates a 2D data grid by a given angle'}];
+index(185).keys = [{'rotate'},{'2D'},{'angle'}];
+index(185).cats = [{'utils'}];
+index(186).name = 'FT_warning';
+index(186).path = '/Users/adf/work/git/simtools/src/utils';
+index(186).description = [{'prints a message to stdout'}];
+index(186).keys = [{'print'},{'message'},{'warning'}];
+index(186).cats = [{'utils'}];
+index(187).name = 'FT_flip_colormap';
 index(187).path = '/Users/adf/work/git/simtools/src/utils/colormaps';
-index(187).description = [{'Returns positive part of FT_flip_colormap'}];
-index(187).keys = [{'colormap'},{'colourmap'},{'color'},{'colour'},{'positive'},{'pos'},{'FT_flip_colormap'}];
+index(187).description = [{'Returns colormap, good for bipolar signals'}];
+index(187).keys = [{'colormap'},{'colourmap'},{'color'},{'colour'},{'bipolar'},{'flip'}];
 index(187).cats = [{'utils'},{'colormaps'}];
-index(188).name = 'FTE_rotate';
-index(188).path = '/Users/adf/work/git/simtools/src/utils/example';
-index(188).description = [{'(no description)'}];
-index(188).keys = [{'(no marker)'}];
-index(188).cats = [{'utils'},{'example'}];
-index(189).name = 'FT_check_for_gzip';
-index(189).path = '/Users/adf/work/git/simtools/src/utils/fileutils';
-index(189).description = [{'Checks if a filename ends in .gz and if so unzips it'}];
-index(189).keys = [{'file'},{'gzip'},{'unzip'},{'zip'}];
-index(189).cats = [{'utils'},{'fileutils'}];
-index(190).name = 'FT_delete_file';
-index(190).path = '/Users/adf/work/git/simtools/src/utils/fileutils';
+index(188).name = 'FT_neg_colormap';
+index(188).path = '/Users/adf/work/git/simtools/src/utils/colormaps';
+index(188).description = [{'Returns negative part of FT_flip_colormap'}];
+index(188).keys = [{'colormap'},{'colourmap'},{'color'},{'colour'},{'negative'},{'neg'},{'FT_flip_colormap'}];
+index(188).cats = [{'utils'},{'colormaps'}];
+index(189).name = 'FT_pos_colormap';
+index(189).path = '/Users/adf/work/git/simtools/src/utils/colormaps';
+index(189).description = [{'Returns positive part of FT_flip_colormap'}];
+index(189).keys = [{'colormap'},{'colourmap'},{'color'},{'colour'},{'positive'},{'pos'},{'FT_flip_colormap'}];
+index(189).cats = [{'utils'},{'colormaps'}];
+index(190).name = 'FTE_rotate';
+index(190).path = '/Users/adf/work/git/simtools/src/utils/example';
 index(190).description = [{'(no description)'}];
 index(190).keys = [{'(no marker)'}];
-index(190).cats = [{'utils'},{'fileutils'}];
-index(191).name = 'FT_files_in_folder';
+index(190).cats = [{'utils'},{'example'}];
+index(191).name = 'FT_check_for_gzip';
 index(191).path = '/Users/adf/work/git/simtools/src/utils/fileutils';
-index(191).description = [{'Lists all files with a given extension in a folder'}];
-index(191).keys = [{'file'},{'list'},{'folder'}];
+index(191).description = [{'Checks if a filename ends in .gz and if so unzips it'}];
+index(191).keys = [{'file'},{'gzip'},{'unzip'},{'zip'}];
 index(191).cats = [{'utils'},{'fileutils'}];
-index(192).name = 'FT_find_text_in_file';
+index(192).name = 'FT_delete_file';
 index(192).path = '/Users/adf/work/git/simtools/src/utils/fileutils';
 index(192).description = [{'(no description)'}];
 index(192).keys = [{'(no marker)'}];
 index(192).cats = [{'utils'},{'fileutils'}];
-index(193).name = 'FT_make_backup';
+index(193).name = 'FT_files_in_folder';
 index(193).path = '/Users/adf/work/git/simtools/src/utils/fileutils';
-index(193).description = [{'(no description)'}];
-index(193).keys = [{'(no marker)'}];
+index(193).description = [{'Lists all files with a given extension in a folder'}];
+index(193).keys = [{'file'},{'list'},{'folder'}];
 index(193).cats = [{'utils'},{'fileutils'}];
-index(194).name = 'FT_remove_file_extension';
+index(194).name = 'FT_find_text_in_file';
 index(194).path = '/Users/adf/work/git/simtools/src/utils/fileutils';
 index(194).description = [{'(no description)'}];
 index(194).keys = [{'(no marker)'}];
 index(194).cats = [{'utils'},{'fileutils'}];
-index(195).name = 'FT_bincoeff';
-index(195).path = '/Users/adf/work/git/simtools/src/utils/math_utils';
+index(195).name = 'FT_make_backup';
+index(195).path = '/Users/adf/work/git/simtools/src/utils/fileutils';
 index(195).description = [{'(no description)'}];
 index(195).keys = [{'(no marker)'}];
-index(195).cats = [{'utils'},{'math_utils'}];
-index(196).name = 'FT_binomial';
-index(196).path = '/Users/adf/work/git/simtools/src/utils/math_utils';
+index(195).cats = [{'utils'},{'fileutils'}];
+index(196).name = 'FT_remove_file_extension';
+index(196).path = '/Users/adf/work/git/simtools/src/utils/fileutils';
 index(196).description = [{'(no description)'}];
 index(196).keys = [{'(no marker)'}];
-index(196).cats = [{'utils'},{'math_utils'}];
-index(197).name = 'FT_JacobiPol';
+index(196).cats = [{'utils'},{'fileutils'}];
+index(197).name = 'FT_bincoeff';
 index(197).path = '/Users/adf/work/git/simtools/src/utils/math_utils';
-index(197).description = [{'computes the Jacobi polynomial'}];
-index(197).keys = [{'Jacobi'},{'polynomial'}];
+index(197).description = [{'(no description)'}];
+index(197).keys = [{'(no marker)'}];
 index(197).cats = [{'utils'},{'math_utils'}];
-index(198).name = 'FT_kd';
+index(198).name = 'FT_binomial';
 index(198).path = '/Users/adf/work/git/simtools/src/utils/math_utils';
-index(198).description = [{'Computes the Kronecker delta function'}];
-index(198).keys = [{'math'},{'Kronecker'},{'delta'}];
+index(198).description = [{'(no description)'}];
+index(198).keys = [{'(no marker)'}];
 index(198).cats = [{'utils'},{'math_utils'}];
-index(199).name = 'FT_LaguerrePol';
+index(199).name = 'FT_JacobiPol';
 index(199).path = '/Users/adf/work/git/simtools/src/utils/math_utils';
-index(199).description = [{'(no description)'}];
-index(199).keys = [{'(no marker)'}];
+index(199).description = [{'computes the Jacobi polynomial'}];
+index(199).keys = [{'Jacobi'},{'polynomial'}];
 index(199).cats = [{'utils'},{'math_utils'}];
-index(200).name = 'FT_log_ticks';
-index(200).path = '/Users/adf/work/git/simtools/src/utils/matlab_utils';
-index(200).description = [{'Generates a string for setting major tick marks in a plot'}];
-index(200).keys = [{'major'},{'tick'},{'mark'},{'plot'},{'log'}];
-index(200).cats = [{'utils'},{'matlab_utils'}];
-index(201).name = 'FT_print_progress';
-index(201).path = '/Users/adf/work/git/simtools/src/utils/timer';
-index(201).description = [{'Prints a progress statement in a loop'}];
-index(201).keys = [{'progress'}];
-index(201).cats = [{'utils'},{'timer'}];
+index(200).name = 'FT_kd';
+index(200).path = '/Users/adf/work/git/simtools/src/utils/math_utils';
+index(200).description = [{'Computes the Kronecker delta function'}];
+index(200).keys = [{'math'},{'Kronecker'},{'delta'}];
+index(200).cats = [{'utils'},{'math_utils'}];
+index(201).name = 'FT_LaguerrePol';
+index(201).path = '/Users/adf/work/git/simtools/src/utils/math_utils';
+index(201).description = [{'(no description)'}];
+index(201).keys = [{'(no marker)'}];
+index(201).cats = [{'utils'},{'math_utils'}];
+index(202).name = 'FT_log_ticks';
+index(202).path = '/Users/adf/work/git/simtools/src/utils/matlab_utils';
+index(202).description = [{'Generates a string for setting major tick marks in a plot'}];
+index(202).keys = [{'major'},{'tick'},{'mark'},{'plot'},{'log'}];
+index(202).cats = [{'utils'},{'matlab_utils'}];
+index(203).name = 'FT_print_progress';
+index(203).path = '/Users/adf/work/git/simtools/src/utils/timer';
+index(203).description = [{'Prints a progress statement in a loop'}];
+index(203).keys = [{'progress'}];
+index(203).cats = [{'utils'},{'timer'}];
diff --git a/src/new/phaseplate/FTE_display_LG33_helical_phaseplate.m b/src/new/phaseplate/FTE_display_LG33_helical_phaseplate.m
index 7dbc798b0d95c8233e2d4ff67046f0bf9bc66ebd..bc62bd08187950c9ba12f23a0a67df4bd019ee41 100644
--- a/src/new/phaseplate/FTE_display_LG33_helical_phaseplate.m
+++ b/src/new/phaseplate/FTE_display_LG33_helical_phaseplate.m
@@ -1,19 +1,27 @@
-clear all
+
+clear all;
+
 lambda=1064e-9; % wavelength
 p=3; % mode index of LG mode
 l=3; % mode index of LG mode
+
 w=1e-3; % beam size on SLM in meter
+
 xpoints=400; 
 ypoints=400;
+
 xsize=10e-3; % size of SLM in meter
 ysize=10e-3; % size of SLM in meter
 contour=0;   % use amplitude contouring (0/1)
 xangle=5e-3;
 yangle=0e-3;
+
 windowsize=[500.0 500.0]; % screensize of SLM in pixel
 
 phaseplate=FT_LGhelixplate(lambda,xpoints,ypoints,xsize,ysize,p,l,w,xangle,yangle,contour);
 %phaseplate=FT_LGcosplate(lambda,xpoints,ypoints,xsize,ysize,p,l,w,xangle,yangle,contour);
 %phaseplate=FT_HGplate(lambda,xpoints,ypoints,xsize,ysize,p,l,w,xangle,yangle,contour);
-FT_display_phaseplate(phaseplate, windowsize)
+FT_display_phaseplate(phaseplate, windowsize);
+
+