annotate demo/demo_aim2006_dcgc.m @ 4:537f939baef0 tip

various bug fixes and changed copyright message
author Stefan Bleeck <bleeck@gmail.com>
date Tue, 16 Aug 2011 14:37:17 +0100
parents 74dedb26614d
children
rev   line source
tomwalters@0 1 % Script to compare the AIM2006 output for four files (listed below)
tomwalters@0 2 % This scrips creates six figure windows, one for each stage of the AIM
tomwalters@0 3 % processing model and plots four panes in each window, one for each file
tomwalters@0 4
tomwalters@0 5 % (c) 2006-2008, University of Cambridge, Medical Research Council
tomwalters@0 6 % Tom Walters (tcw24@cam.ac.uk)
tomwalters@0 7 % http://www.pdn.cam.ac.uk/cnbh/aim2006
tomwalters@0 8 % $Date: 2008-06-10 18:00:16 +0100 (Tue, 10 Jun 2008) $
tomwalters@0 9 % $Revision: 585 $
tomwalters@0 10
tomwalters@0 11 filenames{1}='aa110p122s100t.wav';
tomwalters@0 12 filenames{2}='aa256p122s100t.wav';
tomwalters@0 13 filenames{3}='aa110p089s100t.wav';
tomwalters@0 14 filenames{4}='aa256p089s100t.wav';
tomwalters@0 15
tomwalters@0 16
tomwalters@0 17 analysis_start_time=0;
tomwalters@0 18 analysis_end_time=0.2;
tomwalters@0 19
tomwalters@0 20 display_start_time=0.13;
tomwalters@0 21 display_end_time=0.154;
tomwalters@0 22
tomwalters@0 23 bmm_scaling=0.25;
tomwalters@0 24 nap_scaling=1;
tomwalters@0 25 sai_scaling=0.25;
tomwalters@0 26 mellin_scaling=16;
tomwalters@0 27
tomwalters@0 28 for ii=1:length(filenames)
tomwalters@0 29 name=filenames{ii};
tomwalters@0 30
tomwalters@0 31 % Find the pitch and scale of the input sound from the filename
tomwalters@0 32 inp=strfind(name,'p');
tomwalters@0 33 pitch=str2num(name(inp-3:inp-1));
tomwalters@0 34 ins=strfind(name,'s');
tomwalters@0 35 scale=str2num(name(ins-3:ins-1));
tomwalters@0 36
tomwalters@0 37 % Set the parameters for analysis of the sound
tomwalters@0 38 dcgc_options=setparams_dcgc(filenames{ii}, analysis_start_time, analysis_end_time);
tomwalters@0 39
tomwalters@0 40 %dcgc_output{ii}.filename=name;
tomwalters@0 41 %dcgc_output{ii}.scale=scale;
tomwalters@0 42 %dcgc_output{ii}.pitch=pitch;
tomwalters@0 43
tomwalters@0 44 % Analyse with aim2006
tomwalters@0 45 dcgc_output{ii}=aim(dcgc_options);
tomwalters@0 46
tomwalters@0 47 % dcgc_output{ii}.filename=name;
tomwalters@0 48 % dcgc_output{ii}.scale=scale;
tomwalters@0 49 % dcgc_output{ii}.pitch=pitch;
tomwalters@0 50
tomwalters@0 51 options.minimum_time=display_start_time;
tomwalters@0 52 options.maximum_time=display_end_time;
tomwalters@0 53
tomwalters@0 54 title_string=['Pitch:' num2str(pitch) ' Scale:' num2str(scale)];
tomwalters@0 55
tomwalters@0 56 figure(1)
tomwalters@0 57 set(gcf, 'Name', ['PCP: ' dcgc_output{ii}.info.current_pcp_module]);
tomwalters@0 58 subplot(2,2,ii);
tomwalters@0 59 plot(dcgc_output{ii}.data.pcp, [display_start_time display_end_time]);
tomwalters@0 60
tomwalters@0 61 figure(2)
tomwalters@0 62 set(gcf, 'Name', ['BMM: ' dcgc_output{ii}.info.current_bmm_module]);
tomwalters@0 63 subplot(2,2,ii);
tomwalters@0 64 plot_bmm(dcgc_output{ii}, options, bmm_scaling,title_string);
tomwalters@0 65
tomwalters@0 66 figure(3)
tomwalters@0 67 set(gcf, 'Name', ['NAP: ' dcgc_output{ii}.info.current_nap_module]);
tomwalters@0 68 subplot(2,2,ii);
tomwalters@0 69 plot_nap(dcgc_output{ii},options, nap_scaling,title_string);
tomwalters@0 70
tomwalters@0 71 figure(4)
tomwalters@0 72 set(gcf, 'Name', ['SP: ' dcgc_output{ii}.info.current_strobes_module]);
tomwalters@0 73 subplot(2,2,ii);
tomwalters@0 74 %plot(dcgc_output{ii}.data.nap);
tomwalters@0 75 %hold on;
tomwalters@0 76 plot_strobes(dcgc_output{ii}, options, nap_scaling,title_string);
tomwalters@0 77
tomwalters@0 78 max_frame=length(dcgc_output{ii}.data.sai);
tomwalters@0 79
tomwalters@0 80 figure(5)
tomwalters@0 81 set(gcf, 'Name', ['SAI: ' dcgc_output{ii}.info.current_sai_module]);
tomwalters@0 82 subplot(2,2,ii);
tomwalters@0 83 plot_sai(dcgc_output{ii},max_frame, sai_scaling,title_string);
tomwalters@0 84
tomwalters@0 85 figure(6)
tomwalters@0 86 set(gcf, 'Name', ['Usermodule: ' dcgc_output{ii}.info.current_usermodule_module]);
tomwalters@0 87 subplot(2,2,ii);
tomwalters@0 88 plot_mellin(dcgc_output{ii},max_frame, mellin_scaling, title_string);
tomwalters@0 89
tomwalters@0 90 end
tomwalters@0 91
tomwalters@0 92 for ii=1:length(filenames)
tomwalters@0 93 mellin_images(:,:,ii)=getvalues(dcgc_output{ii}.data.usermodule{1,max_frame});
tomwalters@0 94 compressed_image=mellin_images.^(0.5);
tomwalters@0 95 mi_mean=mean(compressed_image, 3);
tomwalters@0 96 end
tomwalters@0 97
tomwalters@0 98
tomwalters@0 99 mi_mean_fr=dcgc_output{ii}.data.usermodule{max_frame};
tomwalters@0 100 mi_mean_fr=setvalues(mi_mean_fr, mi_mean);
tomwalters@0 101 input.data.usermodule{1}=mi_mean_fr;
tomwalters@0 102 input.all_options.usermodule=dcgc_output{ii}.all_options.usermodule;
tomwalters@0 103 title_string='Mean mellin image';
tomwalters@0 104
tomwalters@0 105 figure;
tomwalters@0 106 plot_mellin(input,1, mellin_scaling, title_string);
tomwalters@0 107