fix some small bugs in VisualISAM_gui. Arrange callback functions.
parent
141d0dbaec
commit
38ff9a466d
|
@ -1,2 +1,2 @@
|
||||||
VisualISAMInitOptions
|
VisualISAMGlobalVars
|
||||||
VisualISAM_gui
|
VisualISAM_gui
|
|
@ -25,6 +25,7 @@ end
|
||||||
height = 10; r = 40;
|
height = 10; r = 40;
|
||||||
K = gtsamCal3_S2(500,500,0,640/2,480/2);
|
K = gtsamCal3_S2(500,500,0,640/2,480/2);
|
||||||
cameras = {};
|
cameras = {};
|
||||||
|
gui = gcf;
|
||||||
for i=1:NCAMERAS
|
for i=1:NCAMERAS
|
||||||
theta = (i-1)*2*pi/NCAMERAS;
|
theta = (i-1)*2*pi/NCAMERAS;
|
||||||
t = gtsamPoint3([r*cos(theta), r*sin(theta), height]');
|
t = gtsamPoint3([r*cos(theta), r*sin(theta), height]');
|
||||||
|
@ -39,6 +40,7 @@ for i=1:NCAMERAS
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
figure(gui);
|
||||||
odometry = cameras{1}.pose.between(cameras{2}.pose);
|
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
|
% 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
|
% Begin initialization code - DO NOT EDIT
|
||||||
gui_Singleton = 1;
|
gui_Singleton = 1;
|
||||||
|
@ -50,7 +50,6 @@ function VisualISAM_gui_OpeningFcn(hObject, ~, handles, varargin)
|
||||||
% varargin command line arguments to VisualISAM_gui (see VARARGIN)
|
% varargin command line arguments to VisualISAM_gui (see VARARGIN)
|
||||||
|
|
||||||
% Choose default command line output for VisualISAM_gui
|
% Choose default command line output for VisualISAM_gui
|
||||||
initOptions(handles)
|
|
||||||
handles.output = hObject;
|
handles.output = hObject;
|
||||||
|
|
||||||
% Update handles structure
|
% Update handles structure
|
||||||
|
@ -59,6 +58,16 @@ guidata(hObject, handles);
|
||||||
% UIWAIT makes VisualISAM_gui wait for user response (see UIRESUME)
|
% UIWAIT makes VisualISAM_gui wait for user response (see UIRESUME)
|
||||||
% uiwait(handles.figure1);
|
% 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)
|
function showFramei(hObject, handles)
|
||||||
VisualISAMGlobalVars
|
VisualISAMGlobalVars
|
||||||
set(handles.frameStatus, 'String', sprintf('Frame: %d',frame_i));
|
set(handles.frameStatus, 'String', sprintf('Frame: %d',frame_i));
|
||||||
|
@ -82,21 +91,19 @@ function triangle = chooseDataset(handles)
|
||||||
|
|
||||||
function initOptions(handles)
|
function initOptions(handles)
|
||||||
VisualISAMGlobalVars
|
VisualISAMGlobalVars
|
||||||
%% Setting data options
|
% Setting data options
|
||||||
TRIANGLE = chooseDataset(handles)
|
TRIANGLE = chooseDataset(handles)
|
||||||
NCAMERAS = str2num(get(handles.numCamEdit,'String'))
|
NCAMERAS = str2num(get(handles.numCamEdit,'String'))
|
||||||
SHOW_IMAGES = get(handles.showImagesCB,'Value')
|
SHOW_IMAGES = get(handles.showImagesCB,'Value')
|
||||||
|
|
||||||
%% iSAM Options
|
% iSAM Options
|
||||||
HARD_CONSTRAINT = get(handles.hardConstraintCB,'Value')
|
HARD_CONSTRAINT = get(handles.hardConstraintCB,'Value')
|
||||||
POINT_PRIORS = get(handles.pointPriorsCB,'Value')
|
POINT_PRIORS = get(handles.pointPriorsCB,'Value')
|
||||||
set(handles.batchInitCB,'Value',1);
|
|
||||||
drawnow
|
|
||||||
BATCH_INIT = get(handles.batchInitCB,'Value')
|
BATCH_INIT = get(handles.batchInitCB,'Value')
|
||||||
REORDER_INTERVAL = str2num(get(handles.numCamEdit,'String'))
|
REORDER_INTERVAL = str2num(get(handles.numCamEdit,'String'))
|
||||||
ALWAYS_RELINEARIZE = get(handles.alwaysRelinearizeCB,'Value')
|
ALWAYS_RELINEARIZE = get(handles.alwaysRelinearizeCB,'Value')
|
||||||
|
|
||||||
%% Display Options
|
% Display Options
|
||||||
SAVE_GRAPH = get(handles.saveGraphCB,'Value')
|
SAVE_GRAPH = get(handles.saveGraphCB,'Value')
|
||||||
PRINT_STATS = get(handles.printStatsCB,'Value')
|
PRINT_STATS = get(handles.printStatsCB,'Value')
|
||||||
DRAW_INTERVAL = str2num(get(handles.drawInterval,'String'))
|
DRAW_INTERVAL = str2num(get(handles.drawInterval,'String'))
|
||||||
|
@ -105,43 +112,10 @@ function initOptions(handles)
|
||||||
SAVE_FIGURES = get(handles.saveFiguresCB,'Value')
|
SAVE_FIGURES = get(handles.saveFiguresCB,'Value')
|
||||||
SAVE_GRAPHS = get(handles.saveGraphsCB,'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.
|
% --- Executes during object creation, after setting all properties.
|
||||||
function dataset_CreateFcn(hObject, ~, handles)
|
function dataset_CreateFcn(hObject, ~, handles)
|
||||||
|
@ -152,79 +126,19 @@ if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgr
|
||||||
set(hObject,'BackgroundColor','white');
|
set(hObject,'BackgroundColor','white');
|
||||||
end
|
end
|
||||||
|
|
||||||
|
% --- Executes on selection change in dataset.
|
||||||
% --- Executes on button press in runButton.
|
function dataset_Callback(hObject, ~, handles)
|
||||||
function runButton_Callback(hObject, ~, handles)
|
% Hints: contents = cellstr(get(hObject,'String')) returns dataset contents as cell array
|
||||||
VisualISAMGlobalVars
|
% contents{get(hObject,'Value')} returns selected item from dataset
|
||||||
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 during object creation, after setting all properties.
|
% --- Executes during object creation, after setting all properties.
|
||||||
function numCamEdit_CreateFcn(hObject, ~, handles)
|
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.
|
% Hint: edit controls usually have a white background on Windows.
|
||||||
% See ISPC and COMPUTER.
|
|
||||||
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
|
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
|
||||||
set(hObject,'BackgroundColor','white');
|
set(hObject,'BackgroundColor','white');
|
||||||
end
|
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)
|
function numCamEdit_Callback(hObject, ~, handles)
|
||||||
% Hints: get(hObject,'String') returns contents of numCamEdit as text
|
% Hints: get(hObject,'String') returns contents of numCamEdit as text
|
||||||
% str2double(get(hObject,'String')) returns contents of numCamEdit as a double
|
% 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
|
% 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.
|
% --- Executes on button press in batchInitCB.
|
||||||
function batchInitCB_Callback(hObject, ~, handles)
|
function batchInitCB_Callback(hObject, ~, handles)
|
||||||
% Hint: get(hObject,'Value') returns toggle state of batchInitCB
|
% 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
|
% 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)
|
function drawInterval_Callback(hObject, ~, handles)
|
||||||
% Hints: get(hObject,'String') returns contents of drawInterval as text
|
% 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
|
% 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.
|
% --- Executes on button press in saveGraphCB.
|
||||||
function saveGraphCB_Callback(hObject, ~, handles)
|
function saveGraphCB_Callback(hObject, ~, handles)
|
||||||
% Hint: get(hObject,'Value') returns toggle state of saveGraphCB
|
% Hint: get(hObject,'Value') returns toggle state of saveGraphCB
|
||||||
|
@ -289,3 +239,54 @@ function saveFiguresCB_Callback(hObject, ~, handles)
|
||||||
% --- Executes on button press in saveGraphsCB.
|
% --- Executes on button press in saveGraphsCB.
|
||||||
function saveGraphsCB_Callback(hObject, ~, handles)
|
function saveGraphsCB_Callback(hObject, ~, handles)
|
||||||
% Hint: get(hObject,'Value') returns toggle state of saveGraphsCB
|
% 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