Finished first idea of UI
This commit is contained in:
		
							parent
							
								
									540f40ec7c
								
							
						
					
					
						commit
						d79380d2b8
					
				| @ -1,7 +1,279 @@ | |||||||
| function [outputArg1,outputArg2] = pre_simulation_TREPR(inputArg1,inputArg2) | function [Exp,Sys,params] = pre_simulation_TREPR(dataIN,params) | ||||||
| %PRE_SIMULATION_TREPR Summary of this function goes here | %PRE_SIMULATION_TREPR Summary of this function goes here | ||||||
| %   Detailed explanation goes here | %   Detailed explanation goes here | ||||||
| outputArg1 = inputArg1; | 
 | ||||||
| outputArg2 = inputArg2; | %% creating UI | ||||||
|  | fig = figure; | ||||||
|  | fig.Name = 'Manual Simulation'; | ||||||
|  | fig.Units = 'Normalized'; | ||||||
|  | fig.Position = [.15 .2 .7 .6]; | ||||||
|  | fig.Tag = 'Normalize'; | ||||||
|  | 
 | ||||||
|  | %panel for plot | ||||||
|  | plotpanel = uipanel(fig); | ||||||
|  | plotpanel.Units = 'Normalized'; | ||||||
|  | plotpanel.Position = [.01 .01 .7 .98]; | ||||||
|  | %axes for plot | ||||||
|  | ax = axes(plotpanel); | ||||||
|  | ax.XLabel.String = 'magnetic field'; | ||||||
|  | ax.YLabel.String = 'Intensity'; | ||||||
|  | %plot current data in figure with field as x axis | ||||||
|  | plot(ax,0.1*params.Field_Vector,params.max_mean,'r') | ||||||
|  | axis tight | ||||||
|  | 
 | ||||||
|  | %% create push buttons | ||||||
|  | a = uicontrol(fig,'Style','pushbutton'); | ||||||
|  | a.String = 'Apply'; | ||||||
|  | a.Units = 'Normalized'; | ||||||
|  | a.Position = [.71 .06 .28 .05]; | ||||||
|  | a.FontUnits = 'Normalized'; | ||||||
|  | a.FontSize = 0.6; | ||||||
|  | a.Tag = 'Apply'; | ||||||
|  | a.Callback = @PreSimApplyButtonPushed; | ||||||
|  | 
 | ||||||
|  | d = uicontrol(fig,'Style','pushbutton'); | ||||||
|  | d.String = 'Done'; | ||||||
|  | d.Units = 'Normalized'; | ||||||
|  | d.Position = [.71 .01 .28 .05]; | ||||||
|  | d.FontUnits = 'Normalized'; | ||||||
|  | d.FontSize = 0.6; | ||||||
|  | d.Tag = 'Done'; | ||||||
|  | d.Callback = @PreSimDoneButtonPushed; | ||||||
|  | 
 | ||||||
|  | %% create input and text fields (Triplet) | ||||||
|  | textTrip = uicontrol(fig,'Style','text'); | ||||||
|  | textTrip.String = 'Triplett populations'; | ||||||
|  | textTrip.Units = 'Normalized'; | ||||||
|  | textTrip.Position = [.71 .94 .28 .05]; | ||||||
|  | textTrip.HorizontalAlignment = 'center'; | ||||||
|  | textTrip.FontUnits = 'Normalized'; | ||||||
|  | textTrip.FontSize = 0.6; | ||||||
|  | textTrip.FontWeight = 'bold'; | ||||||
|  | textTrip.Tag = 'textTrip'; | ||||||
|  | 
 | ||||||
|  | textTx = uicontrol(fig,'Style','text'); | ||||||
|  | textTx.String = 'T_1 = '; | ||||||
|  | textTx.Units = 'Normalized'; | ||||||
|  | textTx.Position = [.71 .89 .04333 .05]; | ||||||
|  | textTx.HorizontalAlignment = 'right'; | ||||||
|  | textTx.FontUnits = 'Normalized'; | ||||||
|  | textTx.FontSize = 0.6; | ||||||
|  | textTx.Tag = 'textTx'; | ||||||
|  | 
 | ||||||
|  | InpTx = uicontrol(fig,'Style','edit'); | ||||||
|  | InpTx.String = '1'; | ||||||
|  | InpTx.Units = 'Normalized'; | ||||||
|  | InpTx.Position = [.75334 .89 .04333 .05]; | ||||||
|  | InpTx.HorizontalAlignment = 'left'; | ||||||
|  | InpTx.FontUnits = 'Normalized'; | ||||||
|  | InpTx.FontSize = 0.6; | ||||||
|  | InpTx.Tag = 'InpTx'; | ||||||
|  | 
 | ||||||
|  | textTy = uicontrol(fig,'Style','text'); | ||||||
|  | textTy.String = 'T_2 = '; | ||||||
|  | textTy.Units = 'Normalized'; | ||||||
|  | textTy.Position = [.80668 .89 .04333 .05]; | ||||||
|  | textTy.HorizontalAlignment = 'right'; | ||||||
|  | textTy.FontUnits = 'Normalized'; | ||||||
|  | textTy.FontSize = 0.6; | ||||||
|  | textTy.Tag = 'textTy'; | ||||||
|  | 
 | ||||||
|  | InpTy = uicontrol(fig,'Style','edit'); | ||||||
|  | InpTy.String = '1'; | ||||||
|  | InpTy.Units = 'Normalized'; | ||||||
|  | InpTy.Position = [.85001 .89 .04333 .05]; | ||||||
|  | InpTy.HorizontalAlignment = 'left'; | ||||||
|  | InpTy.FontUnits = 'Normalized'; | ||||||
|  | InpTy.FontSize = 0.6; | ||||||
|  | InpTy.Tag = 'InpTy'; | ||||||
|  | 
 | ||||||
|  | textTz = uicontrol(fig,'Style','text'); | ||||||
|  | textTz.String = 'T_3 = '; | ||||||
|  | textTz.Units = 'Normalized'; | ||||||
|  | textTz.Position = [.90334 .89 .04333 .05]; | ||||||
|  | textTz.HorizontalAlignment = 'right'; | ||||||
|  | textTz.FontUnits = 'Normalized'; | ||||||
|  | textTz.FontSize = 0.6; | ||||||
|  | textTz.Tag = 'textTz'; | ||||||
|  | 
 | ||||||
|  | InpTz = uicontrol(fig,'Style','edit'); | ||||||
|  | InpTz.String = '1'; | ||||||
|  | InpTz.Units = 'Normalized'; | ||||||
|  | InpTz.Position = [.94667 .89 .04333 .05]; | ||||||
|  | InpTz.HorizontalAlignment = 'left'; | ||||||
|  | InpTz.FontUnits = 'Normalized'; | ||||||
|  | InpTz.FontSize = 0.6; | ||||||
|  | InpTz.Tag = 'InpTz'; | ||||||
|  | 
 | ||||||
|  | %% create input and text fields (D & E) | ||||||
|  | textDE = uicontrol(fig,'Style','text'); | ||||||
|  | textDE.String = 'D tensor'; | ||||||
|  | textDE.Units = 'Normalized'; | ||||||
|  | textDE.Position = [.71 .77 .28 .05]; | ||||||
|  | textDE.HorizontalAlignment = 'center'; | ||||||
|  | textDE.FontUnits = 'Normalized'; | ||||||
|  | textDE.FontSize = 0.6; | ||||||
|  | textDE.FontWeight = 'bold'; | ||||||
|  | textDE.Tag = 'textDE'; | ||||||
|  | 
 | ||||||
|  | textD = uicontrol(fig,'Style','text'); | ||||||
|  | textD.String = 'D = '; | ||||||
|  | textD.Units = 'Normalized'; | ||||||
|  | textD.Position = [.71 .72 .0675 .05]; | ||||||
|  | textD.HorizontalAlignment = 'right'; | ||||||
|  | textD.FontUnits = 'Normalized'; | ||||||
|  | textD.FontSize = 0.6; | ||||||
|  | textD.Tag = 'textD'; | ||||||
|  | 
 | ||||||
|  | InpD = uicontrol(fig,'Style','edit'); | ||||||
|  | InpD.String = '1/2 width'; | ||||||
|  | InpD.Units = 'Normalized'; | ||||||
|  | InpD.Position = [.7775 .72 .0675 .05]; | ||||||
|  | InpD.HorizontalAlignment = 'left'; | ||||||
|  | InpD.FontUnits = 'Normalized'; | ||||||
|  | InpD.FontSize = 0.6; | ||||||
|  | InpD.Tag = 'InpD'; | ||||||
|  | 
 | ||||||
|  | textE = uicontrol(fig,'Style','text'); | ||||||
|  | textE.String = 'E = '; | ||||||
|  | textE.Units = 'Normalized'; | ||||||
|  | textE.Position = [.855 .72 .0675 .05]; | ||||||
|  | textE.HorizontalAlignment = 'right'; | ||||||
|  | textE.FontUnits = 'Normalized'; | ||||||
|  | textE.FontSize = 0.6; | ||||||
|  | textE.Tag = 'textE'; | ||||||
|  | 
 | ||||||
|  | InpE = uicontrol(fig,'Style','edit'); | ||||||
|  | InpE.String = '1/3 D'; | ||||||
|  | InpE.Units = 'Normalized'; | ||||||
|  | InpE.Position = [.9225 .72 .0675 .05]; | ||||||
|  | InpE.HorizontalAlignment = 'left'; | ||||||
|  | InpE.FontUnits = 'Normalized'; | ||||||
|  | InpE.FontSize = 0.6; | ||||||
|  | InpE.Tag = 'InpE'; | ||||||
|  | 
 | ||||||
|  | %% create input and text fields (Spin & g) | ||||||
|  | textSG = uicontrol(fig,'Style','text'); | ||||||
|  | textSG.String = 'Spin and g-value'; | ||||||
|  | textSG.Units = 'Normalized'; | ||||||
|  | textSG.Position = [.71 .60 .28 .05]; | ||||||
|  | textSG.HorizontalAlignment = 'center'; | ||||||
|  | textSG.FontUnits = 'Normalized'; | ||||||
|  | textSG.FontSize = 0.6; | ||||||
|  | textSG.FontWeight = 'bold'; | ||||||
|  | textSG.Tag = 'textSG'; | ||||||
|  | 
 | ||||||
|  | textS = uicontrol(fig,'Style','text'); | ||||||
|  | textS.String = 'Spin = '; | ||||||
|  | textS.Units = 'Normalized'; | ||||||
|  | textS.Position = [.71 .55 .0675 .05]; | ||||||
|  | textS.HorizontalAlignment = 'right'; | ||||||
|  | textS.FontUnits = 'Normalized'; | ||||||
|  | textS.FontSize = 0.6; | ||||||
|  | textS.Tag = 'textS'; | ||||||
|  | 
 | ||||||
|  | InpS = uicontrol(fig,'Style','edit'); | ||||||
|  | InpS.String = '1'; | ||||||
|  | InpS.Units = 'Normalized'; | ||||||
|  | InpS.Position = [.7775 .55 .0675 .05]; | ||||||
|  | InpS.HorizontalAlignment = 'left'; | ||||||
|  | InpS.FontUnits = 'Normalized'; | ||||||
|  | InpS.FontSize = 0.6; | ||||||
|  | InpS.Tag = 'InpS'; | ||||||
|  | 
 | ||||||
|  | textG = uicontrol(fig,'Style','text'); | ||||||
|  | textG.String = 'g-value = '; | ||||||
|  | textG.Units = 'Normalized'; | ||||||
|  | textG.Position = [.855 .55 .0675 .05]; | ||||||
|  | textG.HorizontalAlignment = 'right'; | ||||||
|  | textG.FontUnits = 'Normalized'; | ||||||
|  | textG.FontSize = 0.6; | ||||||
|  | textG.Tag = 'textG'; | ||||||
|  | 
 | ||||||
|  | InpG = uicontrol(fig,'Style','edit'); | ||||||
|  | InpG.String = '2'; | ||||||
|  | InpG.Units = 'Normalized'; | ||||||
|  | InpG.Position = [.9225 .55 .0675 .05]; | ||||||
|  | InpG.HorizontalAlignment = 'left'; | ||||||
|  | InpG.FontUnits = 'Normalized'; | ||||||
|  | InpG.FontSize = 0.6; | ||||||
|  | InpG.Tag = 'InpG'; | ||||||
|  | 
 | ||||||
|  | %% create input and text fields (linewidth) | ||||||
|  | textLW = uicontrol(fig,'Style','text'); | ||||||
|  | textLW.String = 'Linewidth'; | ||||||
|  | textLW.Units = 'Normalized'; | ||||||
|  | textLW.Position = [.71 .43 .28 .05]; | ||||||
|  | textLW.HorizontalAlignment = 'center'; | ||||||
|  | textLW.FontUnits = 'Normalized'; | ||||||
|  | textLW.FontSize = 0.6; | ||||||
|  | textLW.FontWeight = 'bold'; | ||||||
|  | textLW.Tag = 'textLW'; | ||||||
|  | 
 | ||||||
|  | textGauss = uicontrol(fig,'Style','text'); | ||||||
|  | textGauss.String = 'lw(Gau) = '; | ||||||
|  | textGauss.Units = 'Normalized'; | ||||||
|  | textGauss.Position = [.71 .38 .0675 .05]; | ||||||
|  | textGauss.HorizontalAlignment = 'right'; | ||||||
|  | textGauss.FontUnits = 'Normalized'; | ||||||
|  | textGauss.FontSize = 0.6; | ||||||
|  | textGauss.Tag = 'textGauss'; | ||||||
|  | 
 | ||||||
|  | InpGauss = uicontrol(fig,'Style','edit'); | ||||||
|  | InpGauss.String = '1'; | ||||||
|  | InpGauss.Units = 'Normalized'; | ||||||
|  | InpGauss.Position = [.7775 .38 .0675 .05]; | ||||||
|  | InpGauss.HorizontalAlignment = 'left'; | ||||||
|  | InpGauss.FontUnits = 'Normalized'; | ||||||
|  | InpGauss.FontSize = 0.6; | ||||||
|  | InpGauss.Tag = 'InpGauss'; | ||||||
|  | 
 | ||||||
|  | textLor = uicontrol(fig,'Style','text'); | ||||||
|  | textLor.String = 'lw(Lor) = '; | ||||||
|  | textLor.Units = 'Normalized'; | ||||||
|  | textLor.Position = [.855 .38 .0675 .05]; | ||||||
|  | textLor.HorizontalAlignment = 'right'; | ||||||
|  | textLor.FontUnits = 'Normalized'; | ||||||
|  | textLor.FontSize = 0.6; | ||||||
|  | textLor.Tag = 'textLor'; | ||||||
|  | 
 | ||||||
|  | InpLor = uicontrol(fig,'Style','edit'); | ||||||
|  | InpLor.String = '0'; | ||||||
|  | InpLor.Units = 'Normalized'; | ||||||
|  | InpLor.Position = [.9225 .38 .0675 .05]; | ||||||
|  | InpLor.HorizontalAlignment = 'left'; | ||||||
|  | InpLor.FontUnits = 'Normalized'; | ||||||
|  | InpLor.FontSize = 0.6; | ||||||
|  | InpLor.Tag = 'InpLor'; | ||||||
|  | 
 | ||||||
|  | uicontrol(InpTx); %passes focus to first input | ||||||
|  | uiwait(fig) | ||||||
|  | 
 | ||||||
|  | %% Callback functions | ||||||
|  |     function PreSimApplyButtonPushed(src,event) | ||||||
|  |         %get values from params | ||||||
|  |         Exp.mwFreq = params.mwFreq; % GHz | ||||||
|  |         Exp.nPoints = length(params.Field_Vector); | ||||||
|  |         Exp.CenterSweep = 0.1*[params.Field_Center params.Field_Sweep]; % mT (converted from Gauss) | ||||||
|  |         Exp.Harmonic = 0; % zeroth harmonic | ||||||
|  |         %get values from UI | ||||||
|  |         T1 = str2double(get(InpTx,'String')); | ||||||
|  |         T2 = str2double(get(InpTy,'String')); | ||||||
|  |         T3 = str2double(get(InpTz,'String')); | ||||||
|  |         Exp.Temperature = [T1 T2 T3]; %Triplet population | ||||||
|  |         Sys.S = str2double(get(InpS,'String')); % Total Spin | ||||||
|  |         Sys.g = str2double(get(InpG,'String')); % g-value | ||||||
|  |         D = str2double(get(InpD,'String')); | ||||||
|  |         E = str2double(get(InpE,'String')); | ||||||
|  |         Sys.D = [D E]; % MHz, D and E values | ||||||
|  |         lwGau = str2double(get(InpGauss,'String')); | ||||||
|  |         lwLor = str2double(get(InpLor,'String')); | ||||||
|  |         Sys.lw = [lwGau lwLor]; % mT, linewidth needs to be optimised | ||||||
|  |          | ||||||
|     end |     end | ||||||
| 
 | 
 | ||||||
|  |     function PreSimDoneButtonPushed(src,event) | ||||||
|  |         close 'Manual Simulation' | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  | end | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user