function nappImage(DataTable,varargin) % % no longer used. % Define conditions and defaults of input defaultTableVariable = {'image'}; expectedTableVariable = {'image','imageRoh'}; defaultTableSelection = true(size(DataTable,1)); % Parse input p = inputParser; addRequired(p,'DataTable',@istable); addOptional(p,'tableSelection',defaultTableSelection,@islogical); addParameter(p,'tableVariable',defaultTableVariable,... @(x) any(validatestring(x,expectedTableVariable))); parse(p,DataTable,varargin{:}); % check input (all elements of input variable need to have non-zero size) if ~all(cell2mat(cellfun(@size,p.Results.DataTable(p.Results.tableSelection,:).(p.Results.tableVariable),'UniformOutput',false)),'all') disp('The table variable appears to be empty. I quit now') error('The table variable appears to be empty.') end for ii = 1:size(p.Results.DataTable(p.Results.tableSelection,:),1) figure('Name',p.Results.DataTable(p.Results.tableSelection,:).name{ii}); % Create axes hold(gca,'on'); % Try to plot image with x and y try image(p.Results.DataTable(p.Results.tableSelection,:).xRayEkin_eV{ii},p.Results.DataTable(p.Results.tableSelection,:).scientaEkin_eV{ii},... p.Results.DataTable.(p.Results.DataFieldname){ii},'Parent',gca,'CDataMapping','scaled'); axis(gca,'ij'); set(gca,'Layer','top'); xlim([p.Results.DataTable(p.Results.tableSelection,:).xRayEkin_eV{ii}(1) p.Results.DataTable(p.Results.tableSelection,:).xRayEkin_eV{ii}(end)]); ylim([p.Results.DataTable(p.Results.tableSelection,:).scientaEkinMin_eV(ii) p.Results.DataTable(p.Results.tableSelection,:).scientaEkinMax_eV(ii)]); xlabel('Photon energy [eV]') ylabel('Auger energy [eV]') % if this does not work, plot without scaling (just with row and column numbers) catch image(p.Results.DataTable(p.Results.tableSelection,:).(p.Results.tableVariable){ii},'Parent',gca,'CDataMapping','scaled'); axis(gca,'ij'); set(gca,'Layer','top'); ylim([1 size(p.Results.DataTable(p.Results.tableSelection,:).(p.Results.tableVariable){ii},1)]); xlim([1 size(p.Results.DataTable(p.Results.tableSelection,:).(p.Results.tableVariable){ii},2)]); xlabel('# Photon energy, column number') ylabel('# Auger energy, column number') end box(gca,'on'); title(p.Results.DataTable(p.Results.tableSelection,:).name{ii},'Interpreter','none') end end