fix some small bugs in VisualISAM_gui. Arrange callback functions.
parent
141d0dbaec
commit
38ff9a466d
|
@ -1,2 +1,2 @@
|
|||
VisualISAMInitOptions
|
||||
VisualISAMGlobalVars
|
||||
VisualISAM_gui
|
|
@ -25,6 +25,7 @@ end
|
|||
height = 10; r = 40;
|
||||
K = gtsamCal3_S2(500,500,0,640/2,480/2);
|
||||
cameras = {};
|
||||
gui = gcf;
|
||||
for i=1:NCAMERAS
|
||||
theta = (i-1)*2*pi/NCAMERAS;
|
||||
t = gtsamPoint3([r*cos(theta), r*sin(theta), height]');
|
||||
|
@ -39,6 +40,7 @@ for i=1:NCAMERAS
|
|||
end
|
||||
end
|
||||
end
|
||||
figure(gui);
|
||||
odometry = cameras{1}.pose.between(cameras{2}.pose);
|
||||
|
||||
|
||||
|
|
Binary file not shown.
|
@ -22,7 +22,7 @@ function varargout = VisualISAM_gui(varargin)
|
|||
|
||||
% Edit the above text to modify the response to help VisualISAM_gui
|
||||
|
||||
% Last Modified by GUIDE v2.5 08-Jun-2012 23:53:47
|
||||
% Last Modified by GUIDE v2.5 09-Jun-2012 00:56:47
|
||||
|
||||
% Begin initialization code - DO NOT EDIT
|
||||
gui_Singleton = 1;
|
||||
|
@ -50,7 +50,6 @@ function VisualISAM_gui_OpeningFcn(hObject, ~, handles, varargin)
|
|||
% varargin command line arguments to VisualISAM_gui (see VARARGIN)
|
||||
|
||||
% Choose default command line output for VisualISAM_gui
|
||||
initOptions(handles)
|
||||
handles.output = hObject;
|
||||
|
||||
% Update handles structure
|
||||
|
@ -59,6 +58,16 @@ guidata(hObject, handles);
|
|||
% UIWAIT makes VisualISAM_gui wait for user response (see UIRESUME)
|
||||
% uiwait(handles.figure1);
|
||||
|
||||
% --- Outputs from this function are returned to the command line.
|
||||
function varargout = VisualISAM_gui_OutputFcn(hObject, ~, handles)
|
||||
% varargout cell array for returning output args (see VARARGOUT);
|
||||
% Get default command line output from handles structure
|
||||
varargout{1} = handles.output;
|
||||
|
||||
|
||||
%----------------------------------------------------------
|
||||
% Convenient functions
|
||||
%----------------------------------------------------------
|
||||
function showFramei(hObject, handles)
|
||||
VisualISAMGlobalVars
|
||||
set(handles.frameStatus, 'String', sprintf('Frame: %d',frame_i));
|
||||
|
@ -82,21 +91,19 @@ function triangle = chooseDataset(handles)
|
|||
|
||||
function initOptions(handles)
|
||||
VisualISAMGlobalVars
|
||||
%% Setting data options
|
||||
% Setting data options
|
||||
TRIANGLE = chooseDataset(handles)
|
||||
NCAMERAS = str2num(get(handles.numCamEdit,'String'))
|
||||
SHOW_IMAGES = get(handles.showImagesCB,'Value')
|
||||
|
||||
%% iSAM Options
|
||||
% iSAM Options
|
||||
HARD_CONSTRAINT = get(handles.hardConstraintCB,'Value')
|
||||
POINT_PRIORS = get(handles.pointPriorsCB,'Value')
|
||||
set(handles.batchInitCB,'Value',1);
|
||||
drawnow
|
||||
BATCH_INIT = get(handles.batchInitCB,'Value')
|
||||
REORDER_INTERVAL = str2num(get(handles.numCamEdit,'String'))
|
||||
ALWAYS_RELINEARIZE = get(handles.alwaysRelinearizeCB,'Value')
|
||||
|
||||
%% Display Options
|
||||
% Display Options
|
||||
SAVE_GRAPH = get(handles.saveGraphCB,'Value')
|
||||
PRINT_STATS = get(handles.printStatsCB,'Value')
|
||||
DRAW_INTERVAL = str2num(get(handles.drawInterval,'String'))
|
||||
|
@ -105,43 +112,10 @@ function initOptions(handles)
|
|||
SAVE_FIGURES = get(handles.saveFiguresCB,'Value')
|
||||
SAVE_GRAPHS = get(handles.saveGraphsCB,'Value')
|
||||
|
||||
% --- Outputs from this function are returned to the command line.
|
||||
function varargout = VisualISAM_gui_OutputFcn(hObject, ~, handles)
|
||||
% varargout cell array for returning output args (see VARARGOUT);
|
||||
% Get default command line output from handles structure
|
||||
varargout{1} = handles.output;
|
||||
|
||||
% --- Executes on button press in intializeButton.
|
||||
function intializeButton_Callback(hObject, ~, handles)
|
||||
|
||||
VisualISAMGlobalVars
|
||||
initOptions(handles)
|
||||
VisualISAMGenerateData
|
||||
VisualISAMInitialize
|
||||
VisualISAMPlot
|
||||
showFramei(hObject, handles)
|
||||
|
||||
|
||||
% --- Executes on button press in stepButton.
|
||||
function stepButton_Callback(hObject, ~, handles)
|
||||
|
||||
VisualISAMGlobalVars
|
||||
if (frame_i<NCAMERAS)
|
||||
frame_i = frame_i+1;
|
||||
showFramei(hObject, handles)
|
||||
VisualISAMStep
|
||||
if mod(frame_i,DRAW_INTERVAL)==0
|
||||
showWaiting(handles, 'Computing marginals...');
|
||||
VisualISAMPlot
|
||||
showWaiting(handles, '');
|
||||
end
|
||||
end
|
||||
|
||||
% --- Executes on selection change in dataset.
|
||||
function dataset_Callback(hObject, ~, handles)
|
||||
% Hints: contents = cellstr(get(hObject,'String')) returns dataset contents as cell array
|
||||
% contents{get(hObject,'Value')} returns selected item from dataset
|
||||
|
||||
%----------------------------------------------------------
|
||||
% Callback functions for GUI elements
|
||||
%----------------------------------------------------------
|
||||
|
||||
% --- Executes during object creation, after setting all properties.
|
||||
function dataset_CreateFcn(hObject, ~, handles)
|
||||
|
@ -152,79 +126,19 @@ if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgr
|
|||
set(hObject,'BackgroundColor','white');
|
||||
end
|
||||
|
||||
|
||||
% --- Executes on button press in runButton.
|
||||
function runButton_Callback(hObject, ~, handles)
|
||||
VisualISAMGlobalVars
|
||||
while (frame_i<NCAMERAS)
|
||||
frame_i = frame_i+1;
|
||||
showFramei(hObject, handles)
|
||||
VisualISAMStep
|
||||
if mod(frame_i,DRAW_INTERVAL)==0
|
||||
showWaiting(handles, 'Computing marginals...');
|
||||
VisualISAMPlot
|
||||
showWaiting(handles, '');
|
||||
end
|
||||
end
|
||||
|
||||
% --- Executes on button press in plotButton.
|
||||
function plotButton_Callback(hObject, ~, handles)
|
||||
VisualISAMPlot;
|
||||
|
||||
|
||||
% --- Executes during object creation, after setting all properties.
|
||||
function drawInterval_CreateFcn(hObject, ~, handles)
|
||||
% handles empty - handles not created until after all CreateFcns called
|
||||
% Hint: edit controls usually have a white background on Windows.
|
||||
% See ISPC and COMPUTER.
|
||||
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
|
||||
set(hObject,'BackgroundColor','white');
|
||||
end
|
||||
% --- Executes on selection change in dataset.
|
||||
function dataset_Callback(hObject, ~, handles)
|
||||
% Hints: contents = cellstr(get(hObject,'String')) returns dataset contents as cell array
|
||||
% contents{get(hObject,'Value')} returns selected item from dataset
|
||||
|
||||
|
||||
% --- Executes during object creation, after setting all properties.
|
||||
function numCamEdit_CreateFcn(hObject, ~, handles)
|
||||
% handles empty - handles not created until after all CreateFcns called
|
||||
% Hint: edit controls usually have a white background on Windows.
|
||||
% See ISPC and COMPUTER.
|
||||
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
|
||||
set(hObject,'BackgroundColor','white');
|
||||
end
|
||||
|
||||
|
||||
% --- Executes during object creation, after setting all properties.
|
||||
function reorderIntervalText_CreateFcn(hObject, ~, handles)
|
||||
% handles empty - handles not created until after all CreateFcns called
|
||||
% Hint: edit controls usually have a white background on Windows.
|
||||
% See ISPC and COMPUTER.
|
||||
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
|
||||
set(hObject,'BackgroundColor','white');
|
||||
end
|
||||
|
||||
|
||||
% --- Executes during object creation, after setting all properties.
|
||||
function cameraIntervalEdit_CreateFcn(hObject, ~, handles)
|
||||
% hObject handle to cameraIntervalEdit (see GCBO)
|
||||
|
||||
% handles empty - handles not created until after all CreateFcns called
|
||||
|
||||
% Hint: edit controls usually have a white background on Windows.
|
||||
% See ISPC and COMPUTER.
|
||||
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
|
||||
set(hObject,'BackgroundColor','white');
|
||||
end
|
||||
|
||||
|
||||
% --- Executes during object creation, after setting all properties.
|
||||
function reorderIntervalEdit_CreateFcn(hObject, ~, handles)
|
||||
% handles empty - handles not created until after all CreateFcns called
|
||||
% Hint: edit controls usually have a white background on Windows.
|
||||
% See ISPC and COMPUTER.
|
||||
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
|
||||
set(hObject,'BackgroundColor','white');
|
||||
end
|
||||
|
||||
|
||||
function numCamEdit_Callback(hObject, ~, handles)
|
||||
% Hints: get(hObject,'String') returns contents of numCamEdit as text
|
||||
% str2double(get(hObject,'String')) returns contents of numCamEdit as a double
|
||||
|
@ -245,6 +159,10 @@ function pointPriorsCB_Callback(hObject, ~, handles)
|
|||
% Hint: get(hObject,'Value') returns toggle state of pointPriorsCB
|
||||
|
||||
|
||||
% --- Executes during object creation, after setting all properties.
|
||||
function batchInitCB_CreateFcn(hObject, eventdata, handles)
|
||||
set(hObject,'Value',1);
|
||||
|
||||
% --- Executes on button press in batchInitCB.
|
||||
function batchInitCB_Callback(hObject, ~, handles)
|
||||
% Hint: get(hObject,'Value') returns toggle state of batchInitCB
|
||||
|
@ -255,6 +173,29 @@ function alwaysRelinearizeCB_Callback(hObject, ~, handles)
|
|||
% Hint: get(hObject,'Value') returns toggle state of alwaysRelinearizeCB
|
||||
|
||||
|
||||
% --- Executes during object creation, after setting all properties.
|
||||
function reorderIntervalText_CreateFcn(hObject, ~, handles)
|
||||
% Hint: edit controls usually have a white background on Windows.
|
||||
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
|
||||
set(hObject,'BackgroundColor','white');
|
||||
end
|
||||
|
||||
|
||||
% --- Executes during object creation, after setting all properties.
|
||||
function reorderIntervalEdit_CreateFcn(hObject, ~, handles)
|
||||
% Hint: edit controls usually have a white background on Windows.
|
||||
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
|
||||
set(hObject,'BackgroundColor','white');
|
||||
end
|
||||
|
||||
|
||||
% --- Executes during object creation, after setting all properties.
|
||||
function drawInterval_CreateFcn(hObject, ~, handles)
|
||||
% Hint: edit controls usually have a white background on Windows.
|
||||
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
|
||||
set(hObject,'BackgroundColor','white');
|
||||
end
|
||||
|
||||
|
||||
function drawInterval_Callback(hObject, ~, handles)
|
||||
% Hints: get(hObject,'String') returns contents of drawInterval as text
|
||||
|
@ -266,6 +207,15 @@ function cameraIntervalEdit_Callback(hObject, ~, handles)
|
|||
% str2double(get(hObject,'String')) returns contents of cameraIntervalEdit as a double
|
||||
|
||||
|
||||
% --- Executes during object creation, after setting all properties.
|
||||
function cameraIntervalEdit_CreateFcn(hObject, ~, handles)
|
||||
% Hint: edit controls usually have a white background on Windows.
|
||||
% See ISPC and COMPUTER.
|
||||
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
|
||||
set(hObject,'BackgroundColor','white');
|
||||
end
|
||||
|
||||
|
||||
% --- Executes on button press in saveGraphCB.
|
||||
function saveGraphCB_Callback(hObject, ~, handles)
|
||||
% Hint: get(hObject,'Value') returns toggle state of saveGraphCB
|
||||
|
@ -289,3 +239,54 @@ function saveFiguresCB_Callback(hObject, ~, handles)
|
|||
% --- Executes on button press in saveGraphsCB.
|
||||
function saveGraphsCB_Callback(hObject, ~, handles)
|
||||
% Hint: get(hObject,'Value') returns toggle state of saveGraphsCB
|
||||
|
||||
% --- Executes on button press in intializeButton.
|
||||
function intializeButton_Callback(hObject, ~, handles)
|
||||
VisualISAMGlobalVars
|
||||
initOptions(handles)
|
||||
VisualISAMGenerateData
|
||||
VisualISAMInitialize
|
||||
VisualISAMPlot
|
||||
showFramei(hObject, handles)
|
||||
|
||||
|
||||
% --- Executes on button press in runButton.
|
||||
function runButton_Callback(hObject, ~, handles)
|
||||
VisualISAMGlobalVars
|
||||
while (frame_i<NCAMERAS)
|
||||
frame_i = frame_i+1;
|
||||
showFramei(hObject, handles)
|
||||
VisualISAMStep
|
||||
if mod(frame_i,DRAW_INTERVAL)==0
|
||||
showWaiting(handles, 'Computing marginals...');
|
||||
VisualISAMPlot
|
||||
showWaiting(handles, '');
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
% --- Executes on button press in stepButton.
|
||||
function stepButton_Callback(hObject, ~, handles)
|
||||
VisualISAMGlobalVars
|
||||
if (frame_i<NCAMERAS)
|
||||
frame_i = frame_i+1;
|
||||
showFramei(hObject, handles)
|
||||
VisualISAMStep
|
||||
if mod(frame_i,DRAW_INTERVAL)==0
|
||||
showWaiting(handles, 'Computing marginals...');
|
||||
VisualISAMPlot
|
||||
showWaiting(handles, '');
|
||||
end
|
||||
end
|
||||
|
||||
% --- Executes on button press in plotButton.
|
||||
function plotButton_Callback(hObject, ~, handles)
|
||||
showWaiting(handles, 'Computing marginals...');
|
||||
VisualISAMPlot;
|
||||
showWaiting(handles, '');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue