Functions |
Check if fileName is a path or
a simple file name if | isempty (strfind(fileName,'\'))%only filename if exist(fullfile(dirs.DataIn |
else | warning ('File%s does not exist in the specified path', fileName) |
end else complete path if | exist (fullfile(fileName),'file') diodeData |
else | warning ('File%s does not exist in the%s folder', fileName, dirs.DataIn)%end end%Checking rows are for channels and create[d1 |
else end Getting the stim
frequencies if | strfind (fileName,'DiodeData_15') stimFreq |
elseif | strfind (fileName,'DiodeData_sweep') stimFreq |
| title (fileName,'FontWeight','Bold') xlabel('Sec' |
| ylabel ('PhotoDiode State','FontWeight','Bold') xRange |
Get start of | stimulation (flickering) fprintf('Get ''start''of stimulation for freq.%i\n' |
Get start of | stimFreq (1))[xRange(1) |
Get start of Extract sections
for each | freq (time boundaries) if strfind(fileName |
| SweepTimes (iFreq-1,:) |
end else | fprintf ('Get ''end''of stimulation/flickering for freq.%i\n', stimFreq(1))[xRange(1 |
| plot (f, 10 *log10(pxx)) plot(f |
pxx | xlabel ('Frequency') |
| ylabel ('dB') |
| title (sprintf('Periodogram of photodiode%s', titleStr)) |
end Matlab | save (sprintf('%s.mat', fullfile(dirs.DataOut, saveFilename)),'ptData','ptTime','ptInfo') |
Comma Separated | Values (CSV) photoDiode |
Putting files in one for time
another for | photodiode (so Excel can open it) csvwrite(sprintf('%s.csv' |
Putting files in one for time
another for | fullfile (dirs.DataOut, saveFilename)) |
Putting files in one for time
another for photoDiode | fprintf ('\nSuccessfully saved all the files to%s as%s\n', dirs.DataOut, saveFilename) end function dirs |
id | C: (id Unlock) |
Add path to chronux toolbox
otherwise | disp ('No paths have been estalished') end%Set up path so code is accessible to Matlab addpath(dirs.helpers) |
Add dir w my helpers | addpath (dirs.DataIn) |
Add dir w your Data path | addpath (genpath(dirs.Code)) |
Add dir w your code path | addpath (genpath(dirs.PTB)) |
Add dir w PsychToolbox code | addpath (genpath(dirs.chronux)) |
Variables |
| function [ptData, ptTime, ptInfo] |
creates photo diode and time
vector0 Also a structure with
info regarding smapling | frequency |
creates photo diode and time
vector0 Also a structure with
info regarding smapling
flickering stimulation freq
and times for sweep analysis
INPUT | fileName = 'C:\Users\Administrator\Documents\BU\Speechlab\Unlock\Data\raw\20131211-photodiode\DiodeData_15.mat' |
Check if fileName is a path or
a simple file name if file | diodeData = load(fullfile(dirs.DataIn,fileName)) |
else | d2 = size(diodeData.y) |
if d1 d2 diodeData | y = diodeData.y' |
| titleStr = '15' |
Get name of file to save it | strIndx = strfind(fileName,'DiodeData_15') |
end | saveStr = fileName(strIndx(end)+10:end-4) |
| ptTime = diodeData.y(1,:) |
Sampling frequency | Fs = 1/(ptTime(3) - ptTime(2)) |
Extra analysis Plot data | hFig = plot(ptTime, ptData) |
| FontWeight |
| Bold |
| SweepTimes = zeros(length(stimFreq),2) |
Get start of Extract sections
for each DiodeData_sweep Get
right most boundary for | iFreq |
end Filter the data Filter params | smpRate = Fs |
| freqBand = [1 Fs/2] |
| filterOrder = 2 |
| filterType = 'butter' |
Filtering | dataFiltered = setFilterParams(freqBand, filterType, filterOrder, smpRate) true |
| ptData = filtfilt(filtParams.b,filtParams.a,ptData) |
Running | periodogram [pxx, f] = periodogram(ptData,[],[],Fs) |
Info structure with info
required for analysis | ptInfo = struct('nameFile',fileName,'HighStates',8,'LowStates',0,'sampFreq',Fs,'StimTimeSec',3,'StimRestTimeSec',3','StimFreq',stimFreq,'SweepTimes',SweepTimes) |
Saving files if~dataFiltered | saveFilename = ['PhotoDiodeDataAndTimes-',saveStr] |
Putting files in | column |
Putting files in one for time | vector |
Putting files in one for time
another for photoDiode data
input and | output |
Putting files in one for time
another for photoDiode data
input and based on system | hostname [~, host] = system('hostname') |
| host = deblank(host) |
Dir w data analysis Code dirs | helpers = 'C:\Users\salacho\Documents\Code\helpers' |
Dir w helpers analysis Code dirs | DataIn = 'C:\Users\salacho\Documents\Analysis\unlock' |
Local Dir to output analyzed
datafiles and figures too dirs | BCIparams = '' |
Add path where all BCIparams
are located dirs | PTB = 'C:\Users\salacho\Documents\MATLAB\toolbox\Psychtoolbox' |
Add path to PsychToolbox dirs | chronux = 'C:\Users\salacho\Documents\MATLAB\toolbox\chronux' |