From 2f2f1875d994a40e54c7db95e127f38944b58a71 Mon Sep 17 00:00:00 2001 From: Duy-Nguyen Ta Date: Fri, 8 Jun 2012 16:40:30 +0000 Subject: [PATCH] new prototype for VisualISAM_gui from Frank's example with many options --- .../VisualISAMData_cube.m | 0 .../VisualISAMData_triangle.m | 0 .../VisualISAMExample_triangle2.m | 12 +- .../VisualISAMInitialize.m | 0 .../{ => VisualISAM_gui}/VisualISAMPlot.m | 0 .../{ => VisualISAM_gui}/VisualISAMStep.m | 0 .../{ => VisualISAM_gui}/VisualISAM_gui.fig | Bin .../{ => VisualISAM_gui}/VisualISAM_gui.m | 0 .../VisualISAM_gui2/VisualISAM_gui.fig | Bin 0 -> 5442 bytes .../examples/VisualISAM_gui2/VisualISAM_gui.m | 175 ++++++++++++++++++ matlab/examples/VisualISAM_gui2/vData.m | 51 +++++ matlab/examples/VisualISAM_gui2/vInit.m | 31 ++++ matlab/examples/VisualISAM_gui2/vStep.m | 85 +++++++++ 13 files changed, 351 insertions(+), 3 deletions(-) rename matlab/examples/{ => VisualISAM_gui}/VisualISAMData_cube.m (100%) rename matlab/examples/{ => VisualISAM_gui}/VisualISAMData_triangle.m (100%) rename matlab/examples/{ => VisualISAM_gui}/VisualISAMExample_triangle2.m (54%) rename matlab/examples/{ => VisualISAM_gui}/VisualISAMInitialize.m (100%) rename matlab/examples/{ => VisualISAM_gui}/VisualISAMPlot.m (100%) rename matlab/examples/{ => VisualISAM_gui}/VisualISAMStep.m (100%) rename matlab/examples/{ => VisualISAM_gui}/VisualISAM_gui.fig (100%) rename matlab/examples/{ => VisualISAM_gui}/VisualISAM_gui.m (100%) create mode 100644 matlab/examples/VisualISAM_gui2/VisualISAM_gui.fig create mode 100644 matlab/examples/VisualISAM_gui2/VisualISAM_gui.m create mode 100644 matlab/examples/VisualISAM_gui2/vData.m create mode 100644 matlab/examples/VisualISAM_gui2/vInit.m create mode 100644 matlab/examples/VisualISAM_gui2/vStep.m diff --git a/matlab/examples/VisualISAMData_cube.m b/matlab/examples/VisualISAM_gui/VisualISAMData_cube.m similarity index 100% rename from matlab/examples/VisualISAMData_cube.m rename to matlab/examples/VisualISAM_gui/VisualISAMData_cube.m diff --git a/matlab/examples/VisualISAMData_triangle.m b/matlab/examples/VisualISAM_gui/VisualISAMData_triangle.m similarity index 100% rename from matlab/examples/VisualISAMData_triangle.m rename to matlab/examples/VisualISAM_gui/VisualISAMData_triangle.m diff --git a/matlab/examples/VisualISAMExample_triangle2.m b/matlab/examples/VisualISAM_gui/VisualISAMExample_triangle2.m similarity index 54% rename from matlab/examples/VisualISAMExample_triangle2.m rename to matlab/examples/VisualISAM_gui/VisualISAMExample_triangle2.m index b636ba542..4f9df958e 100644 --- a/matlab/examples/VisualISAMExample_triangle2.m +++ b/matlab/examples/VisualISAM_gui/VisualISAMExample_triangle2.m @@ -1,16 +1,22 @@ %% data -data = VisualISAMData_triangle(); +%data = VisualISAMData_triangle(); +data = VisualISAMData_cube(); %% init [isam results] = VisualISAMInitialize(data); sprintf('Frame 1,2:') results +figure(1); clf; +VisualISAMPlot(results, data); %% Next frame index -frame_i=3; +frame_i=2; %% All steps while (frame_i0tplW{Br!iWi#EKv_N^4VUN3GJ@q-N~BilX)k zf)cTJxc%<^2k!adJmiD<=fncDxgq)WvXU%vZAgQYr&X_jBjc0GB>M}Dlm zSVxFeMj=nmnm5=eNXT+Xo(P_~7zL>6-PYOFPL|9|Uck<7P8S2MD|i%2Q1Kr-N^Tij zC+BV?m{S$=00+eXZ4-0A8m>``(j>(4etb{cZY;;X_X{>jGZ_=NkdW7N5~h#i z-C`?Dm4X8-s)^aKvXw6zK?eN~u}(9cSs`Tl=Uqi~QFmxxM_K5NA}T{)M}_t#Mmx7e zShdeF7q9dBxGERl=~g)C&`#TYI;mtFo^mfwH%)l0os_u`bVdu?K_oudSI*Pu+VibW zoqoqM^p=`wsKhRvSB_4$bTW;KG}KM7>Ep5PsD3(QStNNz#Rgk~4dn40^m*K#W@N$Hsz8jg#Lm17Zoe(92<2CI#C(Ic#$ziyN9&!lq}NajDsre;Vvr;0>8d3wF2AMnBhSO}$w9 zs72OC@0XI1Rb{=!@bbOKc3ov~U}b2}hjkyUeZ;dVcA;956@%JrZ9TqOdwjPBB~+;i z<1b#|FG4mD#VKIB={Eg=Ep0!UCGt^);ODcVM54wQZNf&dFb=@dYUeXcs4h@8D;s$j z@Y1t4>S$@B%pC_ezY1h8@cdj&NBvk8(a9@}Q;jLeluVx!X6{^?U zF2%yEKBrlF|E}3@@o&9@?CoGX=roKPD}-@;={Q)a8~|1Qcyr-u3Md#h1MUQ-lPhN&cWvQ`|K}w zlkMY^S7Eq=M0D%$T_u9|T`0YFRUg0NKb3y(jYTqWqB&B}LOYhUZayWh8+g5m+=0DV}?h+(_KhbfaO4tXm#lLcoJ>3J3C zym3f=bLt;(`8>SWxVg)7X(&>h-l^1p(Dd(Y$-2vBLzTyfSj&X5!c3*I`fi<<0Y83| z#TWvCgbxz=@dnW88#eFX7wxRmS{8#v7eduZ!@9w*SDpE#r$T?6a*bK-vOhyOpqDl7c1W$AglG63#~m z{2E76=HnitX&32tBLF4iqK6tKP1bx9>vYi8k6AOOKU1f7u*n^&>qf{#drvX=4*K{} z94K|qsnPe7wU-Orn+cRphbCus;A*@{2EOJnJqAsk3jkG<`mL_L$~XFLmM% zzGj*7krkcx8tt@c$r83k4z|W`vVTys#(;YO+&Rc!y)04UQe=vEMUDA;^; zwR*Vksn8sBL3q$v87c*JIp2=LElB!56vr3|w;ZsYa-`iI@q0(TcQYg(mlL)3V$)P_ zk+|rmx9T=Ga`#0AI?n1(XVa_hYzgeod3fs)9;fR2M^({}hl@6aQjNI%TfAnscV*@r z@*L8ZnY#hcrfKIOwnF5Wj(E?n>1vY6qQB%~Z=Dz!!=k(HgoR zgzu`cfqoR6rx_~9@7|jRp*y2O2 ztTjx|^Wk-7BqFfVN8%gN>EOK?8{@60Sp}z#9;d1ri$i$dJZaIqhkdiH;`p0gMtAR2 z&J5TaJ7xKeRg(J+H2igzwF$mraMOG{`$Q7LIm!aW1GN_BVao z?3O^<2btkg@5>m?Cg@xlFQq#SyFUA?#JH6}2Lq5&RZ)A?B^nJ-pO;60&ep6yUbdUn z**=uFxHMdpHcxDIJT!0`4W&0%88I^@yYuuZ2gNXkY4~e+x^AuxX|;hMjxcJ3ZY2#oXGN=9CgYt8TOM5uVWQmR)5E+`IIsXq&a9%X1 zMeJJPd{-UUYx7iw$i#FyzN<0O9d^LE^C;l#!v$Xec&zgyw}C&vf}Y2x{IR^5;#F-~ zq~ATotWEpmO?&9y+0om)NG8R=#Q=YVWeU;;nj z-2^R@_&vK(d6WQt&_1+V>gV_G>hV*GsH=kGGerX85I2nQz#aZNc0a$p_hyTf#7k+3jqU znQhT-g?PsjQq5ytZUgP3b1g{^ckaWuU3d|Qrwq}j)KI$H< za+GL%Z=Kl|9Ck`gD&BNc7=+r&ZeA=_LepqY#g^9rQIGZ&7X9%>9-!dkqtm9|rBda~ zLT2S9zV2SnV3vEqENkbT$1MuGS^tn2WdmUH&{hL6JyU@Sp=+k9W%Z~Ank00m;M98N zsKPFIDBm=N5qDO-Y4z+oPARlmwLiqIB<#qqj%zbduEy}6)8en%q_#q6^#p!hy)Uom z#!%ifqT%w^-2J}kVLa5bd@P~z=tx0IL|WdnPYis}y2|b*aSJXvE}Sa3 zcjX=^-LBoN_MhK^T5)*bzH9;)Z={3dZuW;}fn9d*XvG3~M`!dOV4qQ!?yMTwR<-^J z-fXBqrYXUajLRNS_oN*|7-XoTPm3Lt_TVgAxxm}};y2fz6~ z`1#wkZA!l-`9VS@=bczXE*mo_RIC4twxGKm(o)Bl&cQ=iv5C#-ie4YW^H$5NznbK& z9$-kvo_6!T=llVA8R}*=r$1k+Rue6v$Wwhpt}7z9-8|u#HqbFF0fI6YHq`ZA7OcR= zo9p5aBy|IeF-{4thidUPHEDGUnn>00R7~**<#XQ%Mo-(kSvg?itzDoh&z5)hdzkzr42B{f)gkc{$v1+vN6kXG(!3UIbP&~2Z}p-Y%Q2IP z8m_hhbso`VTu-W^qt?}P%8NZ4IQwn{p?D|hvBFK?hIq}m4Mfb?8M1m`dT!m+%1qA{-ap^`kA6A$Vq!|EL#R<>Q-wGgg( z+G(jBlX>4a>CxLY!_S$Rf}6M!%xNAOx0O=pnm_JnuB~cO{In(XTQG2*7}{)JDMOU z@qT>;C7X&gx|GKCUjM?C(5D&4MANCd?}OYLKWib6qYZD*`f_A!43-oOV?CXCdzjL`;#kfa^081{mS65rQ$?)slLBIo>ZdvSwjT{1yPHaj zxXAu!DO%;&kI~gV^bH)W(=tMn`GzClh-}t$gUYwCH8$L5C}gD`COfLd5)Cx-pHM86G8nymh~Jf(pznsiPYvXL6h$FRK{or9g@PBRy%U?58m}j=zS@~ z=zD&Ra==RQrR-0_3%hATpz_Vx&-JO#lL92?lHJiN6 zzlu39uK@f(bah*Ff1}Dwarn^mlpTspiNK}4+p05~y=okAf)f86e!?2QGLr}f$dr~e zW6B+k%~G$8tY2nn+y%h-F z1?^B=c^Vm*Z77BG=Ug7b0)NWftjeMY=~qY#Uj<3J9{Ju=$#YxN;UnZsPtU^2u%K<{ zwTP#8cDVfc4OG?xheDWz z^KqdDbyzwDQ?U6*EcTzTeOmTi}p(^7quCBU#AV4a#p7#h>HSAs9x-LB~z+W_AiK8wbDuG-n| zd5mLAhz~PBf`{J*MbdosmgHTdOJ|&Q5lfbamPbWYj+sNbzyEAtrWn{8VDa7)Y} zWV!0P>Y8wa-kb^~io-v5w?bKd>HX)tsoeU{d0Ta`vrB95Z)>9{kbTG6M|Rs(Fo*Gj zB$!u<>WS((Z49afsKmpNv#he|)RD&%!HX5KlhrI{w{^O)OOvI0j-yhWlxz5B@JC+&SJVS$ypO;2UmGJ*wC&u6N;U8)X}T~XX4m)J?B72 zDJ2^A9G2LTh)(M#h_RU%XRO|HscNv~y;zZ-q0b&h*E|^O!@B+l$+PRzwM9N7*tKPs zCvEOAq$5C7DP0Q;rD3^)2H mw}USQCznDBc&reDq}qy1$?@~tYIl)3v+6(+5+(zgp8o+^IM_A- literal 0 HcmV?d00001 diff --git a/matlab/examples/VisualISAM_gui2/VisualISAM_gui.m b/matlab/examples/VisualISAM_gui2/VisualISAM_gui.m new file mode 100644 index 000000000..e73d6f7cf --- /dev/null +++ b/matlab/examples/VisualISAM_gui2/VisualISAM_gui.m @@ -0,0 +1,175 @@ +function varargout = VisualISAM_gui(varargin) +% VISUALISAM_GUI MATLAB code for VisualISAM_gui.fig +% VISUALISAM_GUI, by itself, creates a new VISUALISAM_GUI or raises the existing +% singleton*. +% +% H = VISUALISAM_GUI returns the handle to a new VISUALISAM_GUI or the handle to +% the existing singleton*. +% +% VISUALISAM_GUI('CALLBACK',hObject,eventData,handles,...) calls the local +% function named CALLBACK in VISUALISAM_GUI.M with the given input arguments. +% +% VISUALISAM_GUI('Property','Value',...) creates a new VISUALISAM_GUI or raises the +% existing singleton*. Starting from the left, property value pairs are +% applied to the GUI before VisualISAM_gui_OpeningFcn gets called. An +% unrecognized property name or invalid value makes property application +% stop. All inputs are passed to VisualISAM_gui_OpeningFcn via varargin. +% +% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one +% instance to run (singleton)". +% +% See also: GUIDE, GUIDATA, GUIHANDLES + +% Edit the above text to modify the response to help VisualISAM_gui + +% Last Modified by GUIDE v2.5 08-Jun-2012 12:35:14 + +% Begin initialization code - DO NOT EDIT +gui_Singleton = 1; +gui_State = struct('gui_Name', mfilename, ... + 'gui_Singleton', gui_Singleton, ... + 'gui_OpeningFcn', @VisualISAM_gui_OpeningFcn, ... + 'gui_OutputFcn', @VisualISAM_gui_OutputFcn, ... + 'gui_LayoutFcn', [] , ... + 'gui_Callback', []); +if nargin && ischar(varargin{1}) + gui_State.gui_Callback = str2func(varargin{1}); +end + +if nargout + [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); +else + gui_mainfcn(gui_State, varargin{:}); +end +% End initialization code - DO NOT EDIT + + +% --- Executes just before VisualISAM_gui is made visible. +function VisualISAM_gui_OpeningFcn(hObject, eventdata, handles, varargin) +% This function has no output args, see OutputFcn. +% hObject handle to figure +% eventdata reserved - to be defined in a future version of MATLAB +% handles structure with handles and user data (see GUIDATA) +% varargin command line arguments to VisualISAM_gui (see VARARGIN) + +% Choose default command line output for VisualISAM_gui +%% Data Options +handles.TRIANGLE = true; +handles.NCAMERAS = 20; +handles.SHOW_IMAGES = false; + +%% iSAM Options +handles.HARD_CONSTRAINT = false; +handles.POINT_PRIORS = false; +handles.BATCH_INIT = true; +handles.REORDER_INTERVAL=10; +handles.ALWAYS_RELINEARIZE = false; + +%% Display Options +handles.SAVE_GRAPH = false; +handles.PRINT_STATS = true; +handles.DRAW_INTERVAL = 1; +handles.CAMERA_INTERVAL = 1; +handles.DRAW_TRUE_POSES = false; +handles.SAVE_FIGURES = false; +handles.SAVE_GRAPHS = false; + +handles = vData(handles); +handles = vInit(handles); +handles.output = hObject; + +% Update handles structure +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, eventdata, handles) +% varargout cell array for returning output args (see VARARGOUT); +% hObject handle to figure +% eventdata reserved - to be defined in a future version of MATLAB +% handles structure with handles and user data (see GUIDATA) + +% Get default command line output from handles structure +varargout{1} = handles.output; + +function handles = initialize(handles) + handles=vData(handles); + handles=vInit(handles); + handles.result = {}; + cla; + handles + +% --- Executes on button press in intializeButton. +function intializeButton_Callback(hObject, eventdata, handles) +% hObject handle to intializeButton (see GCBO) +% eventdata reserved - to be defined in a future version of MATLAB +% handles structure with handles and user data (see GUIDATA) + handles=initialize(handles) + guidata(hObject,handles) + +% --- Executes on button press in stepButton. +function stepButton_Callback(hObject, eventdata, handles) +% hObject handle to stepButton (see GCBO) +% eventdata reserved - to be defined in a future version of MATLAB +% handles structure with handles and user data (see GUIDATA) + if (handles.frame_i