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
|