Added Gauss Fit to determine peak positions. Uses nappFitGaussXps.m
This commit is contained in:
1 parent
3a0a97fe88
commit
4ad9ccbd35
1 file changed
+14
-8
@@ -21,6 +21,8 @@ function DataTable = nappDetermineShiftXps(DataTable, varargin)
|
||||
% binEnReference: Reference BE in eV for spectra energy scale
|
||||
% kinEnReference: Sequence iteration to which the image should be
|
||||
% aligned, default is 1.
|
||||
% refPeak: Peak number the position of which will be used to compute the
|
||||
% BE shift. Only for Gauss fit. Default 1.
|
||||
% minPeakWidth: findpeak parameter, default 0.1
|
||||
% minPeakHeight: findpeak parameter, default 0.1
|
||||
% movMeanWindow: findpeak parameter, default 1
|
||||
@@ -39,17 +41,18 @@ function DataTable = nappDetermineShiftXps(DataTable, varargin)
|
||||
|
||||
defaultKinEnReference = 1;
|
||||
defaultTableVariable = 'spectrum_countsPerSecond';
|
||||
expectedTableVariable = {'spectrum_counts','spectrum_countsPerSecond','image','imageRoh'};
|
||||
expectedTableVariable = {'spectrum_counts','spectrum_countsPerSecond','spectrum_countsNorm','image','imageRoh'};
|
||||
defaultTableSelection = true(size(DataTable,1));
|
||||
defaultMinPeakWidth = 0.1;
|
||||
defaultMinPeakHeight = 0.1;
|
||||
defaultMovMeanWindow = 1;
|
||||
defaultRefPeak = 1;
|
||||
defaultShowFigures = 'off';
|
||||
expectedShowFigures = {'on','off'};
|
||||
defaultMode = 'gaussFit';
|
||||
defaultMode = 'findPeak';
|
||||
expectedMode = {'gaussFit','findPeak'};
|
||||
defaultFitMode = 'widthPosition';
|
||||
expectedFitMode = {'unconstrained','widthPosition','position','width','unconstrainedAndWidthPosition'};
|
||||
% defaultFitMode = 'widthPosition';
|
||||
% expectedFitMode = {'unconstrained','widthPosition','position','width','unconstrainedAndWidthPosition'};
|
||||
|
||||
|
||||
%%
|
||||
@@ -71,7 +74,8 @@ addParameter(p,'tableVariable',defaultTableVariable,...
|
||||
addParameter(p,'showFigures',defaultShowFigures,...
|
||||
@(x) any(validatestring(x,expectedShowFigures)));
|
||||
addParameter(p,'mode',defaultMode, @(x) any(validatestring(x,expectedMode)));
|
||||
addParameter(p,'fitMode',defaultFitMode, @(x) any(validatestring(x,expectedFitMode)));
|
||||
% addParameter(p,'fitMode',defaultFitMode, @(x) any(validatestring(x,expectedFitMode)));
|
||||
addParameter(p,'refPeak',defaultRefPeak,@isnumeric);
|
||||
parse(p,DataTable,varargin{:});
|
||||
|
||||
|
||||
@@ -329,10 +333,12 @@ else
|
||||
|
||||
elseif matches(p.Results.mode,'gaussFit')
|
||||
tmpFitResults = nappFitGaussXps(DataTable,p.Results.tableSelection,p.Results.FitParameter,'tableSelection',p.Results.tableSelection,...
|
||||
'energyScale','kinetic','mode',p.Results.fitMode,'showFigures','on');
|
||||
'energyScale','kinetic','mode',p.Results.FitParameter.fitMode,'showFigures','on','tableVariable',p.Results.tableVariable);
|
||||
|
||||
DataTable.bindingEnergyShift(p.Results.tableSelection) = tmpFitResults(p.Results.tableSelection,:).xRayEkinRange_eV(:,1) - tmpFitResults(p.Results.tableSelection,:).peakPosition(:,1) - repmat(p.Results.binEnReference,size(DataTable.bindingEnergyShift(p.Results.tableSelection)));
|
||||
|
||||
DataTable.bindingEnergyShift(p.Results.tableSelection) = tmpFitResults(p.Results.tableSelection,:).xRayEkinRange_eV(:,1) - tmpFitResults(p.Results.tableSelection,:).peakPosition(:,p.Results.FitParameter.refPeak) - repmat(p.Results.binEnReference,size(DataTable.bindingEnergyShift(p.Results.tableSelection)));
|
||||
DataTable.peakPosition(p.Results.tableSelection,:) = tmpFitResults(p.Results.tableSelection,:).peakPosition;
|
||||
DataTable.peakArea(p.Results.tableSelection,:) = tmpFitResults(p.Results.tableSelection,:).peakArea;
|
||||
DataTable.peakFWHM(p.Results.tableSelection,:) = tmpFitResults(p.Results.tableSelection,:).peakFWHM;
|
||||
%%
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user