function ltpdv_buildPreprocessPanel(panH, mainfig)

Gproperties = getappdata(mainfig, 'Gproperties');

% List of functions
preFcns = ltpdv_preproc_function_list;

% Margins
pmarg = 0.025;
FONTSIZE = 12;

% Text string
ll = pmarg;
lh = 0.05;
lb = 1-pmarg-lh;
lw = 0.3;
sth = uicontrol(panH,'Style','text',...
   'String','Functions',...
   'Units', 'normalized', ...
   'BackgroundColor', Gproperties.Gcol, ...
   'Fontsize', FONTSIZE, ...
   'Position',[ll lb lw lh]);

% Params panel
pl = pmarg + 0.3 + pmarg;
pb = 0.1;
pw = 1-pl-pmarg;
ph = 1 - pb - pmarg;

paramh = uipanel('Parent',panH,'Title','Parameters',...
   'Units', 'normalized', ...
   'BackgroundColor', 0.8*[0.87 0.92 0.99], ...
   'Fontsize', FONTSIZE, ...
   'Tag', 'LTPDVpreprocparampan', ...
   'Position',[pl pb pw ph]);

% Function list
ll = pmarg;
lb = pmarg;
lw = 0.3;
lh = 1-2*pmarg - 0.05;
lh = uicontrol(panH, 'Style', 'listbox', ...
   'String', preFcns(:,2),...
   'BackgroundColor', 'w', ...
   'Value',1, 'Units', 'normalized', ...
   'Fontsize', FONTSIZE, ...
   'Tag', 'LTPDVpreprocfcnlist', ...
   'Position',[ll lb lw lh], ...
   'Callback', {@ltpdv_preproc_fcnlist, paramh, mainfig});

% Build params
ltpdv_preproc_fcnlist(lh, paramh, mainfig);

% Process button
phght = 0.05;
pbott = pmarg;
pwidt = 0.2;
pleft = 1-pmarg-pwidt;
pbh = uicontrol(panH,'Style','pushbutton',...
   'String','Process',...
   'Callback', {@ltpdv_fcn_run, 'preproc', panH, mainfig}, ...
   'Units', 'normalized', ...
   'Position',[pleft pbott pwidt phght]);



% END