Finished function by adapting UI from correction functions
This commit is contained in:
		
							parent
							
								
									b377ee151a
								
							
						
					
					
						commit
						dcae7c1121
					
				| @ -1,7 +1,97 @@ | |||||||
| function [outputArg1,outputArg2] = normalise_data(inputArg1,inputArg2) | function [dataOUT] = normalise_data(dataIN) | ||||||
| %NORMALISE_DATA Summary of this function goes here | %NORMALISE_DATA Summary of this function goes here | ||||||
| %   Detailed explanation goes here | %   Detailed explanation goes here | ||||||
| outputArg1 = inputArg1; | 
 | ||||||
| outputArg2 = inputArg2; | %% creating UI | ||||||
|  | fig = figure; | ||||||
|  | fig.Name = 'Normalize Data'; | ||||||
|  | fig.Units = 'Normalized'; | ||||||
|  | fig.Position = [.2 .2 .6 .6]; | ||||||
|  | fig.Tag = 'Normalize'; | ||||||
|  | 
 | ||||||
|  | %panel for plot | ||||||
|  | plotpanel = uipanel(fig); | ||||||
|  | plotpanel.Units = 'Normalized'; | ||||||
|  | plotpanel.Position = [.01 .06 .98 .92]; | ||||||
|  | %axes for plot | ||||||
|  | ax = axes(plotpanel); | ||||||
|  | ax.XLabel.String = 'Time'; | ||||||
|  | ax.YLabel.String = 'Intensity'; | ||||||
|  | %plot current data in figure with time as x axis | ||||||
|  | plot(ax,dataIN) | ||||||
|  | axis tight | ||||||
|  | 
 | ||||||
|  | %create push buttons | ||||||
|  | a = uicontrol(fig,'Style','pushbutton'); | ||||||
|  | a.String = 'Apply'; | ||||||
|  | a.Units = 'Normalized'; | ||||||
|  | a.Position = [.52 .01 .15 .05]; | ||||||
|  | a.FontUnits = 'Normalized'; | ||||||
|  | a.FontSize = 0.6; | ||||||
|  | a.Tag = 'Apply'; | ||||||
|  | a.Callback = @NormApplyButtonPushed; | ||||||
|  | 
 | ||||||
|  | r = uicontrol(fig,'Style','pushbutton'); | ||||||
|  | r.String = 'Reset'; | ||||||
|  | r.Units = 'Normalized'; | ||||||
|  | r.Position = [.68 .01 .15 .05]; | ||||||
|  | r.FontUnits = 'Normalized'; | ||||||
|  | r.FontSize = 0.6; | ||||||
|  | r.Tag = 'Reset'; | ||||||
|  | r.Callback = @NormResetButtonPushed; | ||||||
|  | 
 | ||||||
|  | d = uicontrol(fig,'Style','pushbutton'); | ||||||
|  | d.String = 'Done'; | ||||||
|  | d.Units = 'Normalized'; | ||||||
|  | d.Position = [.84 .01 .15 .05]; | ||||||
|  | d.FontUnits = 'Normalized'; | ||||||
|  | d.FontSize = 0.6; | ||||||
|  | d.Tag = 'Done'; | ||||||
|  | d.Callback = @NormDoneButtonPushed; | ||||||
|  | 
 | ||||||
|  | %create input fields | ||||||
|  | p1 = uicontrol(fig,'Style','edit'); | ||||||
|  | p1.String = 'Left point of max region'; | ||||||
|  | p1.Units = 'Normalized'; | ||||||
|  | p1.Position = [.01 .01 .24 .05]; | ||||||
|  | p1.HorizontalAlignment = 'left'; | ||||||
|  | p1.FontUnits = 'Normalized'; | ||||||
|  | p1.FontSize = 0.6; | ||||||
|  | p1.Tag = 'MaxRegionLeft'; | ||||||
|  | 
 | ||||||
|  | p2 = uicontrol(fig,'Style','edit'); | ||||||
|  | p2.String = 'Right point of max region'; | ||||||
|  | p2.Units = 'Normalized'; | ||||||
|  | p2.Position = [.25 .01 .24 .05]; | ||||||
|  | p2.HorizontalAlignment = 'left'; | ||||||
|  | p2.FontUnits = 'Normalized'; | ||||||
|  | p2.FontSize = 0.6; | ||||||
|  | p2.Tag = 'MaxRegionRight'; | ||||||
|  | 
 | ||||||
|  | uicontrol(p1); %passes focus to first input | ||||||
|  | uiwait(fig) | ||||||
|  | 
 | ||||||
|  | %% Callback functions | ||||||
|  |     function NormApplyButtonPushed(src,event) | ||||||
|  |         left_point = str2double(get(p1,'String')); | ||||||
|  |         right_point = str2double(get(p2,'String')); | ||||||
|  |         %take mean of each field line between specified min and max time | ||||||
|  |         maxima_mean = mean(dataIN([left_point right_point],:)); | ||||||
|  |         %normalize amplitude to 1 by dividing by max of means | ||||||
|  |         dataOUT = dataIN / max(maxima_mean); | ||||||
|  |         %plotting result with time as x axis | ||||||
|  |         plot(ax,dataOUT) | ||||||
|  |         axis tight | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     function NormResetButtonPushed(src,event) | ||||||
|  |         plot(ax,dataIN) | ||||||
|  |         axis tight | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     function NormDoneButtonPushed(src,event) | ||||||
|  |         close 'Normalize Data' | ||||||
|  |     end | ||||||
|  | 
 | ||||||
| end | end | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user