tomwalters@0
|
1 % method of class @frame
|
tomwalters@0
|
2 %
|
tomwalters@0
|
3 % INPUT VALUES:
|
tomwalters@0
|
4 %
|
tomwalters@0
|
5 % RETURN VALUE:
|
tomwalters@0
|
6 %
|
tomwalters@0
|
7 %
|
tomwalters@0
|
8 % (c) 2003, University of Cambridge, Medical Research Council
|
tomwalters@0
|
9 % Stefan Bleeck (stefan@bleeck.de)
|
tomwalters@0
|
10 % http://www.mrc-cbu.cam.ac.uk/cnbh/aimmanual
|
tomwalters@0
|
11 % $Date: 2003/03/20 18:24:22 $
|
tomwalters@0
|
12 % $Revision: 1.4 $
|
tomwalters@0
|
13
|
tomwalters@0
|
14 function fr=frame(val,framestruct,cf)
|
tomwalters@0
|
15 % Construktor der Frameklasse
|
tomwalters@0
|
16
|
tomwalters@0
|
17 % values that are used, when called from SBreadAIFF
|
tomwalters@0
|
18 % fr.structure.totalframetime=frameLength/sampleRate;
|
tomwalters@0
|
19 % fr.structure.numWindowFrames=numWindowFrames;
|
tomwalters@0
|
20 % fr.structure.scale=scale;
|
tomwalters@0
|
21 % fr.structure.wordSize=wordSize;
|
tomwalters@0
|
22 % fr.structure.soundPosition=soundPosition;
|
tomwalters@0
|
23 % fr.structure.littleEndian=littleEndian;
|
tomwalters@0
|
24 % fr.structure.frameLength=frameLength;
|
tomwalters@0
|
25 % fr.structure.numChannels=numChannels;
|
tomwalters@0
|
26 % fr.structure.numSampleFrames=numSampleFrames;
|
tomwalters@0
|
27 % fr.structure.sampleSize=sampleSize;
|
tomwalters@0
|
28 % fr.structure.sampleRate=sampleRate;
|
tomwalters@0
|
29 % fr.structure.interleaveLevel=interleaveLevel;
|
tomwalters@0
|
30 % fr.structure.numWindowFrames=numWindowFrames;
|
tomwalters@0
|
31 % fr.structure.staticTimeFlag=staticTimeFlag;
|
tomwalters@0
|
32 % fr.structure.outputTimeOffset=outputTimeOffset;
|
tomwalters@0
|
33 % fr.structure.absoluteNormalise=absoluteNormalise;
|
tomwalters@0
|
34
|
tomwalters@0
|
35 % valus that are used when more then one frame make a movie
|
tomwalters@0
|
36 % fr.movie.scale_summe= the higest value of a sum
|
tomwalters@0
|
37 % fr.movie.current_frame_number= the current number of this frame
|
tomwalters@0
|
38 % fr.movie.current_frame_start_time; the starting time of this frame
|
tomwalters@0
|
39 % fr.movie.nr_frames_total;
|
tomwalters@0
|
40 % fr.movie.all_min_value;
|
tomwalters@0
|
41 % fr.movie.all_max_value;
|
tomwalters@0
|
42
|
tomwalters@0
|
43 if nargin==0 % this must be there see help http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_prog/ch14_o11.shtml#27700
|
tomwalters@0
|
44 fr.structure=[];
|
tomwalters@0
|
45 fr.movie.nr_frames_total=1;
|
tomwalters@0
|
46 fr.movie.all_min_value=0;
|
tomwalters@0
|
47 fr.movie.all_max_value=1; % important for the overall scaling of all frames
|
tomwalters@0
|
48 fr.movie.scale_summe=1;
|
tomwalters@0
|
49 fr.movie.scale_frequency=1;
|
tomwalters@0
|
50 fr.movie.current_frame_number=1;
|
tomwalters@0
|
51 fr.movie.current_frame_start_time=0;
|
tomwalters@0
|
52 fr.start_time=0;
|
tomwalters@0
|
53 fr.centerfrequencies=(1:10)*1000;
|
tomwalters@0
|
54 fr.text='';
|
tomwalters@0
|
55 fr.x_axis_label='time (ms)';
|
tomwalters@0
|
56 fr.samplerate=1000;
|
tomwalters@0
|
57 fr.values=zeros(10,1000);
|
tomwalters@0
|
58 fr.name='empty frame';
|
tomwalters@0
|
59
|
tomwalters@0
|
60 elseif nargin ==1
|
tomwalters@0
|
61 if isobject(val) % KopieKontruktor
|
tomwalters@0
|
62 fr.structure=val.structure;
|
tomwalters@0
|
63 fr.movie=val.movie;
|
tomwalters@0
|
64 fr.start_time=val.start_time;
|
tomwalters@0
|
65 fr.centerfrequencies=val.centerfrequencies;
|
tomwalters@0
|
66 fr.text=val.text;
|
tomwalters@0
|
67 fr.x_axis_label='time (ms)';
|
tomwalters@0
|
68 fr.samplerate=val.samplerate;
|
tomwalters@0
|
69 fr.values=val.values;
|
tomwalters@0
|
70 fr.name=val.name;
|
tomwalters@0
|
71 elseif isstruct(val) % Aufruf von load
|
tomwalters@0
|
72 fr.structure=val.structure;
|
tomwalters@0
|
73 fr.movie=val.movie;
|
tomwalters@0
|
74 fr.start_time=val.start_time;
|
tomwalters@0
|
75 fr.centerfrequencies=val.centerfrequencies;
|
tomwalters@0
|
76 fr.text=val.text;
|
tomwalters@0
|
77 fr.x_axis_label='time (ms)';
|
tomwalters@0
|
78 fr.samplerate=val.samplerate;
|
tomwalters@0
|
79 fr.values=val.values;
|
tomwalters@0
|
80 fr.name=val.name;
|
tomwalters@0
|
81 else% Aufruf mit einem Array:
|
tomwalters@0
|
82 fr.structure=[];
|
tomwalters@0
|
83 fr.movie.nr_frames_total=1;
|
tomwalters@0
|
84 fr.movie.all_min_value=0;
|
tomwalters@0
|
85 fr.movie.all_max_value=1; % important for the overall scaling of all frames
|
tomwalters@0
|
86 fr.movie.scale_summe=1;
|
tomwalters@0
|
87 fr.movie.scale_frequency=1;
|
tomwalters@0
|
88 fr.movie.current_frame_number=1;
|
tomwalters@0
|
89 fr.movie.current_frame_start_time=0;
|
tomwalters@0
|
90
|
tomwalters@0
|
91 fr.start_time=0;
|
tomwalters@0
|
92 fr.centerfrequencies=(1:size(val,1))*1000;
|
tomwalters@0
|
93 fr.text='';
|
tomwalters@0
|
94 fr.x_axis_label='time (ms)';
|
tomwalters@0
|
95 fr.samplerate=16000;
|
tomwalters@0
|
96 %if size(val,1) > size(val,2)
|
tomwalters@0
|
97 % val=val';
|
tomwalters@0
|
98 %end
|
tomwalters@0
|
99 fr.values=val;
|
tomwalters@0
|
100 fr.name='empty frame';
|
tomwalters@0
|
101 end
|
tomwalters@0
|
102 else
|
tomwalters@0
|
103 % this values come from the constructof of an SBreadAIFF
|
tomwalters@0
|
104 fr.structure=framestruct;
|
tomwalters@0
|
105
|
tomwalters@0
|
106 % values that describe the frame in comparison to all frames
|
tomwalters@0
|
107 fr.movie.nr_frames_total=1;
|
tomwalters@0
|
108 fr.movie.all_min_value=0;
|
tomwalters@0
|
109 fr.movie.all_max_value=1; % important for the overall scaling of all frames
|
tomwalters@0
|
110 fr.movie.scale_summe=1;
|
tomwalters@0
|
111 fr.movie.scale_frequency=1;
|
tomwalters@0
|
112 fr.movie.current_frame_number=1;
|
tomwalters@0
|
113 fr.movie.current_frame_start_time=0;
|
tomwalters@0
|
114
|
tomwalters@0
|
115 fr.start_time=framestruct.outputTimeOffset;
|
tomwalters@0
|
116 if nargin < 3
|
tomwalters@0
|
117 fr.centerfrequencies=1:size(val,1);
|
tomwalters@0
|
118 else
|
tomwalters@0
|
119 fr.centerfrequencies=cf;
|
tomwalters@0
|
120 end
|
tomwalters@0
|
121 % this text is plotted together with the frame
|
tomwalters@0
|
122 fr.text='';
|
tomwalters@0
|
123 fr.x_axis_label='time (ms)';
|
tomwalters@0
|
124 fr.samplerate=framestruct.sampleRate; % in pixel/sec
|
tomwalters@0
|
125 if size(val,1) > size(val,2)
|
tomwalters@0
|
126 val=val';
|
tomwalters@0
|
127 end
|
tomwalters@0
|
128 fr.values=val;
|
tomwalters@0
|
129 fr.name='generic frame';
|
tomwalters@0
|
130 end % single parameter konstructor
|
tomwalters@0
|
131
|
tomwalters@0
|
132 fr=class(fr,'frame'); |