source: trunk/src/uvmat_doc/FUNCTIONS_DOC/read_set_object.html @ 37

Last change on this file since 37 was 37, checked in by sommeria, 14 years ago

create_grid.fig ,
uvmat_doc and all the included files added

File size: 16.5 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2                "http://www.w3.org/TR/REC-html40/loose.dtd">
3<html>
4<head>
5  <title>Description of read_set_object</title>
6  <meta name="keywords" content="read_set_object">
7  <meta name="description" content="'read_set_object': read the data on the 'set_object' interface">
8  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
9  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
10  <meta name="robots" content="index, follow">
11  <link type="text/css" rel="stylesheet" href="../m2html.css">
12</head>
13<body>
14<a name="_top"></a>
15<div><a href="../index.html">Home</a> &gt;  <a href="index.html">.</a> &gt; read_set_object.m</div>
16
17<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td>
18<td align="right"><a href="index.html">Index for .&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>-->
19
20<h1>read_set_object
21</h1>
22
23<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
24<div class="box"><strong>'read_set_object': read the data on the 'set_object' interface</strong></div>
25
26<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
27<div class="box"><strong>function data=read_set_object(handles) </strong></div>
28
29<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
30<div class="fragment"><pre class="comment">'read_set_object': read the data on the 'set_object' interface
31--------------------------------------------------------
32 data=read_set_object(handles)
33--------------------------------------------------------
34OUTPUT
35data: structure of data read on the set_object interface
36    .Style : style of projection object
37    .Coord(nbpos,3): set of coordinates defining the object position;
38    .ProjMode=type of projection ;
39    .Phi=angle of projection;
40    .DX,.DY,.DZ=increments;
41    .YMax,YMin: min and max Y
42INPUT:
43 handles: structure describing the tags of the edit boxes and menus
44menus</pre></div>
45
46<!-- crossreference -->
47<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
48This function calls:
49<ul style="list-style-image:url(../matlabicon.gif)">
50</ul>
51This function is called by:
52<ul style="list-style-image:url(../matlabicon.gif)">
53<li><a href="mouse_down.html" class="code" title="function xy=mouse_down(hObject,eventdata)">mouse_down</a>     'mouse_down': function activated when the mouse button is pressed on a figure (callback for 'WindowButtonDownFcn'</li><li><a href="series.html" class="code" title="function varargout = series(varargin)">series</a>   'series': master function associated to the GUI series.m for analysis field series</li><li><a href="set_grid.html" class="code" title="function varargout = set_grid(varargin)">set_grid</a>    'set_grid':produce grid for PIV with one or two images (stereo case)</li><li><a href="set_object.html" class="code" title="function varargout = set_object(varargin)">set_object</a>    'set_object': GUI to edit a projection object</li></ul>
54<!-- crossreference -->
55
56
57<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
58<div class="fragment"><pre>0001 <span class="comment">%'read_set_object': read the data on the 'set_object' interface</span>
590002 <span class="comment">%--------------------------------------------------------</span>
600003 <span class="comment">% data=read_set_object(handles)</span>
610004 <span class="comment">%--------------------------------------------------------</span>
620005 <span class="comment">%OUTPUT</span>
630006 <span class="comment">%data: structure of data read on the set_object interface</span>
640007 <span class="comment">%    .Style : style of projection object</span>
650008 <span class="comment">%    .Coord(nbpos,3): set of coordinates defining the object position;</span>
660009 <span class="comment">%    .ProjMode=type of projection ;</span>
670010 <span class="comment">%    .Phi=angle of projection;</span>
680011 <span class="comment">%    .DX,.DY,.DZ=increments;</span>
690012 <span class="comment">%    .YMax,YMin: min and max Y</span>
700013 <span class="comment">%INPUT:</span>
710014 <span class="comment">% handles: structure describing the tags of the edit boxes and menus</span>
720015 <a name="_sub0" href="#_subfunctions" class="code">function data=read_set_object(handles)</a>
730016 <span class="comment">%menus</span>
740017 <span class="keyword">if</span> isfield(handles,<span class="string">'ObjectStyle'</span>)<span class="comment">%case of the set_object interface</span>
750018     menu=get(handles.ObjectStyle,<span class="string">'String'</span>);
760019     value=get(handles.ObjectStyle,<span class="string">'Value'</span>);
770020     data.Style=menu{value};
780021     menu=get(handles.ProjMode,<span class="string">'String'</span>);
790022     value=get(handles.ProjMode,<span class="string">'Value'</span>);
800023     data.ProjMode=menu{value};
810024     menu=get(handles.MenuCoord,<span class="string">'String'</span>);
820025     value=get(handles.MenuCoord,<span class="string">'Value'</span>);
830026     data.CoordType=menu{value};
840027     testcalib=0;
850028 <span class="keyword">else</span> <span class="comment">%default</span>
860029     data.Style=<span class="string">'points'</span>;
870030     testcalib=1;
880031 <span class="keyword">end</span>
890032
900033 <span class="comment">%Euler angles and projection ranges</span>
910034 <span class="keyword">if</span> ~testcalib
920035     <span class="keyword">if</span> isequal(get(handles.Phi,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
930036         data.Phi=str2num(get(handles.Phi,<span class="string">'String'</span>));
940037     <span class="keyword">end</span>
950038     <span class="keyword">if</span> isequal(get(handles.Theta,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
960039         data.Theta=str2num(get(handles.Theta,<span class="string">'String'</span>));
970040     <span class="keyword">end</span>
980041     <span class="keyword">if</span> isequal(get(handles.Psi,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
990042         data.Psi=str2num(get(handles.Psi,<span class="string">'String'</span>));
1000043     <span class="keyword">end</span>   
1010044     <span class="keyword">if</span> isequal(get(handles.DX,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
1020045         data.DX=str2num(get(handles.DX,<span class="string">'String'</span>));
1030046     <span class="keyword">end</span>
1040047     <span class="keyword">if</span> isequal(get(handles.DY,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
1050048         data.DY=str2num(get(handles.DY,<span class="string">'String'</span>));
1060049     <span class="keyword">end</span>
1070050     <span class="keyword">if</span> isequal(get(handles.DZ,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
1080051         data.DZ=str2num(get(handles.DZ,<span class="string">'String'</span>));
1090052     <span class="keyword">end</span>
1100053     dimrange=[1 1];<span class="comment">%default</span>
1110054     <span class="keyword">if</span> isequal(get(handles.ZMin,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
1120055         ZMin=str2num(get(handles.ZMin,<span class="string">'String'</span>));
1130056         <span class="keyword">if</span> ~isempty(ZMin)
1140057            data.RangeZ(1)=ZMin;
1150058            dimrange=[2 3];
1160059         <span class="keyword">end</span>
1170060     <span class="keyword">end</span>
1180061     <span class="keyword">if</span> isequal(get(handles.ZMax,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
1190062         ZMax=str2num(get(handles.ZMax,<span class="string">'String'</span>));
1200063         <span class="keyword">if</span> isempty(ZMax)
1210064             <span class="keyword">if</span> dimrange(1)&gt;1
1220065 <span class="comment">%                 set(handles.ZMax,'String',get(handles.ZMin,'String'))</span>
1230066                 data.RangeZ(1)=ZMax;
1240067             <span class="keyword">end</span>
1250068         <span class="keyword">else</span> 
1260069            data.RangeZ=ZMax;
1270070            dimrange=[dimrange(1) 3];
1280071         <span class="keyword">end</span>
1290072     <span class="keyword">end</span>
1300073     <span class="keyword">if</span> isequal(get(handles.YMin,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
1310074         YMin=str2num(get(handles.YMin,<span class="string">'String'</span>));
1320075         <span class="keyword">if</span> isempty(YMin)
1330076 <span class="comment">%             if dimrange(2)&gt;2</span>
1340077 <span class="comment">% %                 set(handles.YMin,'String','0')</span>
1350078 <span class="comment">%                 data.RangeY(2)=0;</span>
1360079 <span class="comment">%             end</span>
1370080         <span class="keyword">else</span>
1380081             data.RangeY(2)=YMin;
1390082             dimrange=[2 max(dimrange(2),2)];
1400083         <span class="keyword">end</span>
1410084     <span class="keyword">end</span>
1420085     <span class="keyword">if</span> isequal(get(handles.YMax,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
1430086 <span class="comment">%         data.YMax=str2num(get(handles.YMax,'String'));</span>
1440087         YMax=str2num(get(handles.YMax,<span class="string">'String'</span>));
1450088         <span class="keyword">if</span> isempty(YMax)
1460089 <span class="comment">%             if dimrange(1)&gt;1</span>
1470090 <span class="comment">% %                 set(handles.YMax,'String',get(handles.YMin,'String'))</span>
1480091 <span class="comment">%                 if ~isempty(YMin)</span>
1490092 <span class="comment">%                 data.RangeY(1)=YMin;</span>
1500093 <span class="comment">%                 end</span>
1510094 <span class="comment">%             elseif dimrange(2)&gt;2</span>
1520095 <span class="comment">% %                 set(handles.YMax,'String',get(handles.ZMin,'String'))</span>
1530096 <span class="comment">%                 data.RangeY(2)=ZMin;</span>
1540097 <span class="comment">%             end</span>
1550098         <span class="keyword">else</span>
1560099             data.RangeY(1)=YMax;
1570100             dimrange=[dimrange(1) max(dimrange(2),2)];
1580101         <span class="keyword">end</span>
1590102     <span class="keyword">end</span>
1600103     <span class="keyword">if</span> isequal(get(handles.XMin,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
1610104         XMin=str2num(get(handles.XMin,<span class="string">'String'</span>));
1620105         <span class="keyword">if</span> isempty(XMin)
1630106 <span class="comment">%             if ~isempty(YMin)</span>
1640107 <span class="comment">%                 if dimrange(2)&gt;1</span>
1650108 <span class="comment">% %                     set(handles.XMin,'String',get(handles.YMin,'String'))</span>
1660109 <span class="comment">%                     data.RangeX(2)=YMin;</span>
1670110 <span class="comment">%                     XMin=YMin;</span>
1680111 <span class="comment">%                 end</span>
1690112 <span class="comment">%             end</span>
1700113         <span class="keyword">else</span>
1710114             data.RangeX(2)=XMin;
1720115             <span class="comment">%dimrange=[2 max(dimrange(2),1)];</span>
1730116         <span class="keyword">end</span>
1740117     <span class="keyword">end</span>
1750118     <span class="keyword">if</span> isequal(get(handles.XMax,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
1760119          XMax=str2num(get(handles.XMax,<span class="string">'String'</span>));
1770120          <span class="keyword">if</span> isempty(XMax)
1780121 <span class="comment">%             if dimrange(1)&gt;1</span>
1790122 <span class="comment">% %                 set(handles.XMax,'String',get(handles.XMin,'String'))</span>
1800123 <span class="comment">%                 if ~isempty(XMin)</span>
1810124 <span class="comment">%                 data.RangeX(2)=XMin;</span>
1820125 <span class="comment">%                 end</span>
1830126 <span class="comment">%             elseif dimrange(2)&gt;1</span>
1840127 <span class="comment">% %                 set(handles.XMax,'String',get(handles.YMax,'String'))</span>
1850128 <span class="comment">%                 data.RangeX(1)=YMax;</span>
1860129 <span class="comment">%             end</span>
1870130         <span class="keyword">else</span>
1880131             data.RangeX(1)=XMax;
1890132          <span class="keyword">end</span>
1900133     <span class="keyword">end</span>
1910134 <span class="keyword">end</span>
1920135
1930136
1940137 <span class="comment">%positions x,y,z</span>
1950138 Xcolumn=get(handles.XObject,<span class="string">'String'</span>);
1960139 Ycolumn=get(handles.YObject,<span class="string">'String'</span>);
1970140 <span class="keyword">if</span> ischar(Xcolumn)
1980141     sizchar=size(Xcolumn);
1990142     <span class="keyword">for</span> icol=1:sizchar(1)
2000143         Xcolumn_cell{icol}=Xcolumn(icol,:);
2010144     <span class="keyword">end</span>
2020145     Xcolumn=Xcolumn_cell;
2030146 <span class="keyword">end</span>
2040147 <span class="keyword">if</span> ischar(Ycolumn)
2050148     sizchar=size(Ycolumn);
2060149     <span class="keyword">for</span> icol=1:sizchar(1)
2070150         Ycolumn_cell{icol}=Ycolumn(icol,:);
2080151     <span class="keyword">end</span>
2090152     Ycolumn=Ycolumn_cell;
2100153 <span class="keyword">end</span>
2110154 Zcolumn={};<span class="comment">%default</span>
2120155 <span class="keyword">if</span> isequal(get(handles.ZObject,<span class="string">'Visible'</span>),<span class="string">'on'</span>)
2130156     data.NbDim=3; <span class="comment">%test 3D object</span>
2140157     Zcolumn=get(handles.ZObject,<span class="string">'String'</span>);
2150158     <span class="keyword">if</span> ischar(Zcolumn)
2160159         Zcolumn={Zcolumn};
2170160     <span class="keyword">end</span>
2180161 <span class="keyword">end</span>
2190162 nb_points=min(length(Xcolumn),length(Ycolumn));<span class="comment">%number of point positions needed to define the object position</span>
2200163 <span class="keyword">if</span> isequal (data.Style,<span class="string">'line'</span>);
2210164     nb_defining_points=2;
2220165 <span class="keyword">elseif</span> isequal(data.Style,<span class="string">'plane'</span>)|isequal(data.Style,<span class="string">'rectangle'</span>)|isequal(data.Style,<span class="string">'ellipse'</span>)
2230166     nb_defining_points=1;
2240167 <span class="keyword">else</span>
2250168     nb_defining_points=nb_points;
2260169 <span class="keyword">end</span>
2270170 data_XObject=[];
2280171 data_YObject=[];
2290172 data_ZObject=[];
2300173 <span class="keyword">for</span> i=1:nb_points
2310174     Xnumber=str2num(Xcolumn{i});
2320175     Ynumber=str2num(Ycolumn{i});
2330176     <span class="keyword">if</span> isempty(Xnumber)|isempty(Ynumber)
2340177         <span class="keyword">break</span>
2350178     <span class="keyword">else</span>
2360179         data_XObject=[data_XObject; Xnumber(1)];
2370180         data_YObject=[data_YObject; Ynumber(1)];
2380181     <span class="keyword">end</span>
2390182     <span class="keyword">if</span> length(Zcolumn)&lt;i | isempty(str2num(Zcolumn{i}))
2400183         data_ZObject=[data_ZObject; 0];
2410184     <span class="keyword">else</span>
2420185         data_ZObject=[data_ZObject; str2num(Zcolumn{i})];
2430186     <span class="keyword">end</span>
2440187 <span class="keyword">end</span>
2450188 <span class="keyword">if</span> nb_defining_points &gt; nb_points
2460189     <span class="keyword">for</span> i=nb_points+1:nb_defining_points
2470190         data_XObject=[0;data_XObject];
2480191         data_YObject=[0;data_YObject];
2490192         data_ZObject=[0;data_ZObject];
2500193     <span class="keyword">end</span>
2510194 <span class="keyword">end</span>
2520195 <span class="keyword">if</span> isempty(data_XObject)
2530196     data_XObject=0;
2540197 <span class="keyword">end</span>
2550198 <span class="keyword">if</span> isempty(data_YObject)
2560199     data_YObject=0;
2570200 <span class="keyword">end</span>
2580201 <span class="keyword">if</span> isempty(data_ZObject)
2590202     data_ZObject=0;
2600203 <span class="keyword">end</span>
2610204 data.Coord=[data_XObject data_YObject data_ZObject];
2620205
2630206 set(handles.XObject,<span class="string">'String'</span>,mat2cell(data_XObject,length(data_XObject)))<span class="comment">%correct the interface display</span>
2640207 set(handles.YObject,<span class="string">'String'</span>,mat2cell(data_YObject,length(data_XObject)))
2650208 set(handles.ZObject,<span class="string">'String'</span>,mat2cell(data_ZObject,length(data_XObject)))
2660209
2670210</pre></div>
268<hr><address>Generated on Fri 13-Nov-2009 11:17:03 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
269</body>
270</html>
Note: See TracBrowser for help on using the repository browser.