annotate multithreshold 1.46/plotProfile.m @ 33:161913b595ae

improved profiling
author Ray Meddis <rmeddis@essex.ac.uk>
date Thu, 11 Aug 2011 16:52:25 +0100
parents 82fb37eb430e
children e097e9044ef6
rev   line source
rmeddis@33 1 function plotProfile(fgName, bgName)
rmeddis@33 2
rmeddis@33 3 addpath (['..' filesep 'profiles'])
rmeddis@28 4
rmeddis@28 5 %% plot profile
rmeddis@28 6 if nargin<1
rmeddis@33 7 fgName = myFile;
rmeddis@33 8 bgName = '';
rmeddis@28 9 end
rmeddis@28 10
rmeddis@33 11 cmd=['foreground = ' fgName ';'];
rmeddis@33 12 eval(cmd)
rmeddis@28 13
rmeddis@33 14 if nargin==2
rmeddis@33 15 cmd=['background = ' bgName ';'];
rmeddis@33 16 eval(cmd)
rmeddis@33 17 else
rmeddis@33 18 bgName='';
rmeddis@33 19 end
rmeddis@28 20
rmeddis@28 21 % absolute thresholds
rmeddis@28 22 figure(90), clf
rmeddis@28 23 subplot(2,1,2)
rmeddis@33 24 semilogx(foreground.BFs,foreground.LongTone,'ko-','lineWidth',2); hold on
rmeddis@33 25 semilogx(foreground.BFs,foreground.ShortTone,'bo-','lineWidth',2); hold on
rmeddis@33 26 if ~isempty(bgName)
rmeddis@33 27 semilogx(background.BFs,background.LongTone,'ko:'); hold on
rmeddis@33 28 semilogx(background.BFs,background.ShortTone,'bo:'); hold on
rmeddis@33 29 end
rmeddis@28 30 ylim([0 100])
rmeddis@28 31
rmeddis@28 32 % TMC
rmeddis@33 33 for BFno=1:length(foreground.TMCFreq)
rmeddis@28 34 subplot(2,6,BFno)
rmeddis@33 35 plot(foreground.Gaps,foreground.TMC(BFno,:)-foreground.LongTone(BFno),'r','lineWidth',3), hold on
rmeddis@33 36 plot(foreground.Gaps,foreground.TMC(BFno,:),'b','lineWidth',3), hold on
rmeddis@29 37 ylim([-10 110])
rmeddis@28 38 xlim([0.01 0.1])
rmeddis@29 39 grid on
rmeddis@28 40 if BFno==1
rmeddis@28 41 ylabel('masker dB SL')
rmeddis@28 42 xlabel('gap')
rmeddis@28 43 end
rmeddis@33 44 title([num2str(foreground.TMCFreq(BFno)) ' Hz'])
rmeddis@29 45 set(gca,'XTick',[ 0.1],'xTickLabel', { '0.1'})
rmeddis@28 46 end
rmeddis@28 47
rmeddis@33 48 if ~isempty(bgName)
rmeddis@33 49 for BFno=1:length(background.TMCFreq)
rmeddis@33 50 BF = background.TMCFreq(BFno);
rmeddis@33 51 idx = find(BF == foreground.TMCFreq);
rmeddis@33 52 if ~isempty(idx);
rmeddis@33 53
rmeddis@33 54 subplot(2,6,idx)
rmeddis@33 55 plot(background.Gaps,background.TMC(BFno,:)-background.LongTone(BFno),'k:')
rmeddis@33 56 plot(background.Gaps,background.TMC(BFno,:),'k:')
rmeddis@33 57 ylim([-10 110])
rmeddis@33 58 xlim([0.01 0.1])
rmeddis@33 59 end
rmeddis@33 60 end
rmeddis@33 61 end
rmeddis@33 62
rmeddis@28 63 % IFMCs
rmeddis@33 64 for BFno=1:length(foreground.IFMCFreq)
rmeddis@33 65 freq=foreground.MaskerRatio'*foreground.IFMCFreq(BFno);
rmeddis@28 66 subplot(2,1,2)
rmeddis@33 67 semilogx(freq,foreground.IFMCs(BFno,:),'r','lineWidth',3), hold on
rmeddis@28 68 ylim([0 100])
rmeddis@28 69 xlim([100 12000])
rmeddis@28 70 grid on
rmeddis@28 71 end
rmeddis@28 72 xlabel('frequency (Hz)')
rmeddis@28 73 ylabel('masker dB / probe dB')
rmeddis@33 74 set(gca,'XTick',foreground.IFMCFreq)
rmeddis@29 75
rmeddis@33 76 if ~isempty(bgName)
rmeddis@33 77 for BFno=1:length(background.IFMCFreq)
rmeddis@33 78 freq=background.MaskerRatio'*background.IFMCFreq(BFno);
rmeddis@33 79 subplot(2,1,2)
rmeddis@33 80 semilogx(freq,background.IFMCs(BFno,:),'k:')
rmeddis@33 81 ylim([0 100])
rmeddis@33 82 xlim([100 12000])
rmeddis@29 83 end
rmeddis@29 84 end
rmeddis@32 85 mydate=datestr(now); idx=findstr(':',mydate); mydate(idx)='_';
rmeddis@32 86
rmeddis@32 87 fileName= ['savedData/' mydate ];
rmeddis@32 88
rmeddis@32 89 save (fileName)
rmeddis@32 90 set(gcf,'name', mydate)
rmeddis@32 91 disp(fileName)