PageRenderTime 27ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/parseGUI/ParseGUI.m

http://ssparse.googlecode.com/
Objective C | 683 lines | 534 code | 149 blank | 0 comment | 59 complexity | 6683459168f4fc1853826d7cf37d2feb MD5 | raw file
  1. function varargout = ParseGUI(varargin)
  2. % PARSEGUI M-file for ParseGUI.fig
  3. % PARSEGUI, by itself, creates a new PARSEGUI or raises the existing
  4. % singleton*.
  5. %
  6. % H = PARSEGUI returns the handle to a new PARSEGUI or the handle to
  7. % the existing singleton*.
  8. %
  9. % PARSEGUI('CALLBACK',hObject,eventData,handles,...) calls the local
  10. % function named CALLBACK in PARSEGUI.M with the given input arguments.
  11. %
  12. % PARSEGUI('Property','Value',...) creates a new PARSEGUI or raises the
  13. % existing singleton*. Starting from the left, property value pairs are
  14. % applied to the GUI before ParseGUI_OpeningFcn gets called. An
  15. % unrecognized property name or invalid value makes property application
  16. % stop. All inputs are passed to ParseGUI_OpeningFcn via varargin.
  17. %
  18. % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
  19. % instance to run (singleton)".
  20. %
  21. % See also: GUIDE, GUIDATA, GUIHANDLES
  22. % Edit the above text to modify the response to help ParseGUI
  23. % Last Modified by GUIDE v2.5 07-Feb-2008 19:22:26
  24. % Begin initialization code - DO NOT EDIT
  25. gui_Singleton = 1;
  26. gui_State = struct('gui_Name', mfilename, ...
  27. 'gui_Singleton', gui_Singleton, ...
  28. 'gui_OpeningFcn', @ParseGUI_OpeningFcn, ...
  29. 'gui_OutputFcn', @ParseGUI_OutputFcn, ...
  30. 'gui_LayoutFcn', [] , ...
  31. 'gui_Callback', []);
  32. if nargin && ischar(varargin{1})
  33. gui_State.gui_Callback = str2func(varargin{1});
  34. end
  35. if nargout
  36. [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
  37. else
  38. gui_mainfcn(gui_State, varargin{:});
  39. end
  40. % End initialization code - DO NOT EDIT
  41. % --- Executes just before ParseGUI is made visible.
  42. function ParseGUI_OpeningFcn(hObject, eventdata, handles, varargin)
  43. % This function has no output args, see OutputFcn.
  44. % hObject handle to figure
  45. % eventdata reserved - to be defined in a future version of MATLAB
  46. % handles structure with handles and user data (see GUIDATA)
  47. % varargin command line arguments to ParseGUI (see VARARGIN)
  48. % Choose default command line output for ParseGUI
  49. handles.output = hObject;
  50. % Update handles structure
  51. guidata(hObject, handles);
  52. handles.ParseData.M0imageArray = varargin{1};
  53. handles.ParseData.FreqimageArray = varargin{2};
  54. handles.ParseData.R2imageArray = varargin{3};
  55. handles.ParseData.CostimageArray = varargin{4};
  56. handles.ParseData.IterationValue = varargin{5};
  57. % handles.ParseData.TimeForFrame = varargin{6};
  58. axes(handles.M0map);
  59. imagesc(handles.ParseData.M0imageArray); axis image;colormap gray;
  60. title(strcat('Estimated M0, ',num2str(handles.ParseData.IterationValue),' iterations'));
  61. axes(handles.Freqmap);
  62. imagesc(abs(handles.ParseData.FreqimageArray)); axis image;colormap gray;
  63. title(strcat('Estimated Freq, ',num2str(handles.ParseData.IterationValue),' iterations'));
  64. axes(handles.R2map);
  65. imagesc(handles.ParseData.R2imageArray); axis image;colormap gray;
  66. title(strcat('Estimated R2*, ',num2str(handles.ParseData.IterationValue),' iterations'));
  67. axes(handles.CostFunction);
  68. semilogy(handles.ParseData.CostimageArray); grid on;
  69. title(strcat('CC - ',num2str(handles.ParseData.IterationValue),' iterations'));
  70. % axes(handles.TimeFrame);
  71. % bar(handles.ParseData.TimeForFrame); grid on;
  72. guidata(hObject,handles);
  73. % UIWAIT makes ParseGUI wait for user response (see UIRESUME)
  74. % uiwait(handles.figure1);
  75. % --- Outputs from this function are returned to the command line.
  76. function varargout = ParseGUI_OutputFcn(hObject, eventdata, handles)
  77. % varargout cell array for returning output args (see VARARGOUT);
  78. % hObject handle to figure
  79. % eventdata reserved - to be defined in a future version of MATLAB
  80. % handles structure with handles and user data (see GUIDATA)
  81. % Get default command line output from handles structure
  82. varargout{1} = handles.output;
  83. function lin_const_Callback(hObject, eventdata, handles)
  84. handles.QuadData.lin_const = str2double(get(hObject,'String'));
  85. guidata(hObject,handles)
  86. function lin_const_CreateFcn(hObject, eventdata, handles)
  87. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  88. set(hObject,'BackgroundColor','white');
  89. end
  90. function sq_term_Callback(hObject, eventdata, handles)
  91. handles.QuadData.sq_term = str2double(get(hObject,'String'));
  92. guidata(hObject,handles)
  93. function sq_term_CreateFcn(hObject, eventdata, handles)
  94. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  95. set(hObject,'BackgroundColor','white');
  96. end
  97. function x_sq_Callback(hObject, eventdata, handles)
  98. handles.QuadData.x_sq = str2double(get(hObject,'String'));
  99. guidata(hObject,handles)
  100. function x_sq_CreateFcn(hObject, eventdata, handles)
  101. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  102. set(hObject,'BackgroundColor','white');
  103. end
  104. function y_sq_Callback(hObject, eventdata, handles)
  105. handles.QuadData.y_sq = str2double(get(hObject,'String'));
  106. guidata(hObject,handles)
  107. function y_sq_CreateFcn(hObject, eventdata, handles)
  108. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  109. set(hObject,'BackgroundColor','white');
  110. end
  111. function x_term_Callback(hObject, eventdata, handles)
  112. handles.QuadData.x_term = str2double(get(hObject,'String'));
  113. guidata(hObject,handles)
  114. function x_term_CreateFcn(hObject, eventdata, handles)
  115. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  116. set(hObject,'BackgroundColor','white');
  117. end
  118. function y_term_Callback(hObject, eventdata, handles)
  119. handles.QuadData.y_term = str2double(get(hObject,'String'));
  120. guidata(hObject,handles)
  121. function y_term_CreateFcn(hObject, eventdata, handles)
  122. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  123. set(hObject,'BackgroundColor','white');
  124. end
  125. function nlist_Callback(hObject, eventdata, handles)
  126. handles.ParseData.nlist = str2num(get(hObject,'String'));
  127. guidata(hObject,handles)
  128. function nlist_CreateFcn(hObject, eventdata, handles)
  129. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  130. set(hObject,'BackgroundColor','white');
  131. end
  132. function offr_Callback(hObject, eventdata, handles)
  133. handles.ParseData.offr = str2double(get(hObject,'String'));
  134. guidata(hObject,handles)
  135. function offr_CreateFcn(hObject, eventdata, handles)
  136. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  137. set(hObject,'BackgroundColor','white');
  138. end
  139. function ffac_Callback(hObject, eventdata, handles)
  140. handles.ParseData.ffac = str2double(get(hObject,'String'));
  141. guidata(hObject,handles)
  142. function ffac_CreateFcn(hObject, eventdata, handles)
  143. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  144. set(hObject,'BackgroundColor','white');
  145. end
  146. function frnostart_Callback(hObject, eventdata, handles)
  147. handles.ParseData.frnostart = str2double(get(hObject,'String'));
  148. guidata(hObject,handles)
  149. function frnostart_CreateFcn(hObject, eventdata, handles)
  150. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  151. set(hObject,'BackgroundColor','white');
  152. end
  153. function wfr_Callback(hObject, eventdata, handles)
  154. handles.ParseData.wfr = str2double(get(hObject,'String'));
  155. guidata(hObject,handles)
  156. function wfr_CreateFcn(hObject, eventdata, handles)
  157. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  158. set(hObject,'BackgroundColor','white');
  159. end
  160. function wfi_Callback(hObject, eventdata, handles)
  161. handles.ParseData.wfi = str2double(get(hObject,'String'));
  162. guidata(hObject,handles)
  163. function wfi_CreateFcn(hObject, eventdata, handles)
  164. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  165. set(hObject,'BackgroundColor','white');
  166. end
  167. function frnoend_Callback(hObject, eventdata, handles)
  168. handles.ParseData.frnoend = str2double(get(hObject,'String'));
  169. guidata(hObject,handles)
  170. function frnoend_CreateFcn(hObject, eventdata, handles)
  171. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  172. set(hObject,'BackgroundColor','white');
  173. end
  174. function fidfile_Callback(hObject, eventdata, handles)
  175. handles.ParseData.fidfile = str2double(get(hObject,'String'));
  176. guidata(hObject,handles)
  177. function fidfile_CreateFcn(hObject, eventdata, handles)
  178. if isunix && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  179. set(hObject,'BackgroundColor','white');
  180. end
  181. % --- Executes on button press in browseFID.
  182. function browseFID_Callback(hObject, eventdata, handles)
  183. % hObject handle to browseFID (see GCBO)
  184. % eventdata reserved - to be defined in a future version of MATLAB
  185. % handles structure with handles and user data (see GUIDATA)
  186. handles.ParseData.fidDirectory = uigetdir('/media/sda1/Parse/data/phantom_studies'); % Set this to directory of your choice
  187. handles.ParseData.StudyDir = strcat(handles.ParseData.fidDirectory(findstr(handles.ParseData.fidDirectory,'pine'):end));
  188. handles.ParseData.Study = handles.ParseData.fidDirectory(findstr(handles.ParseData.fidDirectory,'s_20'):findstr(handles.ParseData.fidDirectory,'/data/pi')-1);
  189. set(handles.fidfile, 'String', strcat(handles.ParseData.fidDirectory));
  190. guidata(hObject,handles)
  191. % --- Executes on button press in ParamVerify.
  192. function ParamVerify_Callback(hObject, eventdata, handles)
  193. % hObject handle to ParamVerify (see GCBO)
  194. % eventdata reserved - to be defined in a future version of MATLAB
  195. % handles structure with handles and user data (see GUIDATA)
  196. % if (exist('handles.ParseData.gmax')==0) && (exist('handles.ParseData.thk')==0)
  197. % handles.ParseData.gmax = 1.9;
  198. % handles.ParseData.thk = 2;
  199. % errordlg('Gmax and Thickness not set. Defaulting gmax = 1.9; thickness = 2 mm ','Error');
  200. % end
  201. clc;
  202. set(handles.gmaxverify, 'String', strcat('Gmax',char([32 58]), num2str(handles.ParseData.gmax)));
  203. set(handles.ffacVerify, 'String', strcat('ffac',char([32 58]), num2str(handles.ParseData.ffac)));
  204. set(handles.offrVerify, 'String', strcat('offr',char([32 58]), num2str(handles.ParseData.offr)));
  205. set(handles.thkVerify, 'String', strcat('Thickness', char([32 58]), num2str(handles.ParseData.thk),' mm'));
  206. set(handles.wfrwfiVerify, 'String', strcat('wfr :',num2str(handles.ParseData.wfr), ' wfi :',num2str(handles.ParseData.wfi)));
  207. set(handles.ipfile, 'String', strcat('FID file :', handles.ParseData.StudyDir));
  208. set(handles.studyVerify, 'String', strcat('Study :', handles.ParseData.Study));
  209. set(handles.startxVerify, 'String', strcat('startx :', num2str(handles.ParseData.startx)));
  210. set(handles.endxVerify, 'String', strcat('endx :', num2str(handles.ParseData.endx)));
  211. set(handles.n1Verify, 'String', strcat('N1 :', num2str(handles.ParseData.N1)));
  212. set(handles.TrajFile, 'String', strcat('Traj :', handles.ParseData.trajectory_file));
  213. set(handles.FreqEquation, 'String', strcat(num2str(handles.QuadData.lin_const), ' + ', num2str(handles.QuadData.sq_term), '((',...
  214. num2str(handles.QuadData.x_sq), '.x^2) + (', num2str(handles.QuadData.y_sq), '.y^2)) + (', num2str(handles.QuadData.x_term),...
  215. '.x) + (', num2str(handles.QuadData.y_term), '.y)'));
  216. set(handles.framesVerify, 'String', strcat('Frames : ',num2str(handles.ParseData.frnostart),...
  217. '-',num2str(handles.ParseData.frnoend)));
  218. %Output .mat file
  219. handles.ParseData.OutputMatFile = strcat('p_',handles.ParseData.Study,'gmax_',num2str(handles.ParseData.gmax),...
  220. '_thk',num2str(handles.ParseData.thk),'.mat');
  221. set(handles.opmatfile, 'String', strcat('o/p :', handles.ParseData.OutputMatFile));
  222. %Output location
  223. handles.ParseData.OutputDirectory = strcat('/media/sda1/Parse/results/', handles.ParseData.Study, '/parse');
  224. set(handles.opdirectory, 'String', strcat('Dir :', handles.ParseData.OutputDirectory));
  225. guidata(hObject,handles)
  226. % --- Executes on button press in logParameters.
  227. function logParameters_Callback(hObject, eventdata, handles)
  228. % hObject handle to logParameters (see GCBO)
  229. % eventdata reserved - to be defined in a future version of MATLAB
  230. % handles structure with handles and user data (see GUIDATA)
  231. current_study = handles.ParseData.Study;
  232. current_thickness = num2str(handles.ParseData.thk);
  233. current_gmax = num2str(handles.ParseData.gmax);
  234. current_offr = num2str(handles.ParseData.offr);
  235. current_ffac = num2str(handles.ParseData.ffac);
  236. current_wfr = num2str(handles.ParseData.wfr);
  237. current_wfi = num2str(handles.ParseData.wfi);
  238. current_lin_const = num2str(handles.QuadData.lin_const);
  239. current_sq_term = num2str(handles.QuadData.sq_term);
  240. current_x_sq = num2str(handles.QuadData.x_sq);
  241. current_y_sq = num2str(handles.QuadData.y_sq);
  242. current_x_term = num2str(handles.QuadData.x_term);
  243. current_y_term = num2str(handles.QuadData.y_term);
  244. current_nlist = num2str(handles.ParseData.nlist);
  245. Data_Separator = '===============================================';
  246. LogFileNAME = strcat(current_study,'_gmax',num2str(current_gmax),'_thk',num2str(current_thickness),'.log');
  247. %handles.ParseData.OutputMatFile = strcat(LogFileNAME(1:findstr(LogFileNAME,'.log')-1),'.mat');
  248. fileIOvar = fopen(LogFileNAME, 'a+');
  249. if handles.ParseData.GoodParameters == 1
  250. fprintf(fileIOvar, ['\n*These Parameters Give Good Estimation*\n\n']);
  251. end
  252. fprintf(fileIOvar, ['Time: ' datestr(now) '\n\nOff Resonance (offr): ' current_offr '\nFID Scaling(ffac): ' current_ffac '\nwfr:'...
  253. current_wfr '; wfi: ' current_wfi '\n\nQuadratic Terms:\nX^2: ' current_x_sq '\nY^2: ' current_y_sq '\nX: ' current_x_term ...
  254. '\nY: ' current_y_term '\nConstant: ' current_lin_const '\n\nNLIST: ' current_nlist '\n\n' Data_Separator '\n\n']);
  255. fclose('all');
  256. guidata(hObject,handles)
  257. % --- Executes on button press in resetParams.
  258. function resetParams_Callback(hObject, eventdata, handles)
  259. % hObject handle to resetParams (see GCBO)
  260. % eventdata reserved - to be defined in a future version of MATLAB
  261. % handles structure with handles and user data (see GUIDATA)
  262. clc;
  263. clc
  264. handles.ParseData.gmax=1.9; %set(handles.GmaxUndThk, 'SelectedObject', handles.gmax19);
  265. handles.ParseData.thk=2; %set(handles.GmaxUndThk, 'SelectedObject', handles.thk2);
  266. handles.ParseData.GoodParameters = 0;
  267. handles.ParseData.ffac=1; set(handles.ffac, 'String', num2str(handles.ParseData.ffac));
  268. handles.ParseData.offr=0; set(handles.offr, 'String', num2str(handles.ParseData.offr));
  269. handles.ParseData.frnostart=1; set(handles.frnostart, 'String', num2str(handles.ParseData.frnostart));
  270. handles.ParseData.frnoend=50; set(handles.frnoend, 'String', num2str(handles.ParseData.frnoend));
  271. handles.ParseData.wfr=1; set(handles.wfr, 'String', num2str(handles.ParseData.wfr));
  272. handles.ParseData.wfi=1; set(handles.wfi, 'String', num2str(handles.ParseData.wfi));
  273. handles.QuadData.lin_const=0; set(handles.lin_const, 'String', num2str(handles.QuadData.lin_const));
  274. handles.QuadData.sq_term=0; set(handles.sq_term, 'String', num2str(handles.QuadData.sq_term));
  275. handles.QuadData.x_sq=0; set(handles.x_sq, 'String', num2str(handles.QuadData.x_sq));
  276. handles.QuadData.y_sq=0; set(handles.y_sq, 'String', num2str(handles.QuadData.y_sq));
  277. handles.QuadData.x_term=0; set(handles.x_term, 'String', num2str(handles.QuadData.x_term));
  278. handles.QuadData.y_term=0; set(handles.y_term, 'String', num2str(handles.QuadData.y_term));
  279. load trajvar;
  280. arrayvar=findstr(ismember(trajvar.gmax,handles.ParseData.gmax)',1);
  281. handles.ParseData.startx=trajvar.startx(arrayvar);
  282. handles.ParseData.gmax=trajvar.gmax(arrayvar);
  283. handles.ParseData.endx=trajvar.endx(arrayvar);
  284. handles.ParseData.np=trajvar.np(arrayvar);
  285. handles.ParseData.at=trajvar.at(arrayvar);
  286. handles.ParseData.sw=trajvar.sw(arrayvar);
  287. handles.ParseData.N1=trajvar.N1(arrayvar);
  288. handles.ParseData.trajectory_file=strcat(trajvar.ktraj(arrayvar,:));
  289. handles.ParseData.StudyDir='None Selected';
  290. handles.ParseData.Study='None Selected';
  291. set(handles.fidfile, 'String', 'Please select a FID directory');
  292. guidata(hObject,handles)
  293. % --- Executes on button press in run.
  294. function run_Callback(hObject, eventdata, handles)
  295. % hObject handle to run (see GCBO)
  296. % eventdata reserved - to be defined in a future version of MATLAB
  297. % handles structure with handles and user data (see GUIDATA)
  298. offr = handles.ParseData.offr;
  299. ffac = handles.ParseData.ffac;
  300. gmax = handles.ParseData.gmax;
  301. thk = handles.ParseData.thk;
  302. startx = handles.ParseData.startx;
  303. endx = handles.ParseData.endx;
  304. np = handles.ParseData.np;
  305. Ta = handles.ParseData.at;
  306. sw = handles.ParseData.sw;
  307. N1 = 3*handles.ParseData.N1;
  308. trajectory_file=handles.ParseData.trajectory_file;
  309. fid_file = handles.ParseData.fidDirectory;
  310. fid_file=fid_file(1:findstr(fid_file,'.fid')-1);
  311. wfr = handles.ParseData.wfr;
  312. wfi = handles.ParseData.wfi;
  313. NLIST = [handles.ParseData.nlist].'*N1;
  314. frnostart = handles.ParseData.frnostart;
  315. frnoend = handles.ParseData.frnoend;
  316. OutputDirectory = handles.ParseData.OutputDirectory;
  317. OutputMatFileName = handles.ParseData.OutputMatFile;
  318. lin_const = handles.QuadData.lin_const;
  319. sq_term = handles.QuadData.sq_term;
  320. x_sq = handles.QuadData.x_sq;
  321. y_sq = handles.QuadData.y_sq;
  322. x_term = handles.QuadData.x_term;
  323. y_term = handles.QuadData.y_term;
  324. StudyName = handles.ParseData.Study;
  325. save estimationfile N1 thk endx gmax np trajectory_file NLIST startx wfi Ta...
  326. fid_file sw wfr frnostart frnoend OutputDirectory OutputMatFileName offr...
  327. lin_const sq_term x_sq y_sq x_term y_term StudyName
  328. autoparse;
  329. % --- Executes on button press in accept.
  330. function accept_Callback(hObject, eventdata, handles)
  331. % hObject handle to accept (see GCBO)
  332. % eventdata reserved - to be defined in a future version of MATLAB
  333. % handles structure with handles and user data (see GUIDATA)
  334. % --- Executes on button press in gmax19.
  335. function gmax19_Callback(hObject, eventdata, handles)
  336. if get(hObject,'Value') == 1
  337. handles.gmax=1.9;
  338. load trajvar;
  339. clear handles.ParseData.startx handles.ParseData.gmax handles.ParseData.endx...
  340. handles.ParseData.np handles.ParseData.at handles.ParseData.sw...
  341. handles.ParseData.trajectory_file handles.ParseData.N1
  342. arrayvar=findstr(ismember(trajvar.gmax,handles.gmax)',1);
  343. handles.ParseData.startx=trajvar.startx(arrayvar);
  344. handles.ParseData.gmax=trajvar.gmax(arrayvar);
  345. handles.ParseData.endx=trajvar.endx(arrayvar);
  346. handles.ParseData.np=trajvar.np(arrayvar);
  347. handles.ParseData.at=trajvar.at(arrayvar);
  348. handles.ParseData.sw=trajvar.sw(arrayvar);
  349. handles.ParseData.N1=trajvar.N1(arrayvar);
  350. handles.ParseData.trajectory_file=strcat(trajvar.ktraj(arrayvar,:));
  351. set(handles.gmaxverify, 'String', strcat('Gmax',char([32 58]), num2str(handles.ParseData.gmax)));
  352. set(handles.TrajFile, 'String', strcat('Traj', char([32 58]), handles.ParseData.trajectory_file));
  353. end
  354. guidata(hObject,handles)
  355. % --- Executes on button press in gmax23.
  356. function gmax23_Callback(hObject, eventdata, handles)
  357. if get(hObject,'Value') == 1
  358. handles.gmax=2.3;
  359. load trajvar;
  360. clear handles.ParseData.startx handles.ParseData.gmax handles.ParseData.endx...
  361. handles.ParseData.np handles.ParseData.at handles.ParseData.sw...
  362. handles.ParseData.trajectory_file handles.ParseData.N1
  363. arrayvar=findstr(ismember(trajvar.gmax,handles.gmax)',1);
  364. handles.ParseData.startx=trajvar.startx(arrayvar);
  365. handles.ParseData.gmax=trajvar.gmax(arrayvar);
  366. handles.ParseData.endx=trajvar.endx(arrayvar);
  367. handles.ParseData.np=trajvar.np(arrayvar);
  368. handles.ParseData.at=trajvar.at(arrayvar);
  369. handles.ParseData.sw=trajvar.sw(arrayvar);
  370. handles.ParseData.N1=trajvar.N1(arrayvar);
  371. handles.ParseData.trajectory_file=strcat(trajvar.ktraj(arrayvar,:));
  372. set(handles.gmaxverify, 'String', strcat('Gmax',char([32 58]), num2str(handles.ParseData.gmax)));
  373. set(handles.TrajFile, 'String', strcat('Traj', char([32 58]), handles.ParseData.trajectory_file));
  374. end
  375. guidata(hObject,handles)
  376. % --- Executes on button press in gmax25.
  377. function gmax25_Callback(hObject, eventdata, handles)
  378. if get(hObject,'Value') == 1
  379. handles.gmax=2.5;
  380. load trajvar;
  381. clear handles.ParseData.startx handles.ParseData.gmax handles.ParseData.endx...
  382. handles.ParseData.np handles.ParseData.at handles.ParseData.sw...
  383. handles.ParseData.trajectory_file handles.ParseData.N1
  384. arrayvar=findstr(ismember(trajvar.gmax,handles.gmax)',1);
  385. handles.ParseData.startx=trajvar.startx(arrayvar);
  386. handles.ParseData.gmax=trajvar.gmax(arrayvar);
  387. handles.ParseData.endx=trajvar.endx(arrayvar);
  388. handles.ParseData.np=trajvar.np(arrayvar);
  389. handles.ParseData.at=trajvar.at(arrayvar);
  390. handles.ParseData.sw=trajvar.sw(arrayvar);
  391. handles.ParseData.N1=trajvar.N1(arrayvar);
  392. handles.ParseData.trajectory_file=strcat(trajvar.ktraj(arrayvar,:));
  393. set(handles.gmaxverify, 'String', strcat('Gmax',char([32 58]), num2str(handles.ParseData.gmax)));
  394. set(handles.TrajFile, 'String', strcat('Traj', char([32 58]), handles.ParseData.trajectory_file));
  395. end
  396. guidata(hObject,handles)
  397. % --- Executes on button press in gmax29.
  398. function gmax29_Callback(hObject, eventdata, handles)
  399. if get(hObject,'Value') == 1
  400. handles.gmax=2.9;
  401. load trajvar;
  402. clear handles.ParseData.startx handles.ParseData.gmax handles.ParseData.endx...
  403. handles.ParseData.np handles.ParseData.at handles.ParseData.sw...
  404. handles.ParseData.trajectory_file handles.ParseData.N1
  405. arrayvar=findstr(ismember(trajvar.gmax,handles.gmax)',1);
  406. handles.ParseData.startx=trajvar.startx(arrayvar);
  407. handles.ParseData.gmax=trajvar.gmax(arrayvar);
  408. handles.ParseData.endx=trajvar.endx(arrayvar);
  409. handles.ParseData.np=trajvar.np(arrayvar);
  410. handles.ParseData.at=trajvar.at(arrayvar);
  411. handles.ParseData.sw=trajvar.sw(arrayvar);
  412. handles.ParseData.N1=trajvar.N1(arrayvar);
  413. handles.ParseData.trajectory_file=strcat(trajvar.ktraj(arrayvar,:));
  414. set(handles.gmaxverify, 'String', strcat('Gmax',char([32 58]), num2str(handles.ParseData.gmax)));
  415. set(handles.TrajFile, 'String', strcat('Traj', char([32 58]), handles.ParseData.trajectory_file));
  416. end
  417. guidata(hObject,handles)
  418. % --- Executes on button press in gmax32.
  419. function gmax32_Callback(hObject, eventdata, handles)
  420. if get(hObject,'Value') == 1
  421. handles.gmax=3.2;
  422. load trajvar;
  423. clear handles.ParseData.startx handles.ParseData.gmax handles.ParseData.endx...
  424. handles.ParseData.np handles.ParseData.at handles.ParseData.sw...
  425. handles.ParseData.trajectory_file handles.ParseData.N1
  426. arrayvar=findstr(ismember(trajvar.gmax,handles.gmax)',1);
  427. handles.ParseData.startx=trajvar.startx(arrayvar);
  428. handles.ParseData.gmax=trajvar.gmax(arrayvar);
  429. handles.ParseData.endx=trajvar.endx(arrayvar);
  430. handles.ParseData.np=trajvar.np(arrayvar);
  431. handles.ParseData.at=trajvar.at(arrayvar);
  432. handles.ParseData.sw=trajvar.sw(arrayvar);
  433. handles.ParseData.N1=trajvar.N1(arrayvar);
  434. handles.ParseData.trajectory_file=strcat(trajvar.ktraj(arrayvar,:));
  435. set(handles.gmaxverify, 'String', strcat('Gmax',char([32 58]), num2str(handles.ParseData.gmax)));
  436. set(handles.TrajFile, 'String', strcat('Traj', char([32 58]), handles.ParseData.trajectory_file));
  437. end
  438. guidata(hObject,handles)
  439. % --- Executes on button press in gmax35.
  440. function gmax35_Callback(hObject, eventdata, handles)
  441. if get(hObject,'Value') == 1
  442. handles.gmax=3.5;
  443. load trajvar;
  444. clear handles.ParseData.startx handles.ParseData.gmax handles.ParseData.endx...
  445. handles.ParseData.np handles.ParseData.at handles.ParseData.sw...
  446. handles.ParseData.trajectory_file handles.ParseData.N1
  447. arrayvar=findstr(ismember(trajvar.gmax,handles.gmax)',1);
  448. handles.ParseData.startx=trajvar.startx(arrayvar);
  449. handles.ParseData.gmax=trajvar.gmax(arrayvar);
  450. handles.ParseData.endx=trajvar.endx(arrayvar);
  451. handles.ParseData.np=trajvar.np(arrayvar);
  452. handles.ParseData.at=trajvar.at(arrayvar);
  453. handles.ParseData.sw=trajvar.sw(arrayvar);
  454. handles.ParseData.N1=trajvar.N1(arrayvar);
  455. handles.ParseData.trajectory_file=strcat(trajvar.ktraj(arrayvar,:));
  456. set(handles.gmaxverify, 'String', strcat('Gmax',char([32 58]), num2str(handles.ParseData.gmax)));
  457. set(handles.TrajFile, 'String', strcat('Traj', char([32 58]), handles.ParseData.trajectory_file));
  458. end
  459. guidata(hObject,handles)
  460. % --- Executes on button press in gmax38.
  461. function gmax38_Callback(hObject, eventdata, handles)
  462. if get(hObject,'Value') == 1
  463. handles.gmax=3.8;
  464. load trajvar;
  465. clear handles.ParseData.startx handles.ParseData.gmax handles.ParseData.endx...
  466. handles.ParseData.np handles.ParseData.at handles.ParseData.sw...
  467. handles.ParseData.trajectory_file handles.ParseData.N1
  468. arrayvar=findstr(ismember(trajvar.gmax,handles.gmax)',1);
  469. handles.ParseData.startx=trajvar.startx(arrayvar);
  470. handles.ParseData.gmax=trajvar.gmax(arrayvar);
  471. handles.ParseData.endx=trajvar.endx(arrayvar);
  472. handles.ParseData.np=trajvar.np(arrayvar);
  473. handles.ParseData.at=trajvar.at(arrayvar);
  474. handles.ParseData.sw=trajvar.sw(arrayvar);
  475. handles.ParseData.N1=trajvar.N1(arrayvar);
  476. handles.ParseData.trajectory_file=strcat(trajvar.ktraj(arrayvar,:));
  477. set(handles.gmaxverify, 'String', strcat('Gmax',char([32 58]), num2str(handles.ParseData.gmax)));
  478. set(handles.TrajFile, 'String', strcat('Traj', char([32 58]), handles.ParseData.trajectory_file));
  479. end
  480. guidata(hObject,handles)
  481. % --- Executes on button press in thk2.
  482. function thk2_Callback(hObject, eventdata, handles)
  483. % hObject handle to thk2 (see GCBO)
  484. % eventdata reserved - to be defined in a future version of MATLAB
  485. % handles structure with handles and user data (see GUIDATA)
  486. % Hint: get(hObject,'Value') returns toggle state of thk2
  487. if get(hObject,'Value') ==1
  488. clear handles.ParseData.thk;
  489. handles.ParseData.thk = 2;
  490. set(handles.thkVerify, 'String', strcat('Thickness', char([32 58]), num2str(handles.ParseData.thk),' mm'));
  491. end
  492. guidata(hObject,handles)
  493. % --- Executes on button press in thk3.
  494. function thk3_Callback(hObject, eventdata, handles)
  495. if get(hObject,'Value') ==1
  496. clear handles.ParseData.thk;
  497. handles.ParseData.thk = 3;
  498. set(handles.thkVerify, 'String', strcat('Thickness', char([32 58]), num2str(handles.ParseData.thk),' mm'));
  499. end
  500. guidata(hObject,handles)
  501. % --- Executes on button press in thk4.
  502. function thk4_Callback(hObject, eventdata, handles)
  503. if get(hObject,'Value') ==1
  504. clear handles.ParseData.thk;
  505. handles.ParseData.thk = 4;
  506. set(handles.thkVerify, 'String', strcat('Thickness', char([32 58]), num2str(handles.ParseData.thk),' mm'));
  507. end
  508. guidata(hObject,handles)
  509. % --- Executes on button press in thk5.
  510. function thk5_Callback(hObject, eventdata, handles)
  511. if get(hObject,'Value') ==1
  512. clear handles.ParseData.thk;
  513. handles.ParseData.thk = 5;
  514. set(handles.thkVerify, 'String', strcat('Thickness', char([32 58]), num2str(handles.ParseData.thk),' mm'));
  515. end
  516. guidata(hObject,handles)
  517. % --- Executes on button press in ParamsVeryGood.
  518. function ParamsVeryGood_Callback(hObject, eventdata, handles)
  519. % hObject handle to ParamsVeryGood (see GCBO)
  520. % eventdata reserved - to be defined in a future version of MATLAB
  521. % handles structure with handles and user data (see GUIDATA)
  522. % Hint: get(hObject,'Value') returns toggle state of ParamsVeryGood
  523. if get(hObject,'Value') == 1
  524. handles.ParseData.GoodParameters = 1;
  525. else
  526. handles.ParseData.GoodParameters = 0;
  527. end
  528. guidata(hObject,handles)
  529. % --- Executes during object creation, after setting all properties.
  530. function M0map_CreateFcn(hObject, eventdata, handles)
  531. % hObject handle to M0map (see GCBO)
  532. % eventdata reserved - to be defined in a future version of MATLAB
  533. % handles empty - handles not created until after all CreateFcns called
  534. % Hint: place code in OpeningFcn to populate M0map