THE AUDITORY MODELING TOOLBOX

This documentation page applies to an outdated major AMT version. We show it for archival purposes only.
Click here for the documentation menu and here to download the latest AMT (1.6.0).

View the help

Go to function

DATA_ELBERLING2010 - ABR wave V data as functon of level and sweeping rate

Program code:

function [delay,data_mean,data_std]  = data_elberling2010(varargin)
%DATA_ELBERLING2010 ABR wave V data as functon of level and sweeping rate
%   Usage: data = data_elberling2010(flag)
%
%   Output parameters:
%     delay      : "x-axis" - sweeping rate delay between 710Hz and 5700Hz
%     data_mean  : Mean of data 
%     data_std   : Standard deviation of data
%
%   `data_elberling2010(flag)` returns data points from the Elberling et
%   al. (2010)
%
%   The flag may be one of:
%
%     'noplot'  Don't plot, only return data. This is the default.
%
%     'plot'    Plot the data.
%  
%     'fig4'    Data from Fig. 4, Amplitude of wave V.
%
%     'fig5'    Data from Fig. 5, Latency of wave V
%
%     'stim'    Return the stimulus and the sampling frequency. XXX Describe
%               the data. XXX change 'stim' to figure no., if applicable.
%
%   Examples:
%   ---------
%
%   Figure 4 can be displayed using:::
%
%     data_elberling2010('fig4','plot');
%
%   Figure 5 can be displayed using:::
%
%     data_elberling2010('fig5','plot');
%
%   References: elberling2010evaluating
    
% Define input flags
definput.flags.type={'fig4','fig5','stim'};
definput.flags.plot = {'noplot','plot'};

% Font size
ftsz=12;
%color
col=[0.7,0.7,0.7];

fs=30000;

[flags,keyvals]  = ltfatarghelper({},definput,varargin);

delay = [0 1.86 2.56 3.32 4.14 5.04];
delay2 = [delay;delay;delay];

if flags.do_fig4
  data_mean = [256 311 339 349 382 391; ...
               368 560 613 645 631 581; ...
               407 624 654 596 516 389]';

  data_std  = [61   86  86  72  83  91;...
               92  135 119  79  79 100;...
               91  162 118 118 96  120]';
  
  if flags.do_plot
    set(gca,'fontsize',ftsz);
    
    figure;
    hold on;
    errorbar(delay2',data_mean,data_std/sqrt(20),'-', 'linewidth',1.5, ...
             'color',col);
    %,ylim([0 800])
    axis([-1.2 5.5 0 800]);
    xlabel('Change of delay [ms]');
    ylabel('ABR amplitude [nv]')
    text(-.7,data_mean(1,1), '20','fontsize',ftsz)
    text(-.7,data_mean(1,2), '40','fontsize',ftsz)
    text(-.7,data_mean(1,3), '60','fontsize',ftsz)
    text(-.9,data_mean(1,3)+70, 'dB nHL','fontsize',ftsz)
    text(-.2,50, 'Click','fontsize',ftsz)
    text(delay(2),75, '1','fontsize',ftsz)
    text(delay(3),75, '2','fontsize',ftsz)
    text(delay(4),75, '3','fontsize',ftsz)
    text(delay(5),75, '4','fontsize',ftsz)
    text(delay(6),75, '5','fontsize',ftsz)
    text(3,40, 'Chirps','fontsize',ftsz)
  end;
  
end;

if flags.do_fig5
  
  data_mean    = [...
      7.60 7.23 7.12 6.97 6.86 6.66; ...
      6.59 6.15 5.96 5.76 5.48 4.98; ...
      5.88 4.97 4.57 4.12 3.50 2.87]';
  data_std     = [...
      0.79 0.36 0.32 0.34 0.36 0.36; ...
      0.74 0.29 0.23 0.27 0.34 0.59; ...
      0.25 0.28  0.35 0.51 0.51 0.38]';
  
  if flags.do_plot
    figure; 
    
    set(gca,'fontsize',ftsz);
    axis([-1.2 6.5 0 10]);
    xlabel('Change of delay [ms]');
    ylabel('ABR latency [ms]')
    text(-.7,5.88, '60','fontsize',ftsz,'color',col)
    text(-.7,6.59, '40','fontsize',ftsz,'color',col)
    text(-.7,7.6, '20','fontsize',ftsz,'color', col)
    text(-.9,8.7, 'dB nHL','fontsize',ftsz,'color',col)
    text(5.5,data_mean(6,1)/fs*1000-15, '20','fontsize',ftsz)
    text(5.5,data_mean(6,2)/fs*1000-15, '40','fontsize',ftsz)
    text(5.5,data_mean(6,3)/fs*1000-15, '60','fontsize',ftsz)
    text(5.3,data_mean(6,1)/fs*1000-15+.6, 'dB nHL','fontsize',ftsz)
    text(-.2,.5, 'Click','fontsize',ftsz)
    text(delay(2),1, '1','fontsize',ftsz)
    text(delay(3),1, '2','fontsize',ftsz)
    text(delay(4),1, '3','fontsize',ftsz)
    text(delay(5),1, '4','fontsize',ftsz)
    text(delay(6),1, '5','fontsize',ftsz)
    text(3,.5, 'Chirps','fontsize',ftsz)
    box on;
    hold on;
    set(gca,'fontsize',ftsz);
    errorbar(delay2',data_mean,data_std,'-',...
             'linewidth',1.5,'color',col)
    %,ylim([0 800])
  end;
end;

if flags.do_stim
  % delay is the first output parameter, use it to return the stimulus.  
  delay=load([amtbasepath,'humandata',filesep, ...
              'roenne2012_elberling2010stim']);
  
  % fs is stored in data_mean
  data_mean=fs;
  
  if flags.do_plot
    disp('XXX Plot is missing.');
  end;
end;