Browse Source

Cleaning code, and removing cd's from code. Changing them all to full paths based on the location of the current code.

master
Clemente 6 years ago
parent
commit
4a7460aa88
  1. BIN
      .DS_Store
  2. 2
      .gitignore
  3. BIN
      002 After Image GUI Project/.DS_Store
  4. 99
      002 After Image GUI Project/AfIm_Exp_Rivalry.m
  5. BIN
      002 After Image GUI Project/TVP_GENERATOR.mlapp

BIN
.DS_Store vendored

Binary file not shown.

2
.gitignore vendored

@ -1,2 +1,2 @@
/A\ Outputs/ /A\ Outputs/
.DS_STORE/ .DS_STORE

BIN
002 After Image GUI Project/.DS_Store vendored

Binary file not shown.

99
002 After Image GUI Project/AfIm_Exp_Rivalry.m

@ -7,36 +7,24 @@ assignin('base','Stop_Press',0)% this works for the STOP experiment button
% across operating systems, and switch color range to normalized 0 - 1 range: % across operating systems, and switch color range to normalized 0 - 1 range:
PsychDefaultSetup(2); PsychDefaultSetup(2);
saveFile = sprintf('%s_afterimage', subName) [curDir,~,~] = fileparts(matlab.desktop.editor.getActiveFilename);
aa = cd('/Users/clemente/Desktop/AfterImage Programs/A Outputs'); saveFile = sprintf('%s/../A Outputs/%s_afterimage', curDir, subName);
fp = fopen(saveFile, 'at'); fp = fopen(saveFile, 'at');
%% Color information, load hfp data and color calibration %% Color information, load hfp data and color calibration
hfpFile = sprintf('%s/../A Outputs/%sHFP', curDir, subName);
aa = cd('/Users/clemente/Desktop/AfterImage Programs/A Outputs'); load(hfpFile, '-mat');
hfpFile = sprintf('%sHFP', subName);
load(hfpFile, '-mat')
hfpRG = rg_avg; hfpRG = rg_avg;
hfpBG = bg_avg; hfpBG = bg_avg;
load('colorCalFile1.mat');
% cd(a); % return to program folder.
Calib_Dire = cd('/Users/clemente/Desktop/AfterImage Programs/002 After Image GUI Project');
load colorCalFile1.mat
fprintf('\nLast calibration was %s\n', describe.date) fprintf('\nLast calibration was %s\n', describe.date)
pix = pix/1001; pix = pix/1001;
cd(aa) ;% output folder
aa = cd('/Users/clemente/Desktop/AfterImage Programs/A Outputs');
% aa = cd('D:\Dropbox\Luminotecnia\2017\Chicago Lab files\2 Experiments\Color AfterImage_Exp_Room_150\2nd\1 Programs\A Outputs')
% maxLum = 20; %cd/m^2 % maxLum = 20; %cd/m^2
contFile = sprintf('%s_ContMatch', subName); contFile = sprintf('%s/../A Outputs/%s_ContMatch', curDir, subName);
cd load(contFile, '-mat');
load(contFile, '-mat')
% % % % lCont = fliplr(Final_lCont_avg);% sort the matrix in descendent order % % % % lCont = fliplr(Final_lCont_avg);% sort the matrix in descendent order
% % % % lumMod = fliplr(Final_lumMod_avg); % % % % lumMod = fliplr(Final_lumMod_avg);
@ -76,16 +64,16 @@ redLut = [.8 0 0];
%% Save Session Information %% Save Session Information
theDate = datestr(now(),'mm/dd/yyyy HH:MM:SS') theDate = datestr(now(),'mm/dd/yyyy HH:MM:SS');
% a = '/Users/clemente/Dropbox/Luminotecnia/2018/Experiments/Color Background Afterimage/1 Programs/4 ColBackg AI' ;% folder where the program is. % a = '/Users/clemente/Dropbox/Luminotecnia/2018/Experiments/Color Background Afterimage/1 Programs/4 ColBackg AI' ;% folder where the program is.
infoFile = sprintf('%s_SessionsInfo', subName) infoFile = sprintf('%s/../A Outputs/%s_SessionsInfo', curDir, subName);
aa = cd('/Users/clemente/Desktop/AfterImage Programs/A Outputs'); ;% folder where the program is. %aa = cd('/Users/clemente/Desktop/AfterImage Programs/A Outputs'); % folder where the program is.
checkfile = exist(infoFile, 'file') checkfile = exist(infoFile, 'file');
fo = fopen(infoFile, 'at') fo = fopen(infoFile, 'at');
if checkfile == 0 % if file doesn't exist, then print the following header: if checkfile == 0 % if file doesn't exist, then print the following header:
fprintf(fo,'Subject\t Date\t Time\t Lum\t nBckg_Chro\t nCont\t nRep\t l_\t s_\t lum_\t ls45\t ls135\t luml45\t luml135\t lums45\t luml135\n') fprintf(fo,'Subject\t Date\t Time\t Lum\t nBckg_Chro\t nCont\t nRep\t l_\t s_\t lum_\t ls45\t ls135\t luml45\t luml135\t lums45\t luml135\n');
end end
% fo = fopen(infoFile, 'at') % fo = fopen(infoFile, 'at')
@ -97,7 +85,7 @@ fprintf(fo, '%s\t%s\t %1.2f\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n',.
% % % % % % curr_cond(3),curr_cond(4) ,curr_cond(5),curr_cond(6),... % % % % % % curr_cond(3),curr_cond(4) ,curr_cond(5),curr_cond(6),...
% % % % % % curr_cond(7),curr_cond(8),curr_cond(9)); % % % % % % curr_cond(7),curr_cond(8),curr_cond(9));
fclose(fo) fclose(fo);
%% set up psych toolbox %% set up psych toolbox
%set up 10 bit color %set up 10 bit color
@ -183,15 +171,15 @@ end
%create matrix of dot locations %create matrix of dot locations
clockPosMat = [reshape(xcFace,1, length(clockDegs)); reshape(ycFace,1, length(clockDegs))]; clockPosMat = [reshape(xcFace,1, length(clockDegs)); reshape(ycFace,1, length(clockDegs))];
clockNumMat = [reshape(xcNumber,1, length(clockDegs)); reshape(ycNumber,1, length(clockDegs))]; %clockNumMat = [reshape(xcNumber,1, length(clockDegs)); reshape(ycNumber,1, length(clockDegs))];
clockRhtPosMat = [reshape(xcRhtFace,1, length(clockDegsRht)); reshape(ycRhtFace,1, length(clockDegsRht))]; %clockRhtPosMat = [reshape(xcRhtFace,1, length(clockDegsRht)); reshape(ycRhtFace,1, length(clockDegsRht))];
clockRhtNumMat = [reshape(xcRhtNumber,1, length(clockDegsRht)); reshape(ycRhtNumber,1, length(clockDegsRht))]; clockRhtNumMat = [reshape(xcRhtNumber,1, length(clockDegsRht)); reshape(ycRhtNumber,1, length(clockDegsRht))];
clockLftPosMat = [reshape(xcLftFace,1, length(clockDegsLft)); reshape(ycLftFace,1, length(clockDegsLft))]; %clockLftPosMat = [reshape(xcLftFace,1, length(clockDegsLft)); reshape(ycLftFace,1, length(clockDegsLft))];
clockLftNumMat = [reshape(xcLftNumber,1, length(clockDegsLft)); reshape(ycLftNumber,1, length(clockDegsLft))]; clockLftNumMat = [reshape(xcLftNumber,1, length(clockDegsLft)); reshape(ycLftNumber,1, length(clockDegsLft))];
Screen('TextSize', window, 14); Screen('TextSize', window, 14);
textOne = [12:24,1:11]; %[6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 2 3 4 5]; textOne = [12:24,1:11]; %[6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 2 3 4 5];
yPositionIsBaseline=1; %yPositionIsBaseline=1;
%create array of second hand positions to index %create array of second hand positions to index
count = 1; count = 1;
secHandCord(1:handInt) = (1:15:360)*(pi/180); secHandCord(1:handInt) = (1:15:360)*(pi/180);
@ -210,8 +198,8 @@ WaitSecs(1);
%%///////////////////////////////////////////////////////////////////////// %%/////////////////////////////////////////////////////////////////////////
clear iCond clear iCond
curr_axis = find(axis_chck) curr_axis = find(axis_chck);
TrialCount = 1; fprintf('Current Axis: %d\n',curr_axis);
%run experiment %run experiment
TrialCount = 1; TrialCount = 1;
@ -278,7 +266,8 @@ WaitSecs(AdaptTime)
rnd_idx = randperm(length(curr_axis)); rnd_idx = randperm(length(curr_axis));
curr_axis = curr_axis(rnd_idx) curr_axis = curr_axis(rnd_idx);
fprintf('Current Axis: %d\n', curr_axis);
% cond = randperm(9); % cond = randperm(9);
for iCond = 1:length(curr_axis) for iCond = 1:length(curr_axis)
%create table of color changes %create table of color changes
@ -353,7 +342,7 @@ WaitSecs(AdaptTime)
handyRht = handy + ycent; handyRht = handy + ycent;
WaitSecs(5); %a short adaptation before the next trial WaitSecs(5); %a short adaptation before the next trial
keypress = 0; %keypress = 0;
count = 0; %for clock hand count = 0; %for clock hand
TrialCountStr = num2str(TrialCount); TrialCountStr = num2str(TrialCount);
Priority(topPriorityLevel); Priority(topPriorityLevel);
@ -363,8 +352,8 @@ WaitSecs(AdaptTime)
for iFrames = 1:nFrames for iFrames = 1:nFrames
Screen('FillArc', window, rampLeft(iFrames,:), tstCircleLeft, 0, 180); Screen('FillArc', window, rampLeft(iFrames,:), tstCircleLeft, 0, 180);
Screen('FillArc', window, rampRight(iFrames,:), tstCircleRight, 180, 180); Screen('FillArc', window, rampRight(iFrames,:), tstCircleRight, 180, 180);
Screen('DrawDots', window, clockLftPosMat,clockPix, blackLut, [lftXCircleCenter,center(2)], 2); Screen('DrawDots', window, clockPosMat,clockPix, blackLut, [lftXCircleCenter,center(2)], 2);
Screen('DrawDots', window, clockRhtPosMat,clockPix, blackLut, [rhtXCircleCenter,center(2)], 2); Screen('DrawDots', window, clockPosMat,clockPix, blackLut, [rhtXCircleCenter,center(2)], 2);
Screen('DrawDots', window, [0 0],clockPix, 0, [lftXCircleCenter,center(2)], 2); % black dot for fixation Screen('DrawDots', window, [0 0],clockPix, 0, [lftXCircleCenter,center(2)], 2); % black dot for fixation
Screen('DrawDots', window, [0 0],clockPix, 0, [rhtXCircleCenter,center(2)], 2); % black dot for fixation Screen('DrawDots', window, [0 0],clockPix, 0, [rhtXCircleCenter,center(2)], 2); % black dot for fixation
Screen('DrawText', window, TrialCountStr, 20, 20, redLut, wRGB); Screen('DrawText', window, TrialCountStr, 20, 20, redLut, wRGB);
@ -394,7 +383,7 @@ WaitSecs(AdaptTime)
% % imwrite(imageArray, 'test.jpg') % % imwrite(imageArray, 'test.jpg')
% % %------------------ % % %------------------
vbl = Screen('Flip', window, secs0 + (waitframes - 0.5) * ifi); Screen('Flip', window, secs0 + (waitframes - 0.5) * ifi);
Screen('DrawingFinished', window); % tell psychtoolbox drawing is finished, should help timing Screen('DrawingFinished', window); % tell psychtoolbox drawing is finished, should help timing
@ -424,19 +413,19 @@ Digit = [];
Nums = {'0','1','2','3','4','5','6','7','8','9'}; Nums = {'0','1','2','3','4','5','6','7','8','9'};
Screen('TextSize', window, 30); Screen('TextSize', window, 30);
commandwindow; commandwindow;
while keyIsDown==0 | (strcmp('ENTER',kbName)==0)% & strcmp('2',kbName)==0) while keyIsDown==0 || (strcmp('ENTER',kbName)==0)% & strcmp('2',kbName)==0)
keyIsDown=0; %keyIsDown=0;
[keyIsDown, secs, keyCode] = KbCheck; [keyIsDown, ~, keyCode] = KbCheck;
if keyIsDown==1 % if keyIsDown==1 %
kbName = KbName(keyCode); kbName = KbName(keyCode);
end end
if Digit & any(strcmp(Nums(:),kbName)); if Digit && any(strcmp(Nums(:),kbName))
idx=find(strcmp(Nums(:),kbName)); %idx=find(strcmp(Nums(:),kbName));
NumPressed = Nums{idx}; NumPressed = Nums{strcmp(Nums(:),kbName)};
kbName = strcat(firstDigit,NumPressed); kbName = strcat(firstDigit,NumPressed);
userRes = kbName; userRes = kbName;
@ -447,8 +436,8 @@ if Digit & any(strcmp(Nums(:),kbName));
Digit = 0; Digit = 0;
WaitSecs(.4); WaitSecs(.4);
elseif any(strcmp(Nums(:),kbName)) elseif any(strcmp(Nums(:),kbName))
idx=find(strcmp(Nums(:),kbName)); %idx=find(strcmp(Nums(:),kbName));
NumPressed = Nums{idx}; %NumPressed = Nums{idx};
userRes = kbName; userRes = kbName;
%-si es numero -- llevarlo a la pantalla %-si es numero -- llevarlo a la pantalla
DrawFormattedText(window, kbName, 400, 512, redLut); DrawFormattedText(window, kbName, 400, 512, redLut);
@ -463,8 +452,8 @@ elseif any(strcmp(Nums(:),kbName))
end end
if strcmp('DELETE',kbName)==1 %-si es el backspace --limpiar numero if strcmp('DELETE',kbName)==1 %-si es el backspace --limpiar numero
kbName = []% ; kbName = [];
userRes = kbName userRes = kbName;
firstDigit = []; firstDigit = [];
Digit = 0; Digit = 0;
DrawFormattedText(window, kbName, 400, 512, redLut); DrawFormattedText(window, kbName, 400, 512, redLut);
@ -480,7 +469,7 @@ end %end while
end end
% userRes = num2str(2); % userRes = num2str(2);
AfterResp = 'OK' %AfterResp = 'OK';
@ -492,14 +481,11 @@ Screen('TextSize', window, 14);
% SAVE % % SAVE %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
aa = cd('/Users/clemente/Desktop/AfterImage Programs/A Outputs');
% aa = cd('D:\Dropbox\Luminotecnia\2017\Chicago Lab files\2 Experiments\Color AfterImage_Exp_Room_150\2nd\1 Programs\A Outputs')
cd
WaitSecs(.2) WaitSecs(.2)
time = clock; theDate = datestr(now(),'mm/dd/yyyy HH:MM:SS');
fprintf(fp, '%s\t%i/%i/%i %i:%i:%i\t%1.3f\t%1.3f\t%1.3f\t%1.3f\t%i\t%i\t%i\t%i\t%s\tExperiment\n',... fprintf(fp, '%s\t%s\t%1.3f\t%1.3f\t%1.3f\t%1.3f\t%i\t%i\t%i\t%i\t%s\tExperiment\n',...
subName, time(2), time(3), time(1), time(4), time(5), round(time(6)), hfpRG, hfpBG, Bckg_Chro(iChro,1), Bckg_Chro(iChro,2), cont(iCont), curr_axis(iCond), Card_Dir, randStrt+5, userRes); subName, theDate, hfpRG, hfpBG, Bckg_Chro(iChro,1), Bckg_Chro(iChro,2), cont(iCont), curr_axis(iCond), Card_Dir, randStrt+5, userRes);
% a = cd('/Users/clemente/Dropbox/Luminotecnia/2018/Experiments/Color Background Afterimage/1 Programs/4 ColBackg AI'); % % a = cd('/Users/clemente/Dropbox/Luminotecnia/2018/Experiments/Color Background Afterimage/1 Programs/4 ColBackg AI'); %
% a = cd('D:\Dropbox\Luminotecnia\2017\Chicago Lab files\2 Experiments\Color AfterImage_Exp_Room_150\2nd\1 Programs\4 AfterImage'); % % a = cd('D:\Dropbox\Luminotecnia\2017\Chicago Lab files\2 Experiments\Color AfterImage_Exp_Room_150\2nd\1 Programs\4 AfterImage'); %
@ -514,13 +500,14 @@ WaitSecs(.2)
Screen('Flip', window); Screen('Flip', window);
clear secHandCord colLut clear secHandCord colLut
TrialCount = TrialCount+1 TrialCount = TrialCount+1;
fprintf('Trial Count: %d\n',TrialCount);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% WANT TO STOP? % % WANT TO STOP? %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% pause(3) % pause(3)
yesno=evalin('base','Stop_Press') yesno=evalin('base','Stop_Press');
if yesno==1 if yesno==1

BIN
002 After Image GUI Project/TVP_GENERATOR.mlapp

Binary file not shown.
Loading…
Cancel
Save