source: an2_readfidprefs.m @ 53

Last change on this file since 53 was 45, checked in by tjniskan, 11 years ago
  • Changed a small thing in license notices

M an2_export_gui.m
M an2_cellsprintf.m
M an2_getfilefilter.m
M an2_calc_wait.m
M an2_smiswrite.m
M misclib/spectrsum.m
M misclib/shiftind.m
M misclib/nifti4dto3d.m
M misclib/nifti3dto4d.m
M misclib/dcm_info.m
M misclib/addicon.m
M misclib/makelcmraw.m
M an2_check_file_exist.m
M an2_iseven.m
M an2_cellwrite.m
M an2_wbar.m
M an2_rot3d.m
M an2_readfdf.m
M an2_revision.m
M an2_viewprocpar.m
M an2_checkcthdr.m
M an2_readprocpar.m
M an2_fitmaps.m
M an2_read_nifti.m
M an2_data_read.m
M an2_smisread.m
M an2_resviewer.m
M an2_maptool.m
M aedes.m
M an2_helpabout.m
M an2_res2table.m
M an2_copy_roi.m
M plugins/save_roi_as_mask.m
M plugins/write_difference_images.m
M plugins/plot_profile.m
M plugins/calculate_t2_map.m
M plugins/calculate_t1r_map.m
M plugins/view_kspace.m
M plugins/copy_data_to_workspace.m
M plugins/take_snapshot.m
M an2_inputdlg.m
M an2_roi_copy_gui.m
M an2_readctdata.m
M an2_readfid.m
M an2_readfidprefs.m
M an2_readtab.m
M an2_check_updates.m
M an2_killfigs.m
M an2_roi_stats.m
M an2_saveres.m
M an2_rotateflip.m
M an2_juigetfiles.m
M an2_gui_defaults.m
M an2_editstack.m
M an2_errordump.m
M an2_update.m
M an2_write_nifti.m

File size: 10.8 KB
Line 
1function an2_readfidprefs()
2% AN2_READFIDPREFS - GUI for editing preferences for AEDES and
3% AN2_DATA_READ for VNMR format files
4%   
5%
6% Synopsis:
7%        an2_readfidprefs;
8%
9% Description:
10%
11% Examples:
12%
13% See also:
14%        AEDES, AN2_DATA_READ
15
16% This function is a part of Aedes - A graphical tool for analyzing
17% medical images
18%
19% Copyright (C) 2006 Juha-Pekka Niskanen <Juha-Pekka.Niskanen@uku.fi>
20%
21% Department of Physics, Department of Neurobiology
22% University of Kuopio, FINLAND
23%
24% This program may be used under the terms of the GNU General Public
25% License version 2.0 as published by the Free Software Foundation
26% and appearing in the file LICENSE.TXT included in the packaging of
27% this program.
28%
29% This program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
30% WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
31
32
33done=false;
34msg='';
35
36
37Dat = [];
38
39%% Try to read defaults from preferences
40%% Get defaults for Return
41if ispref('Aedes','ReadfidReturn')
42  if getpref('Aedes','ReadfidReturn')==1
43    Dat.ReturnKSpace  = false;
44    Dat.ReturnFTData  = true;
45  elseif getpref('Aedes','ReadfidReturn')==2
46      Dat.ReturnKSpace  = true;
47      Dat.ReturnFTData  = false;
48  elseif getpref('Aedes','ReadfidReturn')==3
49    Dat.ReturnKSpace  = true;
50    Dat.ReturnFTData  = true;
51  else
52    Dat.ReturnKSpace  = false;
53    Dat.ReturnFTData  = true;
54  end
55else
56  Dat.ReturnKSpace  = false;
57  Dat.ReturnFTData  = true;
58  setpref('Aedes','ReadfidReturn',1)
59end
60
61%% Get defaults for DC correction
62if ispref('Aedes','ReadfidDCcorrection')
63  if getpref('Aedes','ReadfidDCcorrection')
64    Dat.DCcorrection  = true;
65  else
66    Dat.DCcorrection  = false;
67  end
68else
69  Dat.DCcorrection  = false;
70  setpref('Aedes','ReadfidDCcorrection',false)
71end
72
73%% Get defaults for Zeropadding
74if ispref('Aedes','ReadfidZeropadding')
75  if getpref('Aedes','ReadfidZeropadding')==0
76    Dat.ZeroPadding = 0;
77  elseif getpref('Aedes','ReadfidZeropadding')==1
78    Dat.ZeroPadding = 1;
79  elseif getpref('Aedes','ReadfidZeropadding')==2
80    Dat.ZeroPadding = 2;
81  else
82    Dat.ZeroPadding = 2;
83  end
84else
85  Dat.ZeroPadding = 2;
86  setpref('Aedes','ReadfidZeropadding',2)
87end
88
89%% Get defaults for Sorting
90if ispref('Aedes','ReadfidSorting')
91  if getpref('Aedes','ReadfidSorting')
92    Dat.Sorting = true;
93  else
94    Dat.Sorting = false;
95  end
96else
97  Dat.Sorting = true;
98  setpref('Aedes','ReadfidSorting',true)
99end
100
101%% Get defaults for FastRead
102if ispref('Aedes','ReadfidFastRead')
103  if getpref('Aedes','ReadfidFastRead')
104    Dat.FastDataRead = true;
105  else
106    Dat.FastDataRead = false;
107  end
108else
109  Dat.FastDataRead = true;
110  setpref('Aedes','ReadfidFastRead',true)
111end
112
113%% Get defaults for Precision
114if ispref('Aedes','ReadfidPrecision')
115  if strcmpi(getpref('Aedes','ReadfidPrecision'),'single')
116        Dat.Precision = 'single';
117  else
118        Dat.Precision = 'double';
119  end
120else
121  Dat.Precision = 'double';
122  setpref('Aedes','ReadfidPrecision','double')
123end
124
125%% Load default font and colors
126%FigColor=get(0,'DefaultUicontrolBackgroundcolor');
127GD=an2_gui_defaults;
128%GD.col.mainfig = FigColor;
129fig_h = 240;
130fig_w = 270;
131scrsz = get(0,'screensize');
132fig_pos = [scrsz(3)/2-fig_w/2 scrsz(4)/2-fig_h/2 fig_w fig_h];
133
134%% The main figure
135fh = figure('position',fig_pos,...
136            'Units','Pixel', ...
137            'Name','Edit VNMR preferences', ...
138            'Numbertitle','off', ...
139            'Tag','readfid_prefs', ...
140            'Color',GD.col.mainfig, ...
141            'Toolbar','none', ...
142            'Menubar','none', ...
143            'DoubleBuffer','on', ...
144            'DockControls','off',...
145            'renderer','painters',...
146            'KeyPressFcn','',...
147            'resize','off',...
148            'windowstyle','normal');
149
150%% Main Uipanel
151uipanel_h = uipanel('parent',fh,...
152                    'Units','pixel',...
153                    'position',[5 40 fig_w-10 fig_h-45],...
154                    'title','Preferences for reading VNMR files',...
155                    'fontweig','bold',...
156                                        'backgroundcolor',GD.col.frame);
157
158%% OK button
159ok_btn = uicontrol('parent',fh,...
160                   'units','pixel',...
161                   'position',[fig_w-170 5 80 30],...
162                   'string','OK',...
163                   'style','pushbutton',...
164                   'callback',@l_ChangePrefs);
165
166%% Cancel button
167tmp=get(ok_btn,'position');
168cancel_btn = uicontrol('parent',fh,...
169                       'units','pixel',...
170                       'position',[tmp(1)+tmp(3)+5 tmp(2:4)],...
171                       'string','Cancel',...
172                       'style','pushbutton',...
173                       'callback','delete(gcbf)');
174
175%% Returned data popup
176if Dat.ReturnKSpace==true & Dat.ReturnFTData==false
177  val=2;
178elseif Dat.ReturnKSpace==false & Dat.ReturnFTData==true
179  val=1;
180else
181  val=3;
182end
183tmp=get(uipanel_h,'position');
184return_tx = uicontrol('parent',uipanel_h,...
185                      'units','pixel',...
186                      'position',[10 tmp(4)-50 100 20],...
187                      'style','text',...
188                      'horizontalalign','left',...
189                      'string','Returned data',...
190                                          'backgroundcolor',GD.col.frame,...
191                                          'fontsize',GD.text_fs);
192tmp=get(return_tx,'position');
193return_popup = uicontrol('parent',uipanel_h,...
194                         'units','pixel',...
195                         'position',[tmp(1)+tmp(3)+1 tmp(2)+3 140 20],...
196                         'style','popup',...
197                         'backgroundcolor','w',...
198                         'string',{'FT-Data','K-Space','FT-Data and K-Space'},...
199                         'value',val);
200
201%% DC correction
202if Dat.DCcorrection
203  val=1;
204else
205  val=2;
206end
207tmp=get(return_tx,'position');
208dc_tx = uicontrol('parent',uipanel_h,...
209                  'units','pixel',...
210                  'position',[10 tmp(2)-tmp(4)-5 tmp(3) 20],...
211                  'style','text',...
212                  'horizontalalign','left',...
213                  'string','DC correction',...
214                                  'backgroundcolor',GD.col.frame);
215tmp=get(dc_tx,'position');
216dc_popup = uicontrol('parent',uipanel_h,...
217                     'units','pixel',...
218                     'position',[tmp(1)+tmp(3)+1 tmp(2)+3 140 20],...
219                     'style','popup',...
220                     'backgroundcolor','w',...
221                     'string',{'On','Off'},...
222                     'value',val);
223
224%% Zeropadding
225if Dat.ZeroPadding==1
226  val=1;
227elseif Dat.ZeroPadding==0
228  val=2;
229elseif Dat.ZeroPadding==2
230  val=3;
231end
232tmp=get(dc_tx,'position');
233zeropadding_tx = uicontrol('parent',uipanel_h,...
234                           'units','pixel',...
235                           'position',[10 tmp(2)-tmp(4)-5 tmp(3) 20],...
236                           'style','text',...
237                           'horizontalalign','left',...
238                           'string','Zeropadding',...
239                                                   'backgroundcolor',GD.col.frame);
240tmp=get(zeropadding_tx,'position');
241zeropadding_popup = uicontrol('parent',uipanel_h,...
242                              'units','pixel',...
243                              'position',[tmp(1)+tmp(3)+1 tmp(2)+3 140 20],...
244                              'style','popup',...
245                              'backgroundcolor','w',...
246                              'string',{'On','Off','Auto'},...
247                              'value',val);
248
249%% Sorting
250if Dat.Sorting
251  val=1;
252else
253  val=2;
254end
255tmp=get(zeropadding_tx,'position');
256sorting_tx = uicontrol('parent',uipanel_h,...
257                       'units','pixel',...
258                       'position',[10 tmp(2)-tmp(4)-5 tmp(3) 20],...
259                       'style','text',...
260                       'horizontalalign','left',...
261                       'string','Sorting',...
262                                           'backgroundcolor',GD.col.frame);
263tmp=get(sorting_tx,'position');
264sorting_popup = uicontrol('parent',uipanel_h,...
265                          'units','pixel',...
266                          'position',[tmp(1)+tmp(3)+1 tmp(2)+3 140 20],...
267                          'style','popup',...
268                          'backgroundcolor','w',...
269                          'string',{'On','Off'},...
270                          'value',val);
271% Fast Read
272if Dat.FastDataRead
273  val=1;
274else
275  val=2;
276end
277tmp=get(sorting_tx,'position');
278fastread_tx = uicontrol('parent',uipanel_h,...
279  'units','pixel',...
280  'position',[10 tmp(2)-tmp(4)-5 tmp(3) 20],...
281  'style','text',...
282  'horizontalalign','left',...
283  'string','FastRead',...
284  'backgroundcolor',GD.col.frame);
285tmp=get(fastread_tx,'position');
286fastread_popup = uicontrol('parent',uipanel_h,...
287  'units','pixel',...
288  'position',[tmp(1)+tmp(3)+1 tmp(2)+3 140 20],...
289  'style','popup',...
290  'backgroundcolor','w',...
291  'string',{'On','Off'},...
292  'value',val);
293
294% Fast Read
295if strcmpi(Dat.Precision,'single')
296  val=1;
297else
298  val=2;
299end
300tmp=get(fastread_tx,'position');
301precision_tx = uicontrol('parent',uipanel_h,...
302  'units','pixel',...
303  'position',[10 tmp(2)-tmp(4)-5 tmp(3) 20],...
304  'style','text',...
305  'horizontalalign','left',...
306  'string','Precision',...
307  'backgroundcolor',GD.col.frame);
308tmp=get(precision_tx,'position');
309precision_popup = uicontrol('parent',uipanel_h,...
310  'units','pixel',...
311  'position',[tmp(1)+tmp(3)+1 tmp(2)+3 140 20],...
312  'style','popup',...
313  'backgroundcolor','w',...
314  'string',{'single','double'},...
315  'value',val);
316                                               
317% Store handles to a structure
318H.fh = fh;
319H.return_h = return_popup;
320H.dccorr_h = dc_popup;
321H.zeropadding_h = zeropadding_popup;
322H.sorting_h = sorting_popup;
323H.fastread_h = fastread_popup;
324H.precision_h = precision_popup;
325
326set(ok_btn,'userdata',H)
327
328%%%%%%%%%%%%%%%%%%%%%%%%%%%%
329% OK button press callback
330%%%%%%%%%%%%%%%%%%%%%%%%%%%%
331function l_ChangePrefs(h,evd)
332
333H = get(h,'userdata');
334
335try
336% Get popup values
337return_val = get(H.return_h,'value');
338dccorr_val = get(H.dccorr_h,'value');
339zeropadding_val = get(H.zeropadding_h,'value');
340sorting_val = get(H.sorting_h,'value');
341fastread_val = get(H.fastread_h,'value');
342precision_val = get(H.precision_h,'value');
343
344% Set preferences
345%% -------------------------------------------------------------------
346
347%% Return value
348setpref('Aedes','ReadfidReturn',return_val)
349
350%% DC correction
351if dccorr_val==1
352  setpref('Aedes','ReadfidDCcorrection',true)
353else
354  setpref('Aedes','ReadfidDCcorrection',false)
355end
356
357%% Zeropadding
358if zeropadding_val==1
359  setpref('Aedes','ReadfidZeropadding',1)
360elseif zeropadding_val==2
361  setpref('Aedes','ReadfidZeropadding',0)
362else
363  setpref('Aedes','ReadfidZeropadding',2)
364end
365
366%% Sorting
367if sorting_val==1
368  setpref('Aedes','ReadfidSorting',true)
369else
370  setpref('Aedes','ReadfidSorting',false)
371end
372
373%% FastRead
374if fastread_val==1
375  setpref('Aedes','ReadfidFastRead',true)
376else
377  setpref('Aedes','ReadfidFastRead',false)
378end
379
380%% Precision
381if precision_val==1
382  setpref('Aedes','ReadfidPrecision','single')
383else
384  setpref('Aedes','ReadfidPrecision','double')
385end
386
387catch
388  hh=errordlg('An error occurred! Could not save preferences.',...
389              'Could not save preferences','modal');
390end
391
392delete(H.fh)
Note: See TracBrowser for help on using the repository browser.

Powered by Trac 1.0.9.Copyright © Juha-Pekka Niskanen 2008