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 | ||||
| %   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 | ||||
| 
 | ||||
|     function PreSimDoneButtonPushed(src,event) | ||||
|         close 'Manual Simulation' | ||||
|     end | ||||
| 
 | ||||
| end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user