Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 5254 lines (4776 sloc) 165 KB
function prana_fig = prana_LayoutFcn(policy)
% --- Creates and returns a handle to the GUI figure.
% policy - create a new figure or use a singleton. 'new' or 'reuse'.
% This file is part of prana, an open-source GUI-driven program for
% calculating velocity fields using PIV or PTV.
%
% Copyright 2015. Los Alamos National Security, LLC. This material was
% produced under U.S. Government contract DE-AC52-06NA25396 for Los
% Alamos National Laboratory (LANL), which is operated by Los Alamos
% National Security, LLC for the U.S. Department of Energy. The U.S.
% Government has rights to use, reproduce, and distribute this software.
% NEITHER THE GOVERNMENT NOR LOS ALAMOS NATIONAL SECURITY, LLC MAKES ANY
% WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE USE OF
% THIS SOFTWARE. If software is modified to produce derivative works,
% such modified software should be clearly marked, so as not to confuse
% it with the version available from LANL.
%
% prana is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program. If not, see <http://www.gnu.org/licenses/>.
persistent hsingleton;
if strcmpi(policy, 'reuse') & ishandle(hsingleton)
prana_fig = hsingleton;
return;
end
% %shouldn't need this file - contains windowdiagram.tif. Instead load
% % directly from tif.
% load prana.mat
appdata = [];
%used in prana.m/gui_mainfcn()
appdata.GUIDEOptions = struct(...
'active_h', [], ...
'taginfo', struct(...
'figure', 2, ...
'togglebutton', 7, ...
'uipanel', 46, ...
'pushbutton', 44, ...
'listbox', 9, ...
'popupmenu', 18, ...
'text', 210, ...
'edit', 153, ...
'radiobutton', 16, ...
'axes', 6, ...
'checkbox', 40, ...
'uitable', 2), ...
'override', 1, ...
'release', 13, ...
'resize', 'none', ...
'accessibility', 'callback', ...
'mfile', 1, ...
'callbacks', 1, ...
'singleton', 1, ...
'syscolorfig', 1, ...
'blocking', 0, ...
'lastFilename', '', ...
'lastSavedFile', '');
%create the window
appdata.lastValidTag = 'figure1';
appdata.SavedVisible = 'on';
appdata.GUIOnScreen = 1;
appdata.GUIDELayoutEditor = [];
appdata.initTags = struct(...
'handle', [], ...
'tag', 'figure1');
prana_fig = figure(...
'Units',get(0,'defaultfigureUnits'),...
'Position',[726 159 987 730],...
'Visible','on',...
'Color',get(0,'defaultfigureColor'),...
'IntegerHandle','off',...
'Colormap',[0 0 0.5625;0 0 0.625;0 0 0.6875;0 0 0.75;0 0 0.8125;0 0 0.875;0 0 0.9375;0 0 1;0 0.0625 1;0 0.125 1;0 0.1875 1;0 0.25 1;0 0.3125 1;0 0.375 1;0 0.4375 1;0 0.5 1;0 0.5625 1;0 0.625 1;0 0.6875 1;0 0.75 1;0 0.8125 1;0 0.875 1;0 0.9375 1;0 1 1;0.0625 1 1;0.125 1 0.9375;0.1875 1 0.875;0.25 1 0.8125;0.3125 1 0.75;0.375 1 0.6875;0.4375 1 0.625;0.5 1 0.5625;0.5625 1 0.5;0.625 1 0.4375;0.6875 1 0.375;0.75 1 0.3125;0.8125 1 0.25;0.875 1 0.1875;0.9375 1 0.125;1 1 0.0625;1 1 0;1 0.9375 0;1 0.875 0;1 0.8125 0;1 0.75 0;1 0.6875 0;1 0.625 0;1 0.5625 0;1 0.5 0;1 0.4375 0;1 0.375 0;1 0.3125 0;1 0.25 0;1 0.1875 0;1 0.125 0;1 0.0625 0;1 0 0;0.9375 0 0;0.875 0 0;0.8125 0 0;0.75 0 0;0.6875 0 0;0.625 0 0;0.5625 0 0],...
'MenuBar','none',...
'Name','prana',...
'NumberTitle','off',...
'Resize','off',...
'PaperPosition',get(0,'defaultfigurePaperPosition'),...
'InvertHardcopy',get(0,'defaultfigureInvertHardcopy'),...
'ScreenPixelsPerInchMode','manual',...
'ChildrenMode','manual',...
'HandleVisibility','callback',...
'Tag','figure1',...
'UserData',[],...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create the file, execute, and help menus for the window
create_menus(prana_fig)
% --- create prana version box
create_versionbox(prana_fig)
% --- create job list box, and the control buttons
create_joblist_controls(prana_fig)
% --- create image listbox
create_imagelist_controls(prana_fig)
% --- create controls for running in parallel
create_parallel_controls(prana_fig)
% --- create controls for running jobs from the joblist
create_run_pushbuttons(prana_fig)
% --- create imagepanel with controls for Image and Data I/O
create_imagepanel_controls(prana_fig)
% --- create particlepanel with controls for PTV and sizing
create_particlepanel_controls(prana_fig)
% --- create exppanel with controls for defining the physical exp. params
create_exppanel_controls(prana_fig)
% --- create processingpanel with controls for PIV processing and val.
create_processingpanel(prana_fig)
% --- create pushbutton toggles to switch between the different panels
% needs to be after the panels are created in order to insure they are on
% top of them
create_panel_toggles(prana_fig)
hsingleton = prana_fig;
% --- Set application data first then calling the CreateFcn.
function local_CreateFcn(hObject, eventdata, createfcn, appdata)
if ~isempty(appdata)
names = fieldnames(appdata);
for i=1:length(names)
name = char(names(i));
setappdata(hObject, name, getfield(appdata,name));
end
end
% need to create a field in handles named based on the string in
% appdata.lastValidTag and store handle to that element in it
if isfield(appdata,'lastValidTag')
handles = guidata(hObject);
handles.(appdata.lastValidTag) = hObject;
guidata(hObject,handles);
end
if ~isempty(createfcn)
if isa(createfcn,'function_handle')
createfcn(hObject, eventdata);
else
eval(createfcn);
end
end
% --- create prana version box
function create_versionbox(prana_fig)
appdata = [];
appdata.lastValidTag = 'version_box_label';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Prana Version',...
'Style','text',...
'Position',[15 701 130 22],...
'Children',[],...
'Tag','version_box_label',...
'UserData',[],...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'version_box';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits','pixels',...
'String',pranaPIVcode('version'),...
'Style','text',...
'Position',[28 686 210 16],...
'BackgroundColor',[0.5 0.5 0.5],...
'Children',[],...
'Tag','version_box',...
'FontSize',13.3333333333333,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create pushbutton toggles to switch between the different panels
function create_panel_toggles(prana_fig)
appdata = [];
appdata.lastValidTag = 'exptoggle';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Experiment Parameters',...
'Style','togglebutton',...
'Value',1,...
'Position',[283 686 168 31],...
'Callback',@(hObject,eventdata)prana('exptoggle_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','exptoggle',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'imagetoggle';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Images and Data I / O',...
'Style','togglebutton',...
'Position',[452 686 168 31],...
'Callback',@(hObject,eventdata)prana('imagetoggle_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','imagetoggle',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'processingtoggle';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','PIV Processing',...
'Style','togglebutton',...
'Position',[621 686 168 31],...
'Callback',@(hObject,eventdata)prana('processingtoggle_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','processingtoggle',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'particletoggle';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','ID, Sizing & Tracking',...
'Style','togglebutton',...
'Position',[790 686 168 31],...
'Callback',@(hObject,eventdata)prana('particletoggle_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','particletoggle',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create the job list box, and all its controls
function create_joblist_controls(prana_fig)
%joblist list box
appdata = [];
appdata.lastValidTag = 'joblist';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','listbox',...
'Value',1,...
'Position',[28 502 210 154],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('joblist_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('joblist_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','joblist',...
'UserData',[],...
'FontSize',10);
%joblist listbox title
appdata = [];
appdata.lastValidTag = 'joblist_titletext';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Job List',...
'Style','text',...
'Position',[29 659 210 21],...
'Children',[],...
'Tag','joblist_titletext',...
'UserData',[],...
'FontSize',16,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%joblist newjobbutton
appdata = [];
appdata.lastValidTag = 'newjobbutton';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','New Job',...
'Position',[27 478 105 24],...
'Callback',@(hObject,eventdata)prana('newjobbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','newjobbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%joblist loadjobbutton
appdata = [];
appdata.lastValidTag = 'loadjobbutton';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Load Job',...
'Position',[27 453 105 24],...
'Callback',@(hObject,eventdata)prana('loadjobbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','loadjobbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%joblist savejobbutton
appdata = [];
appdata.lastValidTag = 'savejobbutton';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Save Job',...
'Position',[27 428 105 24],...
'Callback',@(hObject,eventdata)prana('savejobbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','savejobbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%joblist renamejob_pushButton
appdata = [];
appdata.lastValidTag = 'renamejob_pushButton';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Rename Job',...
'Position',[133 478 105 24],...
'Callback',@(hObject,eventdata)prana('renamejob_pushButton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','renamejob_pushButton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%joblist copyjobbutton
appdata = [];
appdata.lastValidTag = 'copyjobbutton';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Copy Job',...
'Position',[133 453 105 24],...
'Callback',@(hObject,eventdata)prana('copyjobbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','copyjobbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%joblist deletejobbutton
appdata = [];
appdata.lastValidTag = 'deletejobbutton';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Delete Job',...
'Position',[133 428 105 24],...
'Callback',@(hObject,eventdata)prana('deletejobbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','deletejobbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%joblist disp_exp_summary button
appdata = [];
appdata.lastValidTag = 'disp_exp_summary';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Display Experimental Summary',...
'Position',[27 402 211 25],...
'Callback',@(hObject,eventdata)prana('disp_exp_summary_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','disp_exp_summary',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create the job list box, and all its controls
function create_imagelist_controls(prana_fig)
%create the imagelist
appdata = [];
appdata.lastValidTag = 'imagelist';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','listbox',...
'Value',1,...
'Position',[28 136 210 157],...
'BackgroundColor',[1 0 0],...
'Callback',@(hObject,eventdata)prana('imagelist_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imagelist_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imagelist',...
'UserData',[],...
'FontSize',10);
% create the title for the imagelist listbox
appdata = [];
appdata.lastValidTag = 'text93';
h220 = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image Correlation Order',...
'Style','text',...
'Position',[25 298 210 22],...
'Children',[],...
'Tag','text93',...
'UserData',[],...
'FontSize',10,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create controls for running in parallel
function create_parallel_controls(prana_fig)
%checkbox for activating parallel processing
appdata = [];
appdata.lastValidTag = 'parcheckbox';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Correlate Image Pairs in Parallel',...
'Style','checkbox',...
'Position',[9.4 100.384615384615 256.2 24.7692307692308],...
'Callback',@(hObject,eventdata)prana('parcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','parcheckbox',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%parallel processors textbox
appdata = [];
appdata.lastValidTag = 'parprocessors';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',blanks(0),...
'Style','edit',...
'Position',[195.6 74.5384615384615 42 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('parprocessors_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('parprocessors_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','parprocessors',...
'UserData',[],...
'FontSize',10);
%label for parallel processors textbox
appdata = [];
appdata.lastValidTag = 'parprocessors_label';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Processors to Use:',...
'Style','text',...
'Position',[51.4 77.7692307692309 141.4 16.1538461538462],...
'Children',[],...
'Tag','parprocessors_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create controls for running jobs from the joblist
function create_run_pushbuttons(prana_fig)
%run current job pushbotton
appdata = [];
appdata.lastValidTag = 'runcurrent';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Run Current Job',...
'Position',[27.6 41.1538461538462 210 23.6923076923077],...
'Callback',@(hObject,eventdata)prana('runcurrent_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','runcurrent',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%button to run all jobs
appdata = [];
appdata.lastValidTag = 'runall';
[~] = uicontrol(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Run All Jobs',...
'Position',[27.6 17.4615384615385 210 23.6923076923077],...
'Callback',@(hObject,eventdata)prana('runall_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','runall',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create imagepanel with controls for Image and Data I/O
function create_imagepanel_controls(prana_fig)
%main image panel
appdata = [];
appdata.lastValidTag = 'imagepanel';
h_imagepanel = uipanel(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Position',[266 16 707 687],...
'Visible','off',...
'Clipping','off',...
'ChildrenMode','manual',...
'Tag','imagepanel',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%color channel popup selector
appdata = [];
appdata.lastValidTag = 'colorchannel_popupMenu';
[~] = uicontrol(...
'Parent',h_imagepanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'Red (grey scale)'; 'Green'; 'Blue'; 'Weighted Average'; 'Mean'; 'Color Ensemble' },...
'Style','popupmenu',...
'Value',1,...
'Position',[155 632 149 32],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Callback',@(hObject,eventdata)prana('colorchannel_popupMenu_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('colorchannel_popupMenu_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','colorchannel_popupMenu',...
'FontSize',10);
%color channel popup selector label
appdata = [];
appdata.lastValidTag = 'colorchannel_popupMenu_label';
[~] = uicontrol(...
'Parent',h_imagepanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Color Channel',...
'Style','text',...
'Position',[23 643 130 19],...
'Children',[],...
'Tag','colorchannel_popupMenu_label',...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%load images uipanel
appdata = [];
appdata.lastValidTag = 'uipanel_loadimages';
h_loadimages_panel = uipanel(...
'Parent',h_imagepanel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'BorderType','none',...
'Title','Load Images',...
'Position',[17 437 667 202],...
'Clipping','off',...
'Tag','uipanel_loadimages',...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%button for selecting first image
appdata = [];
appdata.lastValidTag = 'loadfirstimage';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Select First Image (Camera1)',...
'Position',[9 159 191 25],...
'Callback',@(hObject,eventdata)prana('loadfirstimage_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','loadfirstimage',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%label for first image frame number
appdata = [];
appdata.lastValidTag = 'text39';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image Frame Start',...
'Style','text',...
'Position',[214 6 151 23],...
'Children',[],...
'Tag','text39',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%text box for image directory for camera 1
appdata = [];
appdata.lastValidTag = 'imagedirectory';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[214 160 404 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('imagedirectory_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imagedirectory_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imagedirectory',...
'UserData',[],...
'FontSize',10);
%push button to launch file picker for image directory 1
appdata = [];
appdata.lastValidTag = 'loadimagedirectorybutton';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','...',...
'Position',[620 159 24 25],...
'Callback',@(hObject,eventdata)prana('loadimagedirectorybutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','loadimagedirectorybutton',...
'UserData',[],...
'FontSize',10,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%text box for image correlation step
appdata = [];
appdata.lastValidTag = 'imagecorrelationstep';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[25 70 151 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('imagecorrelationstep_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imagecorrelationstep_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imagecorrelationstep',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'imagezeros';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[584 70 65 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('imagezeros_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imagezeros_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imagezeros',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'imageextension';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[583 29 67 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('imageextension_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imageextension_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imageextension',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'imageframestep';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[25 29 151 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('imageframestep_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imageframestep_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imageframestep',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'imageframestart';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[214 29 151 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('imageframestart_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imageframestart_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imageframestart',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'imageframeend';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[402 29 151 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('imageframeend_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imageframeend_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imageframeend',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text41';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image Frame End',...
'Style','text',...
'Position',[402 6 151 23],...
'Children',[],...
'Tag','text41',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text40';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image Frame Step',...
'Style','text',...
'Position',[25 6 151 23],...
'Children',[],...
'Tag','text40',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text38';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image Correlation Step',...
'Style','text',...
'Position',[25 51 151 19],...
'Children',[],...
'Tag','text38',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text37';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Extension',...
'Style','text',...
'Position',[570 6 90 23],...
'Children',[],...
'Tag','text37',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text36';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Zeros',...
'Style','text',...
'Position',[589 51 48 19],...
'Children',[],...
'Tag','text36',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text35';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image Basename 1',...
'Style','text',...
'Position',[214 51 151 19],...
'Children',[],...
'Tag','text35',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text34';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image A File Directory',...
'Style','text',...
'Position',[214 134 404 25],...
'Children',[],...
'Tag','text34',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'loadcam2firstimage';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Select First Image (Camera2)',...
'Position',[9 115 191 25],...
'Callback',@(hObject,eventdata)prana('loadcam2firstimage_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','loadcam2firstimage',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'imagedirectory2';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[213 116 405 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('imagedirectory2_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imagedirectory2_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imagedirectory2',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'loadimagedirectory2button';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','...',...
'Position',[620 115 24 25],...
'Callback',@(hObject,eventdata)prana('loadimagedirectory2button_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','loadimagedirectory2button',...
'UserData',[],...
'FontSize',10,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text202';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image B File Directory',...
'Style','text',...
'Position',[213 98 405 17],...
'Children',[],...
'Tag','text202',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'imagebasename2';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[400 70 151 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('imagebasename2_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imagebasename2_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imagebasename2',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text203';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image Basename 2',...
'Style','text',...
'Position',[400 51 151 19],...
'Children',[],...
'Tag','text203',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'imagebasename';
[~] = uicontrol(...
'Parent',h_loadimages_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[214 70 151 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('imagebasename_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imagebasename_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imagebasename',...
'UserData',[],...
'FontSize',10);
%uipanel for controls relating to data output
appdata = [];
appdata.lastValidTag = 'uipanel_datawriting';
h_datawriting_panel = uipanel(...
'Parent',h_imagepanel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'BorderType','none',...
'Title','PIV Data Write Controls',...
'Position',[17 162 667 112],...
'Clipping','off',...
'Tag','uipanel_datawriting',...
'FontSize',12,...
'FontWeight','demi',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text179';
[~] = uicontrol(...
'Parent',h_datawriting_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Output Basename',...
'Style','text',...
'Position',[16 4.99999999999983 336 16],...
'Children',[],...
'Tag','text179',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'outputpassbasename';
[~] = uicontrol(...
'Parent',h_datawriting_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[16 21.9999999999998 336 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('outputpassbasename_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('outputpassbasename_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','outputpassbasename',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'outputdirectory';
[~] = uicontrol(...
'Parent',h_datawriting_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[16 68.9999999999999 336 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('outputdirectory_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('outputdirectory_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','outputdirectory',...
'UserData',[],...
'FontSize',10);
%small uipanel for data format checkboxes
appdata = [];
appdata.lastValidTag = 'dataformat_panel';
h_dataformat_panel = uipanel(...
'Parent',h_datawriting_panel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Title','Data Format',...
'Position',[402 17.9999999999999 154 71],...
'Clipping','off',...
'Tag','dataformat_panel',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'multiplematcheckbox';
[~] = uicontrol(...
'Parent',h_dataformat_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','.mat',...
'Style','checkbox',...
'Position',[83.8000000000005 12.9358974358974 60 36.6153846153846],...
'Callback',@(hObject,eventdata)prana('multiplematcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','multiplematcheckbox',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'datcheckbox';
[~] = uicontrol(...
'Parent',h_dataformat_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','.dat',...
'Style','checkbox',...
'Value',1,...
'Position',[21.4 12.9358974358974 60 36.6153846153846],...
'Callback',@(hObject,eventdata)prana('datcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','datcheckbox',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text128';
[~] = uicontrol(...
'Parent',h_datawriting_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Output Directory',...
'Style','text',...
'Position',[16 50.9999999999999 336 16],...
'Children',[],...
'Tag','text128',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'loadoutputdirectorybutton';
[~] = uicontrol(...
'Parent',h_datawriting_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','...',...
'Position',[352 68 24 25],...
'Callback',@(hObject,eventdata)prana('loadoutputdirectorybutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','loadoutputdirectorybutton',...
'UserData',[],...
'FontSize',10,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%uipanel for data masking options
appdata = [];
appdata.lastValidTag = 'uipanel_datamasking';
h_datamasking_panel = uipanel(...
'Parent',h_imagepanel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'BorderType','none',...
'Title','Data Masking',...
'Position',[16 2 668 167],...
'Clipping','off',...
'Tag','uipanel_datamasking',...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%dynamic masking options uipanel
appdata = [];
appdata.lastValidTag = 'uipanel14';
h_dynamicmask_panel = uipanel(...
'Parent',h_datamasking_panel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Position',[18 7 587 55],...
'Clipping','off',...
'Tag','uipanel14',...
'UserData',[],...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text45';
[~] = uicontrol(...
'Parent',h_dynamicmask_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Extension',...
'Style','text',...
'Position',[495 3 73 19],...
'Children',[],...
'Tag','text45',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'maskextension';
[~] = uicontrol(...
'Parent',h_dynamicmask_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[495 24 73 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('maskextension_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('maskextension_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','maskextension',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text44';
[~] = uicontrol(...
'Parent',h_dynamicmask_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Zeros',...
'Style','text',...
'Position',[447 2 36 20],...
'Children',[],...
'Tag','text44',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'maskzeros';
[~] = uicontrol(...
'Parent',h_dynamicmask_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[447 24 36 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('maskzeros_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('maskzeros_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','maskzeros',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text43';
[~] = uicontrol(...
'Parent',h_dynamicmask_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Mask Basename',...
'Style','text',...
'Position',[303 2 121 20],...
'Children',[],...
'Tag','text43',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'maskbasename';
[~] = uicontrol(...
'Parent',h_dynamicmask_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[303 24 121 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('maskbasename_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('maskbasename_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','maskbasename',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'loadmaskdirectorybutton';
[~] = uicontrol(...
'Parent',h_dynamicmask_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','...',...
'Position',[269 22 24 25],...
'Callback',@(hObject,eventdata)prana('loadmaskdirectorybutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','loadmaskdirectorybutton',...
'UserData',[],...
'FontSize',10,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text42';
[~] = uicontrol(...
'Parent',h_dynamicmask_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Mask File Directory',...
'Style','text',...
'Position',[26 3 246 19],...
'Children',[],...
'Tag','text42',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'maskdirectory';
[~] = uicontrol(...
'Parent',h_dynamicmask_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[25 23 246 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('maskdirectory_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('maskdirectory_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','maskdirectory',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text79';
[~] = uicontrol(...
'Parent',h_datamasking_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','text',...
'Position',[166 102 84 2],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Children',[],...
'Tag','text79',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text50';
[~] = uicontrol(...
'Parent',h_datamasking_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Static Mask File',...
'Style','text',...
'Position',[241 70 291 23],...
'Children',[],...
'Tag','text50',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'masktool';
[~] = uicontrol(...
'Parent',h_datamasking_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Static Mask Tool',...
'Position',[238 120 157 25],...
'Callback',@(hObject,eventdata)prana('masktool_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','masktool',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'impreview';
[~] = uicontrol(...
'Parent',h_datamasking_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image + Mask Preview',...
'Position',[396 120 157 25],...
'Callback',@(hObject,eventdata)prana('impreview_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','impreview',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'nomaskbutton';
[~] = uicontrol(...
'Parent',h_datamasking_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','No Processing Mask',...
'Style','radiobutton',...
'Value',1,...
'Position',[28 118 178 25],...
'Callback',@(hObject,eventdata)prana('nomaskbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','nomaskbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'staticmaskbutton';
[~] = uicontrol(...
'Parent',h_datamasking_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Static Processing Mask',...
'Style','radiobutton',...
'Position',[28 92 170 25],...
'Callback',@(hObject,eventdata)prana('staticmaskbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','staticmaskbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'staticmaskfile';
[~] = uicontrol(...
'Parent',h_datamasking_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[238 92 292 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('staticmaskfile_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('staticmaskfile_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','staticmaskfile',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'loadstaticmaskfile';
[~] = uicontrol(...
'Parent',h_datamasking_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','...',...
'Position',[533 91 24 25],...
'Callback',@(hObject,eventdata)prana('loadstaticmaskfile_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','loadstaticmaskfile',...
'UserData',[],...
'FontSize',10,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'dynamicmaskbutton';
[~] = uicontrol(...
'Parent',h_datamasking_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Dynamic Masking',...
'Style','radiobutton',...
'Position',[28 65 178 25],...
'Callback',@(hObject,eventdata)prana('dynamicmaskbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','dynamicmaskbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text88';
[~] = uicontrol(...
'Parent',h_datamasking_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','text',...
'Position',[64 54 2 14],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Children',[],...
'Tag','text88',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%uipanel for setting velocity initialization options
appdata = [];
appdata.lastValidTag = 'uipanel_velinput';
h_velinput_panel = uipanel(...
'Parent',h_imagepanel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'BorderType','none',...
'Title','Estimated Velocity Input Field (overrides BWO)',...
'Position',[17 280 668 157],...
'Clipping','off',...
'Tag','uipanel_velinput',...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'no_input_vel_button';
[~] = uicontrol(...
'Parent',h_velinput_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','No Input Velocity (BWO only)',...
'Style','radiobutton',...
'Value',1,...
'Position',[17 117 203 17],...
'Callback',@(hObject,eventdata)prana('no_input_vel_button_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','no_input_vel_button',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'static_input_vel_button';
[~] = uicontrol(...
'Parent',h_velinput_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Static Input Velocity',...
'Style','radiobutton',...
'Position',[17 91 150 17],...
'Callback',@(hObject,eventdata)prana('static_input_vel_button_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','static_input_vel_button',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'dynamic_input_vel_button';
[~] = uicontrol(...
'Parent',h_velinput_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Dynamic Input Velocity',...
'Style','radiobutton',...
'Position',[17 64 318 17],...
'Callback',@(hObject,eventdata)prana('dynamic_input_vel_button_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','dynamic_input_vel_button',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'input_velocity';
[~] = uicontrol(...
'Parent',h_velinput_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[217 89 409 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('input_velocity_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('input_velocity_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','input_velocity',...
'UserData',[]);
appdata = [];
appdata.lastValidTag = 'text204';
[~] = uicontrol(...
'Parent',h_velinput_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Input Prana Velocity File (.mat)',...
'Style','text',...
'Position',[217 70 336 16],...
'Children',[],...
'Tag','text204',...
'UserData',[],...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'browse_input_vel';
[~] = uicontrol(...
'Parent',h_velinput_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','...',...
'Position',[628 88 24 25],...
'Callback',@(hObject,eventdata)prana('browse_input_vel_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','browse_input_vel',...
'UserData',[],...
'FontSize',10,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'static_input_velocity_pointer_line';
[~] = uicontrol(...
'Parent',h_velinput_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','text',...
'Position',[165 97 60 2],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Children',[],...
'Tag','static_input_velocity_pointer_line',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%subpanel for configuring dynamic velocity input settings
appdata = [];
appdata.lastValidTag = 'uipanel_dynamic_vel_files';
h_dynamicvelocity_panel = uipanel(...
'Parent',h_velinput_panel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Title',blanks(0),...
'Position',[13 6 643 51],...
'Clipping','off',...
'Tag','uipanel_dynamic_vel_files',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'input_veldirec';
[~] = uicontrol(...
'Parent',h_dynamicvelocity_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[5 21 349 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('input_veldirec_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('input_veldirec_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','input_veldirec',...
'UserData',[]);
appdata = [];
appdata.lastValidTag = 'text205';
[~] = uicontrol(...
'Parent',h_dynamicvelocity_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Input Velocity File Directory',...
'Style','text',...
'Position',[5 3 336 16],...
'Children',[],...
'Tag','text205',...
'UserData',[],...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'browse_input_veldirec';
[~] = uicontrol(...
'Parent',h_dynamicvelocity_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','...',...
'Position',[355 20 24 25],...
'Callback',@(hObject,eventdata)prana('browse_input_veldirec_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','browse_input_veldirec',...
'UserData',[],...
'FontSize',10,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'input_velbase';
[~] = uicontrol(...
'Parent',h_dynamicvelocity_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[389 21 242 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('input_velbase_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('input_velbase_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','input_velbase',...
'UserData',[]);
appdata = [];
appdata.lastValidTag = 'text206';
[~] = uicontrol(...
'Parent',h_dynamicvelocity_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Input Velocity Basename (.mat)',...
'Style','text',...
'Position',[383 2 255 17],...
'Children',[],...
'Tag','text206',...
'UserData',[],...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text208';
[~] = uicontrol(...
'Parent',h_velinput_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','text',...
'Position',[65 50 2 14],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Children',[],...
'Tag','text208',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'cameranumber_popupMenu_label';
[~] = uicontrol(...
'Parent',h_imagepanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Image Directories',...
'Style','text',...
'Position',[352 643 160 19],...
'Children',[],...
'Tag','cameranumber_popupMenu_label',...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'cameranumber_popupMenu';
[~] = uicontrol(...
'Parent',h_imagepanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'Single Directory'; 'Dual Directories' },...
'Style','popupmenu',...
'Value',1,...
'Position',[520 642 130 22],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Callback',@(hObject,eventdata)prana('cameranumber_popupMenu_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('cameranumber_popupMenu_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','cameranumber_popupMenu');
% --- create particle ID panel with controls for PTV
function create_particlepanel_controls(prana_fig)
%uipanel for particle tracking options
appdata = [];
appdata.lastValidTag = 'particlepanel';
h86 = uipanel(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Position',[266 16 707 687],...
'Visible','off',...
'Clipping','off',...
'ChildrenMode','manual',...
'Tag','particlepanel',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'uipanel31';
h87 = uipanel(...
'Parent',h86,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Title',blanks(0),...
'Position',[373 156 312 278],...
'Clipping','off',...
'Tag','uipanel31',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text160';
h88 = uicontrol(...
'Parent',h87,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Units','characters',...
'String','Validation Threshold V',...
'Style','text',...
'Position',[8.66666666666667 2.41666666666667 27.5 1.25],...
'Children',[],...
'Tag','text160',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text159';
h89 = uicontrol(...
'Parent',h87,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Units','characters',...
'String','Validation Threshold U',...
'Style','text',...
'Position',[8.71428571428571 6.44047619047619 27.5 1.25],...
'Children',[],...
'Tag','text159',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text158';
h90 = uicontrol(...
'Parent',h87,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Units','characters',...
'String','Validation Radius (vectors)',...
'Style','text',...
'Position',[8.71428571428571 10.4166666666667 27.5 1.28571428571428],...
'Children',[],...
'Tag','text158',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingvalcheckbox';
h91 = uicontrol(...
'Parent',h87,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Units','characters',...
'String','Validate Tracking Results',...
'Style','checkbox',...
'Position',[7.85714285714286 18.8452380952381 32.8571428571428 1.64285714285714],...
'Callback',@(hObject,eventdata)prana('trackingvalcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','trackingvalcheckbox',...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text157';
h92 = uicontrol(...
'Parent',h87,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Units','characters',...
'String','Coefficent Threshold',...
'Style','text',...
'Position',[8.71428571428571 14.4404761904762 27.5 1.25],...
'Children',[],...
'Tag','text157',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingvalVthresh';
h93 = uicontrol(...
'Parent',h87,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Units','characters',...
'Style','edit',...
'Position',[8.71428571428571 3.94047619047619 27.5 1.64285714285714],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingvalVthresh_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingvalVthresh_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingvalVthresh',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'trackingvalradius';
h94 = uicontrol(...
'Parent',h87,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Units','characters',...
'Style','edit',...
'Position',[8.71428571428571 11.9404761904762 27.5 1.64285714285714],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingvalradius_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingvalradius_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingvalradius',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'trackingvalUthresh';
h95 = uicontrol(...
'Parent',h87,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Units','characters',...
'Style','edit',...
'Position',[8.71428571428571 7.94047619047619 27.5 1.64285714285714],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingvalUthresh_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingvalUthresh_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingvalUthresh',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'trackingvalcoefficient';
h96 = uicontrol(...
'Parent',h87,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Units','characters',...
'Style','edit',...
'Position',[8.71428571428571 15.9404761904762 27.5 1.64285714285714],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingvalcoefficient_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingvalcoefficient_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingvalcoefficient',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'runidcheckbox';
h97 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Run Particle Identification',...
'Style','checkbox',...
'Position',[54 629 231 23],...
'Callback',@(hObject,eventdata)prana('runidcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','runidcheckbox',...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'idmethod';
h98 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'Static'; 'Dynamic'; 'Combined' },...
'Style','popupmenu',...
'Value',1,...
'Position',[222 592 105 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('idmethod_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('idmethod_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','idmethod',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'idimthresh';
h99 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[222 559 105 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('idimthresh_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('idimthresh_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','idimthresh',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text154';
h100 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Image Threshold:',...
'Style','text',...
'Position',[28 562 192.5 15],...
'Children',[],...
'Tag','text154',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'idsaveloc';
h101 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[28 493 270 23.0000000000001],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('idsaveloc_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('idsaveloc_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','idsaveloc',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'loadidsaveloc';
h102 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','...',...
'Position',[299 492 28 25],...
'Callback',@(hObject,eventdata)prana('loadidsaveloc_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','loadidsaveloc',...
'UserData',[],...
'FontSize',10,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text155';
h103 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','ID Save Location',...
'Style','text',...
'Position',[28 476 269.5 15],...
'Children',[],...
'Tag','text155',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'idsavebase';
h104 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[222 526 105 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('idsavebase_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('idsavebase_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','idsavebase',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text156';
h105 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','ID Save Basename:',...
'Style','text',...
'Position',[28 529 192.5 15],...
'Children',[],...
'Tag','text156',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'runsizingcheckbox';
h106 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Run Particle Sizing',...
'Style','checkbox',...
'Position',[440 630 232 23],...
'Callback',@(hObject,eventdata)prana('runsizingcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','runsizingcheckbox',...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'sizingmethod';
h107 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'Geometric Size'; 'Intensity-Weighted Centroid'; 'Three Point Gaussian'; 'Four Point Gaussian'; 'Continuous Four Point Gaussian'; 'Least Squares Gaussian'; 'Continous Least Squares Gaussian' },...
'Style','popupmenu',...
'Value',1,...
'Position',[380 592 299.25 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('sizingmethod_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('sizingmethod_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','sizingmethod',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'sizingstd';
h108 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[489 559 50 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('sizingstd_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('sizingstd_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','sizingstd',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text151';
h109 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Standard Deviation:',...
'Style','text',...
'Position',[380 562 110 15],...
'Children',[],...
'Tag','text151',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'sizingsaveloc';
h110 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[380 493 270 23.0000000000001],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('sizingsaveloc_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('sizingsaveloc_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','sizingsaveloc',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'loadsizingsaveloc';
h111 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','...',...
'Position',[651 492 28 25],...
'Callback',@(hObject,eventdata)prana('loadsizingsaveloc_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','loadsizingsaveloc',...
'UserData',[],...
'FontSize',10,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'sizingsavebase';
h112 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[505 526 173 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('sizingsavebase_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('sizingsavebase_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','sizingsavebase',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text152';
h113 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Sizing Save Basename:',...
'Style','text',...
'Position',[380 529 120 15],...
'Children',[],...
'Tag','text152',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text153';
h114 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Sizing Save Location',...
'Style','text',...
'Position',[380 476 270 15],...
'Children',[],...
'Tag','text153',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'runtrackingcheckbox';
h115 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Run Particle Tracking',...
'Style','checkbox',...
'Position',[64 420 221 23],...
'Callback',@(hObject,eventdata)prana('runtrackingcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','runtrackingcheckbox',...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingmethod';
h116 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'None'; 'PTV'; 'PIV'; 'PTV-PIV' },...
'Style','popupmenu',...
'Value',1,...
'Position',[222 381 105 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingmethod_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingmethod_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingmethod',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'trackingprediction';
h117 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'Static'; 'Dynamic' },...
'Style','popupmenu',...
'Value',1,...
'Position',[222 341 105 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingprediction_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingprediction_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingprediction',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'trackingsaveloc';
h118 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[193 39 280 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingsaveloc_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingsaveloc_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingsaveloc',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text141';
h119 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Tracking Save Location',...
'Style','text',...
'Position',[193 21 280 15],...
'Children',[],...
'Tag','text141',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingsavebase';
h120 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[46 39 139 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingsavebase_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingsavebase_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingsavebase',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text142';
h121 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Tracking Save Basename',...
'Style','text',...
'Position',[46 21 203 15],...
'Children',[],...
'Tag','text142',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'loadtrackingsaveloc';
h122 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','...',...
'Position',[473 38 28 25],...
'Callback',@(hObject,eventdata)prana('loadtrackingsaveloc_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','loadtrackingsaveloc',...
'UserData',[],...
'FontSize',10,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text161';
h123 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','text',...
'Position',[1 456 707 1.39999999999998],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Children',[],...
'Tag','text161',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text162';
h124 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','text',...
'Position',[353.5 456 1 231],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Children',[],...
'Tag','text162',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text163';
h125 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Identification Method:',...
'Style','text',...
'Position',[28 595 192.5 15],...
'Children',[],...
'Tag','text163',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text164';
h126 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Tracking Method:',...
'Style','text',...
'Position',[28 384.0008 193 15],...
'Children',[],...
'Tag','text164',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text165';
h127 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Prediction Method:',...
'Style','text',...
'Position',[28 344.0008 193 15],...
'Children',[],...
'Tag','text165',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingestradius';
h128 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[46 111 105 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingestradius_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingestradius_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingestradius',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text166';
h129 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Estimation Radius',...
'Style','text',...
'Position',[28 90 140 18],...
'Children',[],...
'Tag','text166',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingvectors';
h130 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[368 111 105 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingvectors_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingvectors_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingvectors',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text167';
h131 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Number of Vectors',...
'Style','text',...
'Position',[350 90 140 18],...
'Children',[],...
'Tag','text167',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingestweight';
h132 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[198 111 105 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingestweight_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingestweight_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingestweight',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text168';
h133 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Estimation Weight',...
'Style','text',...
'Position',[180 90 140 18],...
'Children',[],...
'Tag','text168',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingiterations';
h134 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[520 111 105 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingiterations_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingiterations_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingiterations',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text169';
h135 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Max Iterations',...
'Style','text',...
'Position',[502 90 140 18],...
'Children',[],...
'Tag','text169',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingdistweight';
h136 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[58 220 32 26],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingdistweight_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingdistweight_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingdistweight',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'trackingsizeweight';
h137 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[58 185 32 26],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingsizeweight_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingsizeweight_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingsizeweight',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'trackingintensityweight';
h138 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[58 150 32 26],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingintensityweight_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingintensityweight_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingintensityweight',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text170';
h139 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Inter Particle Distance Weight',...
'Style','text',...
'Position',[100 224 204 18],...
'Children',[],...
'Tag','text170',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text171';
h140 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Particle Size Weight',...
'Style','text',...
'Position',[100 189 135 18],...
'Children',[],...
'Tag','text171',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text172';
h141 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Maximum Intensity Weight',...
'Style','text',...
'Position',[100 154 177 18],...
'Children',[],...
'Tag','text172',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingPIVweight';
h142 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[46 288 105 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingPIVweight_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingPIVweight_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingPIVweight',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text173';
h143 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','PIV-PTV Weight',...
'Style','text',...
'Position',[28 267 140 16],...
'Children',[],...
'Tag','text173',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingradius';
h144 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[198 288 105 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('trackingradius_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('trackingradius_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','trackingradius',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text174';
h145 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Search Radius (pix)',...
'Style','text',...
'Position',[180 267 140 18],...
'Children',[],...
'Tag','text174',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'sizing_min_area';
h146 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[626 560 50 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('sizing_min_area_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('sizing_min_area_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','sizing_min_area',...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text188';
h147 = uicontrol(...
'Parent',h86,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Minimum Area:',...
'Style','text',...
'Position',[541 563 85 15],...
'Children',[],...
'Tag','text188',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'uipanel35';
h148 = uipanel(...
'Parent',h86,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Title','Data Format',...
'Position',[511 26 188 58],...
'Clipping','off',...
'Tag','uipanel35',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingoutputdat';
h149 = uicontrol(...
'Parent',h148,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Units','characters',...
'String','.dat',...
'Style','checkbox',...
'Position',[3.66666666666667 1.25 11.5 1.41666666666667],...
'Callback',@(hObject,eventdata)prana('trackingoutputdat_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','trackingoutputdat',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'trackingoutputmat';
h150 = uicontrol(...
'Parent',h148,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Units','characters',...
'String','.mat',...
'Style','checkbox',...
'Position',[17.1666666666667 1.25 11.5 1.41666666666667],...
'Callback',@(hObject,eventdata)prana('trackingoutputmat_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','trackingoutputmat',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create exppanel with controls for defining the physical exp. params
function create_exppanel_controls(prana_fig)
appdata = [];
appdata.lastValidTag = 'exppanel';
h_exppanel = uipanel(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Position',[265.6 16.3846153846154 707 687.076923076923],...
'Clipping','off',...
'Tag','exppanel',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'h_fluidparam';
h_fluidparam_panel = uipanel(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Title','Fluid / Particle Parameters',...
'Position',[342.6 378.076923076922 319.2 177.692307692308],...
'Clipping','off',...
'Tag','h_fluidparam',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text117';
h153 = uicontrol(...
'Parent',h_fluidparam_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Particle Density (kg/m^3):',...
'Style','text',...
'Position',[19.2 25.4615384615385 175 16.1538461538462],...
'Children',[],...
'Tag','text117',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_density';
h154 = uicontrol(...
'Parent',h_fluidparam_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[205.4 124.538461538462 84 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_density_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_density_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_density',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'exp_viscosity';
h155 = uicontrol(...
'Parent',h_fluidparam_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[205.4 98.6923076923077 84 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_viscosity_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_viscosity_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_viscosity',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text111';
h156 = uicontrol(...
'Parent',h_fluidparam_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Dynamic Viscosity (Pa*s):',...
'Style','text',...
'Position',[19.2 103 175 16.1538461538462],...
'Children',[],...
'Tag','text111',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text112';
h157 = uicontrol(...
'Parent',h_fluidparam_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Fluid Density (kg/m^3):',...
'Style','text',...
'Position',[19.2 128.846153846154 175 16.1538461538462],...
'Children',[],...
'Tag','text112',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_surfacetension';
h158 = uicontrol(...
'Parent',h_fluidparam_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[205.4 72.8461538461538 84 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_surfacetension_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_surfacetension_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_surfacetension',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text113';
h159 = uicontrol(...
'Parent',h_fluidparam_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Surface Tension (N/m):',...
'Style','text',...
'Position',[19.2 77.153846153846 175 16.1538461538462],...
'Children',[],...
'Tag','text113',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_partD';
h160 = uicontrol(...
'Parent',h_fluidparam_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[205.4 47 84 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_partD_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_partD_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_partD',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text116';
h161 = uicontrol(...
'Parent',h_fluidparam_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Particle Diameter (um):',...
'Style','text',...
'Position',[19.2 51.3076923076923 175 16.1538461538462],...
'Children',[],...
'Tag','text116',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_partdensity';
h162 = uicontrol(...
'Parent',h_fluidparam_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[205.4 21.1538461538461 84 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_partdensity_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_partdensity_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_partdensity',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'scaling_panel';
h_scaling_panel = uipanel(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Title','Physical Conversion Parameters',...
'Position',[45.8 562.230769230768 616 82.9230769230769],...
'Clipping','off',...
'Tag','scaling_panel',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text78';
h164 = uicontrol(...
'Parent',h_scaling_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Sampling Rate (Hz)',...
'Style','text',...
'Position',[219.4 16 175 16.1538461538462],...
'Children',[],...
'Tag','text78',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'pulseseparation';
h165 = uicontrol(...
'Parent',h_scaling_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[19.2 32.1538461538462 175 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('pulseseparation_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('pulseseparation_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','pulseseparation',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'samplingrate';
h166 = uicontrol(...
'Parent',h_scaling_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[219.4 32.1538461538462 175 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('samplingrate_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('samplingrate_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','samplingrate',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text77';
h167 = uicontrol(...
'Parent',h_scaling_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Laser Pulse Sep (us)',...
'Style','text',...
'Position',[19.2 16 175 16.1538461538462],...
'Children',[],...
'Tag','text77',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text74';
h168 = uicontrol(...
'Parent',h_scaling_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image Resolution (um/pix)',...
'Style','text',...
'Position',[418.2 16 175 16.1538461538462],...
'Children',[],...
'Tag','text74',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'magnification';
h169 = uicontrol(...
'Parent',h_scaling_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[418.2 32.1538461538462 175 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('magnification_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('magnification_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','magnification',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'exp_date';
h170 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[213.8 523.461538461538 98 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_date_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_date_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_date',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'exp_L';
h171 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[213.8 497.615384615384 98 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_L_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_L_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_L',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'exp_v0';
h172 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[213.8 471.76923076923 98 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_v0_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_v0_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_v0',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'exp_notesbox';
h173 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'Max',10,...
'Style','edit',...
'Value',[0 0 0 0],...
'Position',[45.8 133.615384615384 266 324.153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_notesbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_notesbox_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_notesbox',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'exp_Re';
h174 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',blanks(0),...
'Style','edit',...
'Position',[45.8 86.2307692307689 175 22.6153846153846],...
'BackgroundColor',[0.8 0.8 0.8],...
'Callback',@(hObject,eventdata)prana('exp_Re_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_Re_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_Re',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text104';
h175 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Reynolds Number',...
'Style','text',...
'Position',[45.8 70.0769230769227 175 16.1538461538462],...
'Children',[],...
'Tag','text104',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_St';
h176 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',blanks(0),...
'Style','edit',...
'Position',[45.8 40.9999999999996 175 22.6153846153846],...
'BackgroundColor',[0.8 0.8 0.8],...
'Callback',@(hObject,eventdata)prana('exp_St_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_St_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_St',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text118';
h177 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Particle Stokes Number',...
'Style','text',...
'Position',[45.8 24.8461538461534 175 16.1538461538462],...
'Children',[],...
'Tag','text118',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text119';
h178 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Diffraction Diameter (um)',...
'Style','text',...
'Position',[486.8 70.0769230769226 175 16.1538461538462],...
'Children',[],...
'Tag','text119',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text120';
h179 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Depth of Focus (um)',...
'Style','text',...
'Position',[486.8 24.8461538461534 175 16.1538461538462],...
'Children',[],...
'Tag','text120',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_M';
h180 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',blanks(0),...
'Style','edit',...
'Position',[267 86.2307692307688 175 22.6153846153846],...
'BackgroundColor',[0.8 0.8 0.8],...
'Callback',@(hObject,eventdata)prana('exp_M_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_M_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_M',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text121';
h181 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Magnification',...
'Style','text',...
'Position',[267 70.0769230769226 175 16.1538461538462],...
'Children',[],...
'Tag','text121',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_ROI';
h182 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',blanks(0),...
'Style','edit',...
'Position',[267 40.9999999999996 175 22.6153846153846],...
'BackgroundColor',[0.8 0.8 0.8],...
'Callback',@(hObject,eventdata)prana('exp_ROI_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_ROI_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_ROI',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'exp_diffractiondiameter';
h183 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',blanks(0),...
'Style','edit',...
'Position',[486.8 86.2307692307688 175 22.6153846153846],...
'BackgroundColor',[0.8 0.8 0.8],...
'Callback',@(hObject,eventdata)prana('exp_diffractiondiameter_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_diffractiondiameter_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_diffractiondiameter',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'exp_depthoffocus';
h184 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',blanks(0),...
'Style','edit',...
'Position',[486.8 40.9999999999996 175 22.6153846153846],...
'BackgroundColor',[0.8 0.8 0.8],...
'Callback',@(hObject,eventdata)prana('exp_depthoffocus_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_depthoffocus_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_depthoffocus',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text122';
h185 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Region of Interest (m)',...
'Style','text',...
'Position',[267 24.8461538461534 175 16.1538461538462],...
'Children',[],...
'Tag','text122',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text106';
h186 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Date of Experiment:',...
'Style','text',...
'Position',[45.8 527.76923076923 161 16.1538461538462],...
'Children',[],...
'Tag','text106',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text114';
h187 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Char. Length (m):',...
'Style','text',...
'Position',[45.8 501.923076923077 161 16.1538461538461],...
'Children',[],...
'Tag','text114',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text115';
h188 = uicontrol(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Char. Velocity (m/s):',...
'Style','text',...
'Position',[45.8 476.076923076923 161 16.1538461538461],...
'Children',[],...
'Tag','text115',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'optics_panel';
h_optics_panel = uipanel(...
'Parent',h_exppanel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Title','Optics',...
'Position',[342.6 133.615384615384 319.2 236.923076923077],...
'Clipping','off',...
'Tag','optics_panel',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_wavelength';
h190 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[205.4 186.153846153846 84 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_wavelength_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_wavelength_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_wavelength',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text124';
h191 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Lens f#:',...
'Style','text',...
'Position',[19.2 112.923076923077 175 16.1538461538462],...
'Children',[],...
'Tag','text124',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_pixelsize';
h192 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[205.4 160.307692307692 84 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_pixelsize_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_pixelsize_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_pixelsize',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text123';
h193 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Lens Focal Length (mm):',...
'Style','text',...
'Position',[19.2 138.769230769231 175 16.1538461538462],...
'Children',[],...
'Tag','text123',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_lensfocal';
h194 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[205.4 134.461538461538 84 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_lensfocal_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_lensfocal_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_lensfocal',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'exp_lensfnum';
h195 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[205.4 108.615384615385 84 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_lensfnum_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_lensfnum_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_lensfnum',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text110';
h196 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Physical Pixel Size (um):',...
'Style','text',...
'Position',[19.2 164.615384615385 175 16.1538461538462],...
'Children',[],...
'Tag','text110',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text107';
h197 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Laser Wavelength (um):',...
'Style','text',...
'Position',[19.2 190.461538461539 175 16.1538461538462],...
'Children',[],...
'Tag','text107',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text130';
h198 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Index of Refraction:',...
'Style','text',...
'Position',[19.2 26.7692307692308 175 16.1538461538462],...
'Children',[],...
'Tag','text130',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text129';
h199 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Numerical Aperture:',...
'Style','text',...
'Position',[19.2 52.6153846153847 175 16.1538461538462],...
'Children',[],...
'Tag','text129',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_microcheckbox';
h200 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Micro-PIV',...
'Style','checkbox',...
'Position',[20.6 77.3846153846154 155.4 24.7692307692308],...
'Callback',@(hObject,eventdata)prana('exp_microcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','exp_microcheckbox',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'exp_NA';
h201 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[205.4 48.3076923076924 84 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_NA_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_NA_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_NA',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'exp_n';
h202 = uicontrol(...
'Parent',h_optics_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[205.4 22.4615384615385 84 22.6153846153846],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('exp_n_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('exp_n_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','exp_n',...
'UserData',[],...
'FontSize',10);
% --- create the file, execute, and help menus for the window
function create_menus(prana_fig)
% create the (file) job menu and its items
appdata = [];
appdata.lastValidTag = 'jobmenu';
h_jobmenu = uimenu(...
'Parent',prana_fig,...
'Callback',@(hObject,eventdata)prana('jobmenu_Callback',hObject,eventdata,guidata(hObject)),...
'Label','File',...
'Tag','jobmenu',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'jobmenu_new';
h206 = uimenu(...
'Parent',h_jobmenu,...
'Accelerator','N',...
'Callback',@(hObject,eventdata)prana('jobmenu_new_Callback',hObject,eventdata,guidata(hObject)),...
'Label','New Job',...
'Tag','jobmenu_new',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'jobmenu_save';
h207 = uimenu(...
'Parent',h_jobmenu,...
'Accelerator','S',...
'Callback',@(hObject,eventdata)prana('jobmenu_save_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Save Job',...
'Tag','jobmenu_save',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'saveworkspace_menuItem';
h208 = uimenu(...
'Parent',h_jobmenu,...
'Callback',@(hObject,eventdata)prana('saveworkspace_menuItem_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Save Workspace',...
'Tag','saveworkspace_menuItem',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'jobmenu_load';
h209 = uimenu(...
'Parent',h_jobmenu,...
'Accelerator','O',...
'Callback',@(hObject,eventdata)prana('jobmenu_load_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Load Jobs',...
'Tag','jobmenu_load',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'jobmenu_copy';
h210 = uimenu(...
'Parent',h_jobmenu,...
'Callback',@(hObject,eventdata)prana('jobmenu_copy_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Copy Job',...
'Tag','jobmenu_copy',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'jobmenu_delete';
h211 = uimenu(...
'Parent',h_jobmenu,...
'Callback',@(hObject,eventdata)prana('jobmenu_delete_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Delete Job',...
'Tag','jobmenu_delete',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% create the execute menu and its items
appdata = [];
appdata.lastValidTag = 'executemenu';
h_executemenu = uimenu(...
'Parent',prana_fig,...
'Callback',@(hObject,eventdata)prana('executemenu_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Execute',...
'Tag','executemenu',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'executemenu_currentjob';
h213 = uimenu(...
'Parent',h_executemenu,...
'Callback',@(hObject,eventdata)prana('executemenu_currentjob_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Run Current Job',...
'Tag','executemenu_currentjob',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'executemenu_alljobs';
h214 = uimenu(...
'Parent',h_executemenu,...
'Callback',@(hObject,eventdata)prana('executemenu_alljobs_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Run All Jobs',...
'Tag','executemenu_alljobs',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'jobmenu_compile_codes';
h214 = uimenu(...
'Parent',h_jobmenu,...
'Callback',@(hObject,eventdata)prana('jobmenu_compile_codes_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Compile codes',...
'Tag','jobmenu_compile_codes',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% create the help menu and its items
appdata = [];
appdata.lastValidTag = 'helpmenu';
h_helpmenu = uimenu(...
'Parent',prana_fig,...
'Callback',@(hObject,eventdata)prana('helpmenu_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Help',...
'Tag','helpmenu',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'helpmenu_about';
h216 = uimenu(...
'Parent',h_helpmenu,...
'Callback',@(hObject,eventdata)prana('helpmenu_about_Callback',hObject,eventdata,guidata(hObject)),...
'Label','About',...
'Tag','helpmenu_about',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'gettingstarted';
h217 = uimenu(...
'Parent',h_helpmenu,...
'Callback',@(hObject,eventdata)prana('gettingstarted_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Getting Started Guide',...
'Tag','gettingstarted',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'helpmenu_helptopics';
h218 = uimenu(...
'Parent',h_helpmenu,...
'Callback',@(hObject,eventdata)prana('helpmenu_helptopics_Callback',hObject,eventdata,guidata(hObject)),...
'Label','Help Topics',...
'Tag','helpmenu_helptopics',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create processingpanel with controls for PIV processing and val.
function create_processingpanel(prana_fig)
%processing uipanel for subcontrols
appdata = [];
appdata.lastValidTag = 'processingpanel';
h_processingpanel = uipanel(...
'Parent',prana_fig,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Position',[265.6 16.3846153846154 707 687.076923076923],...
'Visible','off',...
'Clipping','off',...
'ChildrenMode','manual',...
'Tag','processingpanel',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'runPIVcheckbox';
[~] = uicontrol(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Run Particle Image Velocimetry',...
'Style','checkbox',...
'Value',1,...
'Position',[19 636.076923076923 302 23],...
'Callback',@(hObject,eventdata)prana('runPIVcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','runPIVcheckbox',...
'UserData',[],...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create the subpanel for the processing tab with grid and correlation
% options
create_gridsetup_subpanel(h_processingpanel)
% --- create the controls for listing, creating, and deleting pasess
create_pass_controls(h_processingpanel)
% --- create the subpanel for validation, smoothing, and output options
create_validation_subpanel(h_processingpanel)
% --- create the subpanel for validation, smoothing, and output options
create_algorithmoptions_subpanel(h_processingpanel)
% create button to switch to gridsetup subpanel
appdata = [];
appdata.lastValidTag = 'gridsetuptoggle';
[~] = uicontrol(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Grid and Correlation Setup',...
'Style','togglebutton',...
'Value',1,...
'Position',[243 433.076923076923 210 31],...
'Callback',@(hObject,eventdata)prana('gridsetuptoggle_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','gridsetuptoggle',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% create button to switch to validation and output subpanel
appdata = [];
appdata.lastValidTag = 'validationtoggle';
[~] = uicontrol(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Postprocessing and Output',...
'Style','togglebutton',...
'Position',[453 433.076923076923 210 31],...
'Callback',@(hObject,eventdata)prana('validationtoggle_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','validationtoggle',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create the subpanel for the processing tab with grid and correlation
% options
function create_gridsetup_subpanel(h_processingpanel)
%subpanel for grid setup and correlation type options
appdata = [];
appdata.lastValidTag = 'gridsetuppanel';
h_gridsetuppanel = uipanel(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Title','Pass Configuration',...
'Position',[17 18.0769230769229 673 441],...
'Clipping','off',...
'ChildrenMode','manual',...
'Tag','gridsetuppanel',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'windowdiagramaxes';
h_windowdiagramaxes = axes(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultaxesFontUnits'),...
'Units','pixels',...
'CameraMode',get(0,'defaultaxesCameraMode'),...
'CameraPosition',[266 282.5 3873.18021785716],...
'CameraPositionMode',get(0,'defaultaxesCameraPositionMode'),...
'CameraTarget',[266 282.5 0],...
'CameraTargetMode',get(0,'defaultaxesCameraTargetMode'),...
'CameraUpVector',[0 -1 0],...
'CameraUpVectorMode',get(0,'defaultaxesCameraUpVectorMode'),...
'CameraViewAngle',7.8427902111892,...
'CameraViewAngleMode',get(0,'defaultaxesCameraViewAngleMode'),...
'Position',[449 178 209 224],...
'ActivePositionProperty','position',...
'ActivePositionPropertyMode',get(0,'defaultaxesActivePositionPropertyMode'),...
'LooseInset',[86.97 46.86 63.555 31.95],...
'WarpToFill','off',...
'WarpToFillMode',get(0,'defaultaxesWarpToFillMode'),...
'DataSpaceMode',get(0,'defaultaxesDataSpaceMode'),...
'DataAspectRatio',get(0,'defaultaxesDataAspectRatio'),...
'PlotBoxAspectRatio',[265.5 282 1],...
'PlotBoxAspectRatioMode',get(0,'defaultaxesPlotBoxAspectRatioMode'),...
'FontSize',get(0,'defaultaxesFontSize'),...
'XLim',[0.5 531.5],...
'YLim',[0.5 564.5],...
'ZLim',[-1 1],...
'ZLimMode',get(0,'defaultaxesZLimMode'),...
'YDir','reverse',...
'ColorSpaceMode',get(0,'defaultaxesColorSpaceMode'),...
'ChildContainerMode',get(0,'defaultaxesChildContainerMode'),...
'DecorationContainerMode',get(0,'defaultaxesDecorationContainerMode'),...
'TickDir','out',...
'Layer','top',...
'BoxFrameMode',get(0,'defaultaxesBoxFrameMode'),...
'XRulerMode',get(0,'defaultaxesXRulerMode'),...
'XTick',[100 200 300 400 500],...
'XTickMode',get(0,'defaultaxesXTickMode'),...
'XTickLabel',{ '100'; '200'; '300'; '400'; '500' },...
'XTickLabelMode',get(0,'defaultaxesXTickLabelMode'),...
'XBaselineMode',get(0,'defaultaxesXBaselineMode'),...
'YRulerMode',get(0,'defaultaxesYRulerMode'),...
'YTick',[100 200 300 400 500],...
'YTickMode',get(0,'defaultaxesYTickMode'),...
'YTickLabel',{ '100'; '200'; '300'; '400'; '500' },...
'YTickLabelMode',get(0,'defaultaxesYTickLabelMode'),...
'YBaselineMode',get(0,'defaultaxesYBaselineMode'),...
'ZRulerMode',get(0,'defaultaxesZRulerMode'),...
'ZBaselineMode',get(0,'defaultaxesZBaselineMode'),...
'Color',get(0,'defaultaxesColor'),...
'AmbientLightSourceMode',get(0,'defaultaxesAmbientLightSourceMode'),...
'SortMethod','childorder',...
'SortMethodMode',get(0,'defaultaxesSortMethodMode'),...
'Box','on',...
'Visible','off',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
h231 = image(...
'Parent',h_windowdiagramaxes,...
'FaceMode',get(0,'defaultimageFaceMode'),...
'CData',zeros(564,531,3),...
'XData',[1 531],...
'YData',[1 564],...
'BusyAction','cancel',...
'Interruptible','off',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text86';
h232 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','text',...
'Position',[239 261 39 1],...
'BackgroundColor',[0.8 0.8 0.8],...
'Children',[],...
'Tag','text86',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'windowres';
h233 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[39 358 176 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('windowres_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('windowres_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','windowres',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'autowinsizecheckbox';
h234 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','(auto)',...
'Style','checkbox',...
'Value',1,...
'Position',[309 382 71 16],...
'Callback',@(hObject,eventdata)prana('autowinsizecheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','autowinsizecheckbox',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'windowsize';
h235 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[256 358 176 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('windowsize_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('windowsize_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','windowsize',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'setgridresbutton';
h236 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Specify Grid Resolution',...
'Style','radiobutton',...
'Value',1,...
'Position',[32 302 209 25],...
'Callback',@(hObject,eventdata)prana('setgridresbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','setgridresbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text85';
h237 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','text',...
'Position',[231 315 48 1],...
'BackgroundColor',[0.8 0.8 0.8],...
'Children',[],...
'Tag','text85',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text58';
h238 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Window Resolution (pix)',...
'Style','text',...
'Position',[39 339.9998 176 16],...
'Children',[],...
'Tag','text58',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text61';
h239 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Correlation Type',...
'Style','text',...
'Position',[39 79 280 16],...
'Children',[],...
'Tag','text61',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text62';
h240 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Particle Diameter (pix)',...
'Style','text',...
'Position',[39 21 120 16],...
'Children',[],...
'Tag','text62',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'gridres';
h241 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[256 304 176 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('gridres_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('gridres_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','gridres',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'setwinoverlapbutton';
h242 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Specify Window Overlap',...
'Style','radiobutton',...
'Position',[32 249 210 25],...
'Callback',@(hObject,eventdata)prana('setwinoverlapbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','setwinoverlapbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'winoverlap';
h243 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[256 250 176 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('winoverlap_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('winoverlap_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','winoverlap',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'bulkwinoffset';
h244 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[39 196 176 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('bulkwinoffset_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('bulkwinoffset_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','bulkwinoffset',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text69';
h245 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Bulk Window Offset (pix)',...
'Style','text',...
'Position',[39 178 176 16],...
'Children',[],...
'Tag','text69',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text70';
h246 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Grid Setup',...
'Style','text',...
'Position',[39 386 176 23],...
'Children',[],...
'Tag','text70',...
'UserData',[],...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text133';
h247 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Correlation Options',...
'Style','text',...
'Position',[39 130 176 23],...
'Children',[],...
'Tag','text133',...
'UserData',[],...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'gridbuffer';
h248 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[256 196 176 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('gridbuffer_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('gridbuffer_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','gridbuffer',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text134';
h249 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Subpixel Correlation Peak Location',...
'Style','text',...
'Position',[348 79 280 16],...
'Children',[],...
'Tag','text134',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text68';
h250 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Grid Buffer (pix)',...
'Style','text',...
'Position',[256 178 176 16],...
'Children',[],...
'Tag','text68',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text59';
h251 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Grid Resolution (pix)',...
'Style','text',...
'Position',[256 286.0004 176 16],...
'Children',[],...
'Tag','text59',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text60';
h252 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Actual Window Size (pix)',...
'Style','text',...
'Position',[256 339.9998 176 16],...
'Children',[],...
'Tag','text60',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text84';
h253 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Window Overlap (%)',...
'Style','text',...
'Position',[256 231.9996 176 16],...
'Children',[],...
'Tag','text84',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'correlationtype';
h254 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'Standard Cross Correlation (SCC)'; 'Robust Phase Correlation (RPC)'; 'Dynamic Robust Phase Correlation (DRPC)'; 'Generalized Cross Correlation (GCC)'; 'Fraction-Filter Weighted Correlation (FWC)'; 'Spectral Phase Correlation (SPC)'; 'Direct Cross Correlation (DCC)' },...
'Style','popupmenu',...
'Value',1,...
'Position',[39 91 280 27],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('correlationtype_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('correlationtype_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','correlationtype',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'subpixelinterp';
h255 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'Three Point Gaussian Estimator'; 'Four Point Gassian Estimator'; 'Gaussian Least Squares Regression' },...
'Style','popupmenu',...
'Value',1,...
'Position',[348 91 280 27],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('subpixelinterp_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('subpixelinterp_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','subpixelinterp',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'rpcdiameter';
h256 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[39 39 120 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('rpcdiameter_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('rpcdiameter_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','rpcdiameter',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'zeromeancheckbox';
h257 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Zero-Mean Windows',...
'Style','checkbox',...
'Position',[380 39 150 23],...
'Callback',@(hObject,eventdata)prana('zeromeancheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','zeromeancheckbox',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'frac_filter_weight_label';
h258 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Fractional Filter Weight (0-1)',...
'Style','text',...
'Position',[185 21 190 16],...
'Children',[],...
'Tag','frac_filter_weight_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'frac_filter_weight';
h259 = uicontrol(...
'Parent',h_gridsetuppanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[197 39 160 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('frac_filter_weight_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('frac_filter_weight_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','frac_filter_weight',...
'UserData',[],...
'FontSize',10);
% --- create the controls for listing, creating, and deleting pasess
function create_pass_controls(h_processingpanel)
%This might be the line from the pass window to the grid setup
appdata = [];
appdata.lastValidTag = 'text139';
h223 = uicontrol(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','text',...
'Position',[73 466.076923076923 0.700000000000003 70.0000000000001],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Children',[],...
'Tag','text139',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
%This looks like the leader line from pass options to algorithm options
appdata = [];
appdata.lastValidTag = 'text91';
h319 = uicontrol(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','text',...
'Position',[320.2 611.461538461538 28 1.07692307692309],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Children',[],...
'Tag','text91',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'algorithmhelp';
h224 = uicontrol(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','?',...
'Position',[17.8 597.692307692307 21 23.6923076923077],...
'Callback',@(hObject,eventdata)prana('algorithmhelp_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','algorithmhelp',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'passtype';
h260 = uicontrol(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'Multipass - DWO'; 'Multigrid - DWO'; 'Multigrid - Deform (CWO)'; 'Multigrid - Ensemble (DWO)'; 'Multigrid - Ensemble w/ Deform (CWO)'; 'Multigrid - Multiframe (DWO)'; 'Multigrid - Deform, Forward Difference' },...
'Style','popupmenu',...
'Value',1,...
'Position',[40.2 597.692307692307 281.4 23.6923076923077],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('passtype_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('passtype_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','passtype',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'passlist';
h261 = uicontrol(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','listbox',...
'Value',1,...
'Position',[40 518.076923076923 281 78.4],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('passlist_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('passlist_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','passlist',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'addpassbutton';
h262 = uicontrol(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Add Pass',...
'Position',[40 488 95 25],...
'Callback',@(hObject,eventdata)prana('addpassbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','addpassbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'deletepassbutton';
h263 = uicontrol(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Delete Pass',...
'Position',[225 488 95 25],...
'Callback',@(hObject,eventdata)prana('deletepassbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','deletepassbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'copypassbutton';
h323 = uicontrol(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Copy Pass',...
'Position',[134 488 95 25],...
'Callback',@(hObject,eventdata)prana('copypassbutton_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','copypassbutton',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create the subpanel for validation, smoothing, and output options
function create_validation_subpanel(h_processingpanel)
% create validation, smoothing, output option subpanel
appdata = [];
appdata.lastValidTag = 'validationpanel';
h_validationpanel = uipanel(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Title','Pass Configuration',...
'Position',[17 18 673 441],...
'Visible','off',...
'Clipping','off',...
'ChildrenMode','manual',...
'Tag','validationpanel',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% checkbox to turn on/off validation for this pass
appdata = [];
appdata.lastValidTag = 'validatecheckbox';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Validate Pass',...
'Style','checkbox',...
'Position',[67 380 140 23],...
'Callback',@(hObject,eventdata)prana('validatecheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','validatecheckbox',...
'UserData',[],...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% button to pull up the help dialog
appdata = [];
appdata.lastValidTag = 'validationhelp';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','?',...
'Position',[220 380 21 23],...
'Callback',@(hObject,eventdata)prana('validationhelp_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','validationhelp',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% create thresholding controls: checkbox, umin/max, vmin/max, labels
appdata = [];
appdata.lastValidTag = 'thresholdingcheckbox';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Velocity Thresholding (pix/frame)',...
'Style','checkbox',...
'Position',[16 347 276 16],...
'Callback',@(hObject,eventdata)prana('thresholdingcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','thresholdingcheckbox',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'thresh_U';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[184.0003 315 112 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('thresh_U_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('thresh_U_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','thresh_U',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'thresh_U_label';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Umin,Umax:',...
'Style','text',...
'Position',[30 317 154 16],...
'Children',[],...
'Tag','thresh_U_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'thresh_V';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[184.0003 286 112 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('thresh_V_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('thresh_V_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','thresh_V',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'thresh_V_label';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Vmin,Vmax:',...
'Style','text',...
'Position',[30 288 154 16],...
'Children',[],...
'Tag','thresh_V_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% create controls for the UOD validation: checkbox, type listbox, window
% size and threshold textboxes
appdata = [];
appdata.lastValidTag = 'uodcheckbox';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Universal Outlier Detection',...
'Style','checkbox',...
'Value',1,...
'Position',[16.4 252.76923076923 240.8 24.7692307692308],...
'Callback',@(hObject,eventdata)prana('uodcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','uodcheckbox',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'uod_type';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'Mean'; 'Median' },...
'Style','popupmenu',...
'Value',1,...
'Position',[184 221 112 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('uod_type_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('uod_type_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','uod_type',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'uod_type_label';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Location Parameter:',...
'Style','text',...
'Position',[30 226 154 16],...
'Children',[],...
'Tag','uod_type_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'uod_window';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[184 192 112 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('uod_window_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('uod_window_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','uod_window',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'uod_window_label';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Window Sizes (vec):',...
'Style','text',...
'Position',[30 195 154 16],...
'Children',[],...
'Tag','uod_window_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'uod_thresh';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[184 163 112 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('uod_thresh_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('uod_thresh_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','uod_thresh',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'uod_thresh_label';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Threshold:',...
'Style','text',...
'Position',[30 165 154 16],...
'Children',[],...
'Tag','uod_thresh_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% create checkbox to turn on/off checking of extra peaks if first one fails
appdata = [];
appdata.lastValidTag = 'valextrapeaks';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Try additional peaks if validation fails',...
'Style','checkbox',...
'Position',[16 135 302 16],...
'Callback',@(hObject,eventdata)prana('valextrapeaks_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','valextrapeaks',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% create controls for bootstrapping validation: checkbox, input textboxes
appdata = [];
appdata.lastValidTag = 'bootstrapcheckbox';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Bootstrapping',...
'Style','checkbox',...
'Position',[16.4 100.999999999999 240.8 24.7692307692308],...
'Callback',@(hObject,eventdata)prana('bootstrapcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','bootstrapcheckbox',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'bootstrap_percentsampled';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[184.0003 76 112 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('bootstrap_percentsampled_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('bootstrap_percentsampled_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','bootstrap_percentsampled',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'bootstrap_percentsampled_label';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Percent Sampled (%):',...
'Style','text',...
'Position',[30 78 154 16],...
'Children',[],...
'Tag','bootstrap_percentsampled_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'bootstrap_iterations';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[184.0003 47 112 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('bootstrap_iterations_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('bootstrap_iterations_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','bootstrap_iterations',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'bootstrap_iterations_label';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Iterations / Frame:',...
'Style','text',...
'Position',[30.4 52.538461538461 154 16],...
'Children',[],...
'Tag','bootstrap_iterations_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'bootstrap_passes';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[184.0003 18 112 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('bootstrap_passes_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('bootstrap_passes_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','bootstrap_passes',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'bootstrap_passes_label';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Number of Passes:',...
'Style','text',...
'Position',[30.4 24.538461538461 154 16],...
'Children',[],...
'Tag','bootstrap_passes_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% create peak test threshold controls: checkbox, ratio and absolute value
% textbox inputs, labels
appdata = [];
appdata.lastValidTag = 'corrpeakthreshold_checkbox';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'String','Correlation Peak Thresholding',...
'Style','checkbox',...
'Position',[350 68 276 16],...
'Callback',@(hObject,eventdata)prana('corrpeakthreshold_checkbox_Callback',hObject,eventdata,guidata(hObject)),...
'Tag','corrpeakthreshold_checkbox',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'corrpeak_absthresh';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'Style','edit',...
'Position',[530 35 112 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('corrpeak_absthresh_Callback',hObject,eventdata,guidata(hObject)),...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ,...
'Tag','corrpeak_absthresh',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'corrpeak_absthresh_label';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Peak Height Threshold:',...
'Style','text',...
'Position',[370 40 154 16],...
'Children',[],...
'Tag','corrpeak_absthresh_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'corrpeak_ratiothresh';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'Style','edit',...
'Position',[530 5 112 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('corrpeak_ratiothresh_Callback',hObject,eventdata,guidata(hObject)),...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ,...
'Tag','corrpeak_ratiothresh',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'corrpeak_ratiothresh_label';
[~] = uicontrol(...
'Parent',h_validationpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Peak Ratio Threshold:',...
'Style','text',...
'Position',[370 10 154 16],...
'Children',[],...
'Tag','corrpeak_ratiothresh_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% Ceating Uncertainty estimation panel
appdata = [];
appdata.lastValidTag = 'uncertainty_subpanel';
h_uncertaintypanel = uipanel(...
'Parent',h_validationpanel,...
'Visible','on',...
'Units','pixels',...
'Position',[333 290 340 60],...
'Tag','uncertainty_subpanel',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'uncertaintycheckbox';
[~] = uicontrol(...
'Parent',h_uncertaintypanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Estimate Uncertainty',...
'Style','checkbox',...
'Position',[80 35 210 23],...
'Callback',@(hObject,eventdata)prana('uncertaintycheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','uncertaintycheckbox',...
'UserData',[],...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'ppruncertainty';
[~] = uicontrol(...
'Parent',h_uncertaintypanel,...
'String','PPR',...
'Style','checkbox',...
'Position',[10 12 100 23],...
'Callback',@(hObject,eventdata)prana('ppruncertainty_Callback',hObject,eventdata,guidata(hObject)),...
'Tag','ppruncertainty',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'miuncertainty';
[~] = uicontrol(...
'Parent',h_uncertaintypanel,...
'String','MI',...
'Style','checkbox',...
'Position',[80 12 100 23],...
'Callback',@(hObject,eventdata)prana('miuncertainty_Callback',hObject,eventdata,guidata(hObject)),...
'Tag','miuncertainty',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'imuncertainty';
[~] = uicontrol(...
'Parent',h_uncertaintypanel,...
'String','IM',...
'Style','checkbox',...
'Position',[150 12 100 23],...
'Callback',@(hObject,eventdata)prana('imuncertainty_Callback',hObject,eventdata,guidata(hObject)),...
'Tag','imuncertainty',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'mcuncertainty';
[~] = uicontrol(...
'Parent',h_uncertaintypanel,...
'String','MC',...
'Style','checkbox',...
'Position',[220 12 100 23],...
'Callback',@(hObject,eventdata)prana('mcuncertainty_Callback',hObject,eventdata,guidata(hObject)),...
'Tag','mcuncertainty',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% create a subpanel to hold controls for velocity smoothing options: check
% box, edit box, label
appdata = [];
appdata.lastValidTag = 'smoothing_subpanel';
h_smoothingpanel = uipanel(...
'Parent',h_validationpanel,...
'Visible','on',...
'Units','pixels',...
'Position',[333 350 340 90],...
'Tag','smoothing_subpanel',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'smoothingcheckbox';
[~] = uicontrol(...
'Parent',h_smoothingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Smooth Velocity Grid',...
'Style','checkbox',...
'Position',[80 35 210 23],...
'Callback',@(hObject,eventdata)prana('smoothingcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Tag','smoothingcheckbox',...
'UserData',[],...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'smoothingsize';
[~] = uicontrol(...
'Parent',h_smoothingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[200 10 112 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('smoothingsize_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('smoothingsize_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','smoothingsize',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'smoothingsize_label';
[~] = uicontrol(...
'Parent',h_smoothingpanel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Filter weight (Gaussian std):',...
'Style','text',...
'Position',[15 10 180 16],...
'Children',[],...
'Tag','smoothingsize_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% create a subpanel to hold controls for file output options: peak
% information, correlation planes, output basename
appdata = [];
appdata.lastValidTag = 'output_subpanel';
h_outputpanel = uipanel(...
'Parent',h_validationpanel,...
'Visible','on',...
'Units','pixels',...
'Position',[333 90 340 200],...
'Tag','output_subpanel',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'writeoutputcheckbox';
[~] = uicontrol(...
'Parent',h_outputpanel,...
'String','Write Pass Results',...
'Style','checkbox',...
'Position',[90 170 195 23],...
'Callback',@(hObject,eventdata)prana('writeoutputcheckbox_Callback',hObject,eventdata,guidata(hObject)),...
'Tag','writeoutputcheckbox',...
'UserData',[],...
'FontSize',12,...
'FontWeight','bold',...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'savepeakinfo';
[~] = uicontrol(...
'Parent',h_outputpanel,...
'String','Save Additional Peak Information',...
'Style','checkbox',...
'Position',[35 145 269 23],...
'Callback',@(hObject,eventdata)prana('savepeakinfo_Callback',hObject,eventdata,guidata(hObject)),...
'Tag','savepeakinfo',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'corrpeaknum';
[~] = uicontrol(...
'Parent',h_outputpanel,...
'String',{ 'for Peak 1'; 'for Peaks 1,2'; 'for Peaks 1,2,3' },...
'Style','popupmenu',...
'Value',1,...
'Position',[90 120 147 27],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('corrpeaknum_Callback',hObject,eventdata,guidata(hObject)),...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('corrpeaknum_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','corrpeaknum',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'savepeakmag';
[~] = uicontrol(...
'Parent',h_outputpanel,...
'String','Peak Magnitude',...
'Style','checkbox',...
'Position',[90 100 175 23],...
'Callback',@(hObject,eventdata)prana('savepeakmag_Callback',hObject,eventdata,guidata(hObject)),...
'Tag','savepeakmag',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'savepeakvel';
[~] = uicontrol(...
'Parent',h_outputpanel,...
'String','Resulting Velocity',...
'Style','checkbox',...
'Position',[90 75 175 23],...
'Callback',@(hObject,eventdata)prana('savepeakvel_Callback',hObject,eventdata,guidata(hObject)),...
'Tag','savepeakvel',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'saveplane';
[~] = uicontrol(...
'Parent',h_outputpanel,...
'String','Save Correlation Planes',...
'Style','checkbox',...
'Position',[35 50 175 23],...
'Callback',@(hObject,eventdata)prana('saveplane_Callback',hObject,eventdata,guidata(hObject)),...
'Tag','saveplane',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'outputbasename';
[~] = uicontrol(...
'Parent',h_outputpanel,...
'Style','edit',...
'Position',[35 27 266 23],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('outputbasename_Callback',hObject,eventdata,guidata(hObject)),...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('outputbasename_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','outputbasename',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'outputbasename_label';
[~] = uicontrol(...
'Parent',h_outputpanel,...
'String','Output Basename',...
'Style','text',...
'Position',[35 3 266 16],...
'Tag','outputbasename_label',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
% --- create the subpanel for validation, smoothing, and output options
function create_algorithmoptions_subpanel(h_processingpanel)
appdata = [];
appdata.lastValidTag = 'algorithmoptions_panel';
h_algorithmoptions_panel = uipanel(...
'Parent',h_processingpanel,...
'FontUnits',get(0,'defaultuipanelFontUnits'),...
'Units','pixels',...
'Title','Algorithm-Specific Options',...
'Position',[347 488.076923076923 343 174],...
'Clipping','off',...
'ChildrenMode','manual',...
'Tag','algorithmoptions_panel',...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text57';
h301 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Velocity Interpolation Method',...
'Style','text',...
'Position',[122 120 217 16],...
'Children',[],...
'Tag','text57',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text55';
h302 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Image Interpolation',...
'Style','text',...
'Position',[122 81.9999999999999 217 16],...
'Children',[],...
'Tag','text55',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text82';
h303 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Max Framestep',...
'Style','text',...
'Position',[216 4.76923076923082 105 16.1538461538462],...
'Children',[],...
'Tag','text82',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text94';
h304 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Multigrid Methods:',...
'Style','text',...
'Position',[17.2 137.615384615385 140 16.1538461538462],...
'Children',[],...
'Tag','text94',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text95';
h305 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Deform Method:',...
'Style','text',...
'Position',[17.2 100.538461538462 140 16.1538461538462],...
'Children',[],...
'Tag','text95',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text96';
h306 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Multiframe:',...
'Style','text',...
'Position',[17.2 25.2307692307693 140 16.1538461538462],...
'Children',[],...
'Tag','text96',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'velocityinterptype';
h307 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'Nearest Neighbor'; 'Bilinear'; 'Bicubic' },...
'Style','popupmenu',...
'Value',1,...
'Position',[143 134 175 24],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('velocityinterptype_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('velocityinterptype_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','velocityinterptype',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'imageinterptype';
h308 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String',{ 'Sinc Function (8 point)'; 'Sinc w/ Blackman filter'; 'Bicubic' ; 'B-splines (7th order)'},...
'Style','popupmenu',...
'Value',2,...
'Position',[143 96.9999999999999 175 24],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('imageinterptype_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'Visible',get(0,'defaultuicontrolVisible'),...
'ParentMode','manual',...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('imageinterptype_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','imageinterptype',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'PIVerror';
h309 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[108 22 105 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('PIVerror_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('PIVerror_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','PIVerror',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text125';
h310 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','PIV Error',...
'Style','text',...
'Position',[108.2 4.76923076923082 105 16.1538461538462],...
'Children',[],...
'Tag','text125',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'framestep';
h311 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'Style','edit',...
'Position',[216 22 105 22],...
'BackgroundColor',[0.5 0.5 0.5],...
'Callback',@(hObject,eventdata)prana('framestep_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('framestep_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','framestep',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text183';
h312 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Conv.',...
'Style','text',...
'Position',[253 45 69 16],...
'Children',[],...
'Tag','text183',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'deform_min_iter';
h313 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','1',...
'Style','edit',...
'Position',[108 62 69 23],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Callback',@(hObject,eventdata)prana('deform_min_iter_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('deform_min_iter_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','deform_min_iter',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text185';
h314 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Min Iter.',...
'Style','text',...
'Position',[107 45 69 16],...
'Children',[],...
'Tag','text185',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'deform_conv';
h315 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','.1',...
'Style','edit',...
'Position',[253 62 69 23],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Callback',@(hObject,eventdata)prana('deform_conv_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('deform_conv_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','deform_conv',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'deform_max_iter';
h316 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','1',...
'Style','edit',...
'Position',[181 62 69 23],...
'BackgroundColor',[0.501960784313725 0.501960784313725 0.501960784313725],...
'Callback',@(hObject,eventdata)prana('deform_max_iter_Callback',hObject,eventdata,guidata(hObject)),...
'Children',[],...
'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)prana('deform_max_iter_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,...
'Tag','deform_max_iter',...
'UserData',[],...
'FontSize',10);
appdata = [];
appdata.lastValidTag = 'text186';
h317 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'String','Max Iter.',...
'Style','text',...
'Position',[181 45 69 16],...
'Children',[],...
'Tag','text186',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );
appdata = [];
appdata.lastValidTag = 'text187';
h318 = uicontrol(...
'Parent',h_algorithmoptions_panel,...
'FontUnits',get(0,'defaultuicontrolFontUnits'),...
'HorizontalAlignment','left',...
'String','Iteration Control:',...
'Style','text',...
'Position',[13 65 96 16],...
'Children',[],...
'Tag','text187',...
'UserData',[],...
'FontSize',10,...
'CreateFcn', {@local_CreateFcn, blanks(0), appdata} );