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')) | ||||
|  | @ -104,44 +111,11 @@ function initOptions(handles) | |||
|     DRAW_TRUE_POSES = get(handles.drawTruePosesCB,'Value') | ||||
|     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,16 +159,43 @@ 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 | ||||
| 
 | ||||
| 
 | ||||
|      | ||||
| % --- Executes on button press in alwaysRelinearizeCB. | ||||
| 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