diff --git a/projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_-14.mat b/projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_-14.mat similarity index 100% rename from projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_-14.mat rename to projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_-14.mat diff --git a/projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_-18.mat b/projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_-18.mat similarity index 100% rename from projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_-18.mat rename to projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_-18.mat diff --git a/projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_-2.mat b/projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_-2.mat similarity index 100% rename from projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_-2.mat rename to projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_-2.mat diff --git a/projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_-6.mat b/projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_-6.mat similarity index 100% rename from projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_-6.mat rename to projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_-6.mat diff --git a/projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_-9.mat b/projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_-9.mat similarity index 100% rename from projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_-9.mat rename to projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_-9.mat diff --git a/projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_12.mat b/projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_12.mat similarity index 100% rename from projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_12.mat rename to projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_12.mat diff --git a/projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_15.mat b/projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_15.mat similarity index 100% rename from projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_15.mat rename to projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_15.mat diff --git a/projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_2.mat b/projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_2.mat similarity index 100% rename from projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_2.mat rename to projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_2.mat diff --git a/projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_5.mat b/projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_5.mat similarity index 100% rename from projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_5.mat rename to projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_5.mat diff --git a/projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_9.mat b/projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_9.mat similarity index 100% rename from projects/project_adaptation_fit/p_unit_2012-03-30-aa_fi_curve_9.mat rename to projects/project_adaptation_fit/data/p_unit_2012-03-30-aa_fi_curve_9.mat diff --git a/projects/project_eod/EOD_data.mat b/projects/project_eod/data/EOD_data.mat similarity index 100% rename from projects/project_eod/EOD_data.mat rename to projects/project_eod/data/EOD_data.mat diff --git a/projects/project_eyetracker/eye_tracking.mat b/projects/project_eyetracker/data/eye_tracking.mat similarity index 100% rename from projects/project_eyetracker/eye_tracking.mat rename to projects/project_eyetracker/data/eye_tracking.mat diff --git a/projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_-14.mat b/projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_-14.mat similarity index 100% rename from projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_-14.mat rename to projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_-14.mat diff --git a/projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_-18.mat b/projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_-18.mat similarity index 100% rename from projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_-18.mat rename to projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_-18.mat diff --git a/projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_-2.mat b/projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_-2.mat similarity index 100% rename from projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_-2.mat rename to projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_-2.mat diff --git a/projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_-6.mat b/projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_-6.mat similarity index 100% rename from projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_-6.mat rename to projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_-6.mat diff --git a/projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_-9.mat b/projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_-9.mat similarity index 100% rename from projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_-9.mat rename to projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_-9.mat diff --git a/projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_12.mat b/projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_12.mat similarity index 100% rename from projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_12.mat rename to projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_12.mat diff --git a/projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_15.mat b/projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_15.mat similarity index 100% rename from projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_15.mat rename to projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_15.mat diff --git a/projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_2.mat b/projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_2.mat similarity index 100% rename from projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_2.mat rename to projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_2.mat diff --git a/projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_5.mat b/projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_5.mat similarity index 100% rename from projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_5.mat rename to projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_5.mat diff --git a/projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_9.mat b/projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_9.mat similarity index 100% rename from projects/project_onset_fi/p_unit_2012-03-30-aa_fi_curve_9.mat rename to projects/project_onset_fi/data/p_unit_2012-03-30-aa_fi_curve_9.mat diff --git a/projects/project_photoreceptor/photoreceptor_data.zip b/projects/project_photoreceptor/photoreceptor_data.zip deleted file mode 100644 index 2bf1127..0000000 Binary files a/projects/project_photoreceptor/photoreceptor_data.zip and /dev/null differ diff --git a/projects/project_stimulus_reconstruction/Makefile b/projects/project_stimulus_reconstruction/Makefile index dad25ce..2574730 100644 --- a/projects/project_stimulus_reconstruction/Makefile +++ b/projects/project_stimulus_reconstruction/Makefile @@ -7,4 +7,4 @@ clean: rm -f `basename *.tex .tex`.pdf zip: latex - zip `basename *.tex .tex`.zip *.pdf *.dat *.mat + zip `basename *.tex .tex`.zip *.pdf data/*.mat diff --git a/projects/project_stimulus_reconstruction/p-unit_spike_times.mat b/projects/project_stimulus_reconstruction/data/p-unit_spike_times.mat similarity index 100% rename from projects/project_stimulus_reconstruction/p-unit_spike_times.mat rename to projects/project_stimulus_reconstruction/data/p-unit_spike_times.mat diff --git a/projects/project_stimulus_reconstruction/p-unit_stimulus.mat b/projects/project_stimulus_reconstruction/data/p-unit_stimulus.mat similarity index 100% rename from projects/project_stimulus_reconstruction/p-unit_stimulus.mat rename to projects/project_stimulus_reconstruction/data/p-unit_stimulus.mat diff --git a/projects/project_stimulus_reconstruction/pyramidal_spike_times.mat b/projects/project_stimulus_reconstruction/data/pyramidal_spike_times.mat similarity index 100% rename from projects/project_stimulus_reconstruction/pyramidal_spike_times.mat rename to projects/project_stimulus_reconstruction/data/pyramidal_spike_times.mat diff --git a/projects/project_stimulus_reconstruction/pyramidal_stimulus.mat b/projects/project_stimulus_reconstruction/data/pyramidal_stimulus.mat similarity index 100% rename from projects/project_stimulus_reconstruction/pyramidal_stimulus.mat rename to projects/project_stimulus_reconstruction/data/pyramidal_stimulus.mat diff --git a/projects/project_vector_strength/Makefile b/projects/project_vector_strength/Makefile new file mode 100644 index 0000000..86b971c --- /dev/null +++ b/projects/project_vector_strength/Makefile @@ -0,0 +1,10 @@ +latex: + pdflatex *.tex > /dev/null + pdflatex *.tex > /dev/null + +clean: + rm -rf *.log *.aux *.zip *.out auto + rm -f `basename *.tex .tex`.pdf + +zip: latex + zip `basename *.tex .tex`.zip *.pdf data/*.zip diff --git a/projects/project_vector_strength/solution/main.m b/projects/project_vector_strength/solution/main.m new file mode 100644 index 0000000..379e349 --- /dev/null +++ b/projects/project_vector_strength/solution/main.m @@ -0,0 +1,15 @@ +% partial solution for the vector strength project +clear +files = dir('../data/*.mat'); +dt = 1./20000; +vs = zeros(length(files), 1); +for i = 1:length(files) + load(strcat('../data/', files(i).name)) + eod_time = (1:length(eod)) .* dt; + zero_crossings = zeroCrossings(eod, eod_time); + while spike_times(1) <= zero_crossings(1) + spike_times(1) = []; + end + phases = spikeEodPhase(spike_times, zero_crossings); + vs(i) = vectorStrength(phases); +end diff --git a/projects/project_vector_strength/solution/spikeEodPhase.m b/projects/project_vector_strength/solution/spikeEodPhase.m new file mode 100644 index 0000000..f55d250 --- /dev/null +++ b/projects/project_vector_strength/solution/spikeEodPhase.m @@ -0,0 +1,10 @@ +function phi = spikeEodPhase(spike_times, eod_times) + phi = zeros(length(spike_times), 1); + period = mean(diff(eod_times)); + for j = 1:length(spike_times) + t = spike_times(j); + phase = (t - eod_times(find(eod_times <= t, 1, 'last'))) / period * 2 * pi; + phi(j) = phase; + end + + diff --git a/projects/project_vector_strength/solution/vectorStrength.m b/projects/project_vector_strength/solution/vectorStrength.m new file mode 100644 index 0000000..fc9bc43 --- /dev/null +++ b/projects/project_vector_strength/solution/vectorStrength.m @@ -0,0 +1,3 @@ +function vs = vectorStrength(phases) + +vs = sqrt((mean(cos(phases)).^2) + (mean(sin(phases)).^2)); \ No newline at end of file diff --git a/projects/project_vector_strength/solution/zeroCrossings.m b/projects/project_vector_strength/solution/zeroCrossings.m new file mode 100644 index 0000000..2d614a2 --- /dev/null +++ b/projects/project_vector_strength/solution/zeroCrossings.m @@ -0,0 +1,9 @@ +function xings = zeroCrossings(data, time, threshold) + +if nargin == 2 + threshold = 0; +end + +shift_data = circshift(data, 1); + +xings = time((data >= threshold) & (shift_data < threshold)); \ No newline at end of file