0001 function display_data( data, fwd_model )
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 if nargin==1
0019 fwd_model= data.fwd_model;
0020 end
0021
0022 d_name= 'Unknown';
0023 if isfield(data,'name');
0024 dname= data.name;
0025 end
0026 fm_name= fwd_model.name;
0027
0028 fname= sprintf('%s.html', tempname );
0029 fid= fopen(fname,'wt');
0030 if fid==0;
0031 error('can''t open file %s', fname );
0032 end
0033
0034
0035
0036
0037 fprintf(fid, [ ...
0038 '<HTML><HEAD><TITLE>' ...
0039 'Data display %s. Model %s' ...
0040 '</TITLE></HEAD><BODY>' ...
0041 '<H1>Data display. <tt>data.name</tt>= %s' ...
0042 '<tt>fwd_model.name</tt>= %s</H1>'], ...
0043 d_name, fm_name, d_name, fm_name );
0044
0045
0046
0047
0048 fprintf(fid, [...
0049 '<H2>Electrode information</H2>\n' ...
0050 '<Table border="1"><TR>\n' ...
0051 '<TH>Elec #<TH colspan=5>Posn<TH>Nodes<TH>Z<sub>c</sub>\n', ...
0052 '<TR>' ...
0053 '<TH><TH>x<TH>y<TH>z<TH>r<TH>θ (°)<TH> <TH>(Ω)\n']);
0054
0055 fme= fwd_model.electrode;
0056 n_elec= length(fme);
0057 xyctr= mean(fwd_model.nodes,1);
0058 for i=1:n_elec
0059 nodes= fme(i).nodes;
0060 posn= mean(fwd_model.nodes(nodes,:),1);
0061 posn= [posn, zeros(1,3-length(posn))];
0062 dxy= posn(1:2) - xyctr(1:2);
0063 radius= sqrt(norm(dxy));
0064 angle = 180/pi*atan2(dxy(2),dxy(1));
0065 nlist= sprintf('%d,', nodes);
0066 nlist= ['[', nlist(1:end-1),']'];
0067 fprintf( fid, ['\n<TR>' ...
0068 '<TD align="right"> %d<TD align="right"> %1.3f<TD align="right"> %1.3f<TD align="right"> %1.3f<TD align="right"> %1.3f<TD align="right"> %1.1f<TD>%s<TD align="right"> %1.3f'], ...
0069 i,posn,radius,angle,nlist ,fme(i).z_contact);
0070 end
0071 fprintf( fid, '\n</Table>\n');
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081 fms= fwd_model.stimulation;
0082 lfms= length(fms);
0083
0084 elec_list = 2.^(0:n_elec-1)';
0085 meas_list = [];
0086 for i=1:lfms
0087 this_meas_list= (fms(i).meas_pattern~=0)*elec_list;
0088 meas_list = [meas_list, this_meas_list(:)'];
0089 end
0090 meas_list= unique(meas_list);
0091 lml= length(meas_list);
0092
0093 fprintf(fid, [...
0094 '<H2>Stimulation pattern information</H2>\n' ...
0095 '<Table border="1"><TR>\n' ...
0096 '<TH>Stimulation<TH colspan="%d">Measurement Patterns\n', ...
0097 '<TR><TH>Patterns'],lml);
0098 ne2= floor(n_elec)/2;
0099 for i=1:lml
0100 d2b= dec2bin( meas_list(i),n_elec);
0101 for j=length(d2b):-4:1;
0102 d2b= [d2b(1:j),'<br>',d2b(j+1:end)];
0103 end
0104 fprintf(fid,'<TH aligh="center">%s', d2b );
0105 end
0106 fprintf( fid, '\n</Table>\n');
0107
0108
0109 fclose(fid);
0110
0111 if isunix
0112 system(sprintf('mozilla file:///%s', fname));
0113 else
0114 system(sprintf('start file:///%s', fname));
0115 end
0116