annotate aim-mat/tools/@frame/frame.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 % 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');