EZVimDisplay.m 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. % ImageDisplay
  2. global Exp
  3. global ghandles
  4. global zonePB
  5. prntHt=0;
  6. % Test for Bad MP cell array (usually 384 [NaN}'s)
  7. % replaced length(Exp(expN).Dexp(1).MP) with MPnum
  8. for mx=1:length(Exp(expN).Dexp(1).MP)
  9. try
  10. char((Exp(expN).Dexp(1).MP(mx).genename{1}(384)))
  11. MPnum=mx;
  12. catch
  13. break
  14. end
  15. end
  16. if expN==1,DexpN=(get(handles.DN1,'value')); end
  17. if expN==2,DexpN=(get(handles.DN2,'value')); end
  18. if expN==3,DexpN=(get(handles.DN3,'value')); end
  19. Exp(expN).DexpN=DexpN;
  20. if strcmp(Exp(expN).DexpType,'single')
  21. DexpN=1;
  22. elseif ~strcmp(Exp(expN).DexpType,'single')
  23. if expN==1
  24. set(handles.MPsldr1,'min',1,'max',MPnum)
  25. DMnum=length(Exp(expN).Dexp(DexpN).DM.drug);
  26. set(handles.DMsldr1,'min',1,'max',DMnum)
  27. tPtsSize=size(Exp(expN).Dexp(DexpN).FexpScanBMtp{1,1},(3));
  28. set(handles.Tptsldr1,'min',1,'max',tPtsSize)
  29. end
  30. if expN==2
  31. set(handles.MPsldr2,'min',1,'max',MPnum)
  32. DMnum=length(Exp(expN).Dexp(DexpN).DM.drug);
  33. set(handles.DMsldr2,'min',1,'max',DMnum)
  34. tPtsSize=size(Exp(expN).Dexp(DexpN).FexpScanBMtp{1,1},(3));
  35. set(handles.Tptsldr2,'min',1,'max',tPtsSize)
  36. end
  37. if expN==3
  38. set(handles.MPsldr3,'min',1,'max',MPnum)
  39. DMnum=length(Exp(expN).Dexp(DexpN).DM.drug);
  40. set(handles.DMsldr3,'min',1,'max',DMnum)
  41. tPtsSize=size(Exp(expN).Dexp(DexpN).FexpScanBMtp{1,1},(3));
  42. set(handles.Tptsldr3,'min',1,'max',tPtsSize)
  43. end
  44. end
  45. ghandles=handles;
  46. scan=Exp(expN).Dexp(DexpN).scan;
  47. destPerMP=length(Exp(expN).Dexp(DexpN).DM.drug);
  48. if expN==1,MPsel=floor(get(handles.MPsldr1,'value')); end
  49. if expN==2,MPsel=floor(get(handles.MPsldr2,'value')); end
  50. if expN==3,MPsel=floor(get(handles.MPsldr3,'value')); end
  51. if expN==1,pertSel=floor(get(handles.DMsldr1,'value')); end
  52. if expN==2,pertSel=floor(get(handles.DMsldr2,'value')); end
  53. if expN==3,pertSel=floor(get(handles.DMsldr3,'value')); end
  54. if expN==1,tPtSel=floor(get(handles.Tptsldr1,'value')); end
  55. if expN==2,tPtSel=floor(get(handles.Tptsldr2,'value')); end
  56. if expN==3,tPtSel=floor(get(handles.Tptsldr3,'value')); end
  57. plateNum=(MPsel-1)*destPerMP + pertSel;
  58. tPtsSize=[];
  59. tPtsSize=length(Exp(expN).Dexp(DexpN).scan(plateNum).plate(1).tSeries(:))
  60. n=1;
  61. for ii=1:tPtsSize
  62. if exist(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum),strcat((num2str(ii)),'.bmp'))) ==2; %the .bmp file exists
  63. bmpLst(n)=ii
  64. n=n+1
  65. end
  66. end
  67. if tPtSel> tPtsSize
  68. tPtSel=tPtsSize
  69. end
  70. if exist(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum),strcat((num2str(tPtSel)),'.bmp'))) ==0; %the .bmp file exists
  71. tPtSel=bmpLst(find(bmpLst>tPtSel,1,'first'))
  72. end
  73. if expN==1,
  74. set(handles.Tptsldr1,'max',tPtsSize);
  75. set(ghandles.Tptsldr1,'max',tPtsSize);
  76. set(handles.Tpted1,'string', num2str(tPtSel));
  77. set(ghandles.Tpted1,'string', num2str(tPtSel));
  78. if tPtsSize<=tPtSel,
  79. set(handles.Tptsldr1,'value', tPtsSize)
  80. set(ghandles.Tptsldr1,'value', tPtsSize)
  81. tPtSel=tPtsSize
  82. set(handles.Tpted1,'string', num2str(tPtsSize))
  83. set(ghandles.Tpted1,'string', num2str(tPtsSize))
  84. end
  85. end
  86. if expN==2
  87. set(handles.Tptsldr2,'max',tPtsSize);
  88. set(ghandles.Tptsldr2,'max',tPtsSize);
  89. set(handles.Tpted2,'string', num2str(tPtSel));
  90. set(ghandles.Tpted2,'string', num2str(tPtSel));
  91. if tPtsSize<=tPtSel,
  92. set(handles.Tptsldr2,'value', tPtsSize)
  93. set(ghandles.Tptsldr2,'value', tPtsSize)
  94. tPtSel=tPtsSize
  95. set(handles.Tpted2,'string', num2str(tPtsSize))
  96. set(ghandles.Tpted2,'string', num2str(tPtsSize))
  97. end
  98. end
  99. if expN==3
  100. set(handles.Tptsldr3,'max',tPtsSize);
  101. set(ghandles.Tptsldr3,'max',tPtsSize);
  102. set(handles.Tpted3,'string', num2str(tPtSel));
  103. set(ghandles.Tpted3,'string', num2str(tPtSel));
  104. if tPtsSize<=tPtSel,
  105. set(handles.Tptsldr3,'value', tPtsSize)
  106. set(ghandles.Tptsldr3,'value', tPtsSize)
  107. tPtSel=tPtsSize
  108. set(handles.Tpted3,'string', num2str(tPtsSize))
  109. set(ghandles.Tpted3,'string', num2str(tPtsSize))
  110. end
  111. end
  112. Exp(expN).Dexp(DexpN).MPsel=MPsel;
  113. Exp(expN).Dexp(DexpN).destPerMP=destPerMP;
  114. Exp(expN).Dexp(DexpN).pertSel=pertSel;
  115. Exp(expN).Dexp(DexpN).tPtSel=tPtSel;
  116. Exp(expN).Dexp(DexpN).plateNum=plateNum;
  117. %try
  118. I=imread(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum),strcat(num2str(tPtSel),'.bmp')));
  119. %set(ghandles.Iaxes1,'CurrentAxes')
  120. if expN==1, expAxes=ghandles.Iaxes1;end
  121. if expN==2, expAxes=ghandles.Iaxes2;end
  122. if expN==3, expAxes=ghandles.Iaxes3;end
  123. axes(expAxes)
  124. imshow(I)
  125. set(expAxes,'xtick',[],'ytick',[])
  126. DMstr=char(strcat('Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ', ...
  127. Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},' ', ...
  128. Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ', ...
  129. Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel}))
  130. if expN==1,set(handles.DM1,'string',DMstr); end
  131. if expN==2,set(handles.DM2,'string',DMstr); end
  132. if expN==3,set(handles.DM3,'string',DMstr); end
  133. tPtStr=strcat('T=', num2str(scan(1,plateNum).plate(1).t0Series(tPtSel)));
  134. if expN==1,set(handles.tptTm1,'string',tPtStr); end
  135. if expN==2,set(handles.tptTm2,'string',tPtStr); end
  136. if expN==3,set(handles.tptTm3,'string',tPtStr); end
  137. xp=char(Exp(expN).Dexp(DexpN).resDir);
  138. if ispc
  139. slashPos=strfind(char(Exp(expN).Dexp(DexpN).resDir),'\');
  140. else
  141. slashPos=strfind(char(Exp(expN).Dexp(DexpN).resDir),'/');
  142. end
  143. startPos=slashPos(length(slashPos)-2) +1;
  144. endPos=(slashPos(length(slashPos)) -1);
  145. expStrg=xp(startPos:end);
  146. if expN==1,set(handles.expName1,'string',expStrg); end
  147. if expN==2,set(handles.expName2,'string',expStrg); end
  148. if expN==3,set(handles.expName3,'string',expStrg); end
  149. try
  150. htMapTogPBfg=0;
  151. EZhtMap
  152. catch
  153. end
  154. % zonePB handle control from left graph spot side to communicate to right side 23_0818
  155. % This section was based on the zoneRad Section for Radiobuttons which were
  156. % unusable with the new form of Radio Buttons in AppDesigner.
  157. if expN==1
  158. zonesel=1;
  159. zonePB=1;
  160. set(handles. zonePB1,'value',1)
  161. set(handles. zonePB2,'value',0)
  162. set(handles. zonePB3,'value',0)
  163. set(handles.zonePB1,'BackgroundColor',[1.0 0.6 0.6])
  164. set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0])
  165. set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0])
  166. orfLstSel=get(handles.GeneOrfTog,'value');
  167. if orfLstSel==1
  168. set(handles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtOrfLst)
  169. else
  170. set(handles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtGnLst)
  171. end
  172. end
  173. if expN==2
  174. zonesel=2;
  175. zonePB=2;
  176. set(handles. zonePB2,'value',1)
  177. set(handles. zonePB1,'value',0)
  178. set(handles. zonePB3,'value',0)
  179. set(handles.zonePB2,'BackgroundColor',[1.0 0.6 0.6])
  180. set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0])
  181. set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0])
  182. orfLstSel=get(handles.GeneOrfTog,'value');
  183. if orfLstSel==1
  184. set(handles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtOrfLst)
  185. else
  186. set(handles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtGnLst)
  187. end
  188. end
  189. if expN==3
  190. zonesel=3;
  191. zonePB=3;
  192. set(handles. zonePB3,'value',1)
  193. set(handles. zonePB2,'value',0)
  194. set(handles. zonePB1,'value',0)
  195. set(handles.zonePB3,'BackgroundColor',[1.0 0.6 0.6]);
  196. set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]);
  197. set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]);
  198. orfLstSel=get(handles.GeneOrfTog,'value');
  199. if orfLstSel==1
  200. set(handles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtOrfLst)
  201. else
  202. set(handles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtGnLst)
  203. end
  204. end