comparison multithreshold 1.46/expGUI_MT.m @ 9:ecad0ea62b43

May27 mainly better parameters
author Ray Meddis <rmeddis@essex.ac.uk>
date Tue, 31 May 2011 09:13:07 +0100
parents eafe11c86f44
children 9fd4960e743a
comparison
equal deleted inserted replaced
8:eafe11c86f44 9:ecad0ea62b43
44 % 44 %
45 % See also: GUIDE, GUIDATA, GUIHANDLES 45 % See also: GUIDE, GUIDATA, GUIHANDLES
46 46
47 % Edit the above text to modify the response to help expGUI_MT 47 % Edit the above text to modify the response to help expGUI_MT
48 48
49 % Last Modified by GUIDE v2.5 07-Apr-2011 07:20:00 49 % Last Modified by GUIDE v2.5 29-May-2011 16:02:02
50 50
51 % Begin initialization code - DO NOT EDIT 51 % Begin initialization code - DO NOT EDIT
52 gui_Singleton = 1; 52 gui_Singleton = 1;
53 gui_State = struct('gui_Name', mfilename, ... 53 gui_State = struct('gui_Name', mfilename, ...
54 'gui_Singleton', gui_Singleton, ... 54 'gui_Singleton', gui_Singleton, ...
312 % identify paradigm selected 312 % identify paradigm selected
313 chosenOption=get(handles.popupmenuParadigm,'value'); 313 chosenOption=get(handles.popupmenuParadigm,'value');
314 paradigm=paradigmNames{chosenOption}; 314 paradigm=paradigmNames{chosenOption};
315 experiment.paradigm=paradigm; 315 experiment.paradigm=paradigm;
316 316
317 %Paradigm: read in all relevant parameters 317 %Paradigm: read in all relevant parameters
318 % a file must exist with this name 'paradigm_<paradigm>' 318 % a file must exist with this name 'paradigm_<paradigm>'
319 % 'handles' are only occasionally used 319 % 'handles' are only occasionally used
320 addpath ('paradigms') 320 addpath ('paradigms')
321 cmd=['paradigm_' paradigm '(handles);']; 321 cmd=['paradigm_' paradigm '(handles);'];
322 try 322 try
324 catch 324 catch
325 error(['ExpGUI\aParadigmSelection:'... 325 error(['ExpGUI\aParadigmSelection:'...
326 'paradigm file not found or error in file']) 326 'paradigm file not found or error in file'])
327 end 327 end
328 rmpath ('paradigms') 328 rmpath ('paradigms')
329
330 switch experiment.paradigm
331 % identify masker free paradigms
332 case {'training', 'discomfort','absThreshold', 'absThreshold_8',...
333 'absThreshold_16','TENtest', 'threshold_duration','SRT'...
334 'paradigm_thr_IFMC'}
335 experiment.maskerInUse=0;
336 otherwise
337 experiment.maskerInUse=1;
338 end
329 339
330 % if a variable is subject to change, specify list of values here 340 % if a variable is subject to change, specify list of values here
331 % eg. stimulusParameters.targetFrequency=betweenRuns.variableList1; 341 % eg. stimulusParameters.targetFrequency=betweenRuns.variableList1;
332 cmd=['stimulusParameters.' ... 342 cmd=['stimulusParameters.' ...
333 betweenRuns.variableName1 '=betweenRuns.variableList1;']; 343 betweenRuns.variableName1 '=betweenRuns.variableList1;'];
421 idx= find(strcmp(stimulusParameters.maskerType, maskerTypes)); 431 idx= find(strcmp(stimulusParameters.maskerType, maskerTypes));
422 set(handles.popupmenuMaskerType,'value', idx) 432 set(handles.popupmenuMaskerType,'value', idx)
423 433
424 aShowRelevantObjects(handles) 434 aShowRelevantObjects(handles)
425 435
426 % % backgroundType 436 % % backgroundType popup
427 idx= find(strcmp(stimulusParameters.backgroundType, backgroundTypes)); 437 idx= find(strcmp(stimulusParameters.backgroundType, backgroundTypes));
428 set(handles.popupmenuBackgroundType,'value', idx) 438 set(handles.popupmenuBackgroundType,'value', idx)
429 set(handles.editBackgroundLevel,'string', ... 439 set(handles.editBackgroundLevel,'string', ...
430 num2str(stimulusParameters.backgroundLevel)) 440 num2str(stimulusParameters.backgroundLevel))
431 441
432 % ---------------------------------------------- aShowRelevantObjects 442 % ---------------------------------------------- aShowRelevantObjects
433 function aShowRelevantObjects(handles) 443 function aShowRelevantObjects(handles)
434 global experiment stimulusParameters 444 global experiment stimulusParameters
445 % called from aShowRelevantObjects
435 % always on 446 % always on
436 set(handles.edittargetLevel, 'visible', 'on') 447 set(handles.edittargetLevel, 'visible', 'on')
437 set(handles.edittargetDuration, 'visible', 'on') 448 set(handles.edittargetDuration, 'visible', 'on')
438 set(handles.edittargetFrequency, 'visible', 'on') 449 set(handles.edittargetFrequency, 'visible', 'on')
439 450
440 switch experiment.ear 451 switch experiment.ear
441 case {'statsModelLogistic', 'statsModelRareEvent'} 452 case {'statsModelLogistic', 'statsModelRareEvent'}
442 set(handles.editStatsModel, 'visible', 'on') 453 set(handles.editStatsModel, 'visible', 'on')
443 set(handles.textStatsModel, 'visible', 'on') 454 set(handles.textStatsModel, 'visible', 'on')
444 set(handles.pushbuttonStop, 'visible', 'on') 455 set(handles.pushbuttonStop, 'visible', 'on')
445 set(handles.pushbuttonOME, 'visible', 'off') 456 showModelPushButtons(handles, 0)
446 set(handles.pushbuttonBM, 'visible', 'off')
447 set(handles.pushbuttonRP, 'visible', 'off')
448 set(handles.pushbuttonAN, 'visible', 'off')
449 set(handles.pushbuttonRF, 'visible', 'off')
450 set(handles.pushbuttonSYN, 'visible', 'off')
451 set(handles.pushbuttonFM, 'visible', 'off')
452 set(handles.pushbuttonParams, 'visible', 'off')
453 set(handles.pushbuttonSingleShot, 'visible', 'off')
454 set(handles.editCatchTrialRate, 'visible', 'off') 457 set(handles.editCatchTrialRate, 'visible', 'off')
455 set(handles.textCatchTrials, 'visible', 'off') 458 set(handles.textCatchTrials, 'visible', 'off')
456 set(handles.editcalibrationdB, 'visible', 'off') 459 set(handles.editcalibrationdB, 'visible', 'off')
457 set(handles.textcalibration, 'visible', 'off') 460 set(handles.textcalibration, 'visible', 'off')
458 set(handles.popupmenuCueNoCue, 'visible', 'off') 461 set(handles.popupmenuCueNoCue, 'visible', 'off')
459 set(handles.textCue, 'visible', 'off') 462 set(handles.textCue, 'visible', 'off')
460 set(handles.editMusicLevel,'visible', 'off') 463 set(handles.editMusicLevel,'visible', 'off')
461 set(handles.textMusicLevel,'visible', 'off') 464 set(handles.textMusicLevel,'visible', 'off')
462 set(handles.editMAPplot,'visible', 'off')
463 set(handles.textMAPplot,'visible', 'off')
464 465
465 case {'MAPmodel', 'MAPmodelListen', 'MAPmodelMultiCh', 'MAPmodelSingleCh'} 466 case {'MAPmodel', 'MAPmodelListen', 'MAPmodelMultiCh', 'MAPmodelSingleCh'}
466 set(handles.popupmenuCueNoCue, 'visible', 'off') 467 set(handles.popupmenuCueNoCue, 'visible', 'off')
467 set(handles.editStatsModel, 'visible', 'off') 468 set(handles.editStatsModel, 'visible', 'off')
468 set(handles.textStatsModel, 'visible', 'off') 469 set(handles.textStatsModel, 'visible', 'off')
469 set(handles.pushbuttonStop, 'visible', 'on') 470 set(handles.pushbuttonStop, 'visible', 'on')
470 set(handles.pushbuttonOME, 'visible', 'on') 471 showModelPushButtons(handles, 1)
471 set(handles.pushbuttonBM, 'visible', 'on')
472 set(handles.pushbuttonRP, 'visible', 'on')
473 set(handles.pushbuttonAN, 'visible', 'on')
474 set(handles.pushbuttonRF, 'visible', 'on')
475 set(handles.pushbuttonSYN, 'visible', 'on')
476 set(handles.pushbuttonFM, 'visible', 'on')
477 set(handles.pushbuttonParams, 'visible', 'on')
478 set(handles.pushbuttonSingleShot, 'visible', 'on')
479 set(handles.editcalibrationdB, 'visible', 'off') 472 set(handles.editcalibrationdB, 'visible', 'off')
480 set(handles.textcalibration, 'visible', 'off') 473 set(handles.textcalibration, 'visible', 'off')
481 set(handles.textCue, 'visible', 'off') 474 set(handles.textCue, 'visible', 'off')
482 set(handles.editMusicLevel,'visible', 'off') 475 set(handles.editMusicLevel,'visible', 'off')
483 set(handles.textMusicLevel,'visible', 'off') 476 set(handles.textMusicLevel,'visible', 'off')
484 set(handles.editMAPplot,'visible', 'on')
485 set(handles.textMAPplot,'visible', 'on')
486 477
487 otherwise 478 otherwise
479 % i.e. using real subjects (left, right, diotic, dichotic)
488 set(handles.editStatsModel, 'visible', 'off') 480 set(handles.editStatsModel, 'visible', 'off')
489 set(handles.textStatsModel, 'visible', 'off') 481 set(handles.textStatsModel, 'visible', 'off')
490 set(handles.pushbuttonStop, 'visible', 'off') 482 set(handles.pushbuttonStop, 'visible', 'off')
491 set(handles.pushbuttonOME, 'visible', 'off') 483 showModelPushButtons(handles, 0)
492 set(handles.pushbuttonBM, 'visible', 'off')
493 set(handles.pushbuttonRP, 'visible', 'off')
494 set(handles.pushbuttonAN, 'visible', 'off')
495 set(handles.pushbuttonRF, 'visible', 'off')
496 set(handles.pushbuttonSYN, 'visible', 'off')
497 set(handles.pushbuttonFM, 'visible', 'off')
498 set(handles.pushbuttonParams, 'visible', 'off')
499 set(handles.pushbuttonSingleShot, 'visible', 'off')
500 set(handles.editCatchTrialRate, 'visible', 'on') 484 set(handles.editCatchTrialRate, 'visible', 'on')
501 set(handles.textCatchTrials, 'visible', 'on') 485 set(handles.textCatchTrials, 'visible', 'on')
502 set(handles.editcalibrationdB, 'visible', 'on') 486 set(handles.editcalibrationdB, 'visible', 'on')
503 set(handles.textcalibration, 'visible', 'on') 487 set(handles.textcalibration, 'visible', 'on')
504 set(handles.popupmenuCueNoCue, 'visible', 'on') 488 set(handles.popupmenuCueNoCue, 'visible', 'on')
505 set(handles.textCue, 'visible', 'on') 489 set(handles.textCue, 'visible', 'on')
506 set(handles.editMusicLevel,'visible', 'on') 490 set(handles.editMusicLevel,'visible', 'on')
507 set(handles.textMusicLevel,'visible', 'on') 491 set(handles.textMusicLevel,'visible', 'on')
508 set(handles.editMAPplot,'visible', 'off')
509 set(handles.textMAPplot,'visible', 'off')
510 end 492 end
511 493
512 switch experiment.threshEstMethod 494 switch experiment.threshEstMethod
513 case {'MaxLikelihood','oneIntervalUpDown'} 495 case {'MaxLikelihood','oneIntervalUpDown'}
514 set(handles.popupmenuCueNoCue,'visible', 'on') 496 set(handles.popupmenuCueNoCue,'visible', 'on')
531 set(handles.textCue,'visible', 'off') 513 set(handles.textCue,'visible', 'off')
532 set(handles.editcueTestDifference,'visible', 'off') 514 set(handles.editcueTestDifference,'visible', 'off')
533 set(handles.textcueTestDifference,'visible', 'off') 515 set(handles.textcueTestDifference,'visible', 'off')
534 end 516 end
535 517
536
537 % show/ remove masker related boxes 518 % show/ remove masker related boxes
538 switch experiment.paradigm 519 if ~experiment.maskerInUse
539 % masker free paradigms 520 set(handles.editmaskerDuration,'visible', 'off')
540 case {'training', 'discomfort','absThreshold', 'absThreshold_8',... 521 set(handles.editmaskerLevel,'visible', 'off')
541 'TENtest', 'threshold_duration','SRT'} 522 set(handles.editmaskerRelativeFrequency,'visible', 'off')
542 set(handles.editmaskerDuration,'visible', 'off') 523 set(handles.editgapDuration,'visible', 'off')
543 set(handles.editmaskerLevel,'visible', 'off') 524 set(handles.textmaskerDuration,'visible', 'off')
544 set(handles.editmaskerRelativeFrequency,'visible', 'off') 525 set(handles.textmaskerLevel,'visible', 'off')
545 set(handles.editgapDuration,'visible', 'off') 526 set(handles.textmaskerRelativeFrequency,'visible', 'off')
546 set(handles.textmaskerDuration,'visible', 'off') 527 set(handles.textgapDuration,'visible', 'off')
547 set(handles.textmaskerLevel,'visible', 'off') 528 set(handles.popupmenuMaskerType,'visible', 'off')
548 set(handles.textmaskerRelativeFrequency,'visible', 'off') 529 set(handles.textMaskerType,'visible', 'off')
549 set(handles.textgapDuration,'visible', 'off') 530
550 set(handles.popupmenuMaskerType,'visible', 'off') 531 % paradigms with maskers
551 set(handles.textMaskerType,'visible', 'off') 532 else
552 533 set(handles.editmaskerDuration,'visible', 'on')
553 % paradigms with maskers 534 set(handles.editmaskerLevel,'visible', 'on')
554 case {'forwardMasking','forwardMaskingD','trainingIFMC', 'TMC','TMC_16ms', ... 535 set(handles.editmaskerRelativeFrequency,'visible', 'on')
555 'TMCmodel','IFMC','IFMC_8ms', 'IFMC_16ms','GOM','overShoot','overShootB',... 536 set(handles.editgapDuration,'visible', 'on')
556 'gapDetection', 'psychometric', 'FMreProbe'} 537 set(handles.popupmenuMaskerType,'visible', 'on')
557 set(handles.editmaskerDuration,'visible', 'on') 538 set(handles.textmaskerDuration,'visible', 'on')
558 set(handles.editmaskerLevel,'visible', 'on') 539 set(handles.textmaskerLevel,'visible', 'on')
559 set(handles.editmaskerRelativeFrequency,'visible', 'on') 540 set(handles.textmaskerRelativeFrequency,'visible', 'on')
560 set(handles.editgapDuration,'visible', 'on') 541 set(handles.textgapDuration,'visible', 'on')
561 set(handles.popupmenuMaskerType,'visible', 'on') 542 set(handles.popupmenuMaskerType,'visible', 'on')
562 set(handles.textmaskerDuration,'visible', 'on') 543 set(handles.textMaskerType,'visible', 'on')
563 set(handles.textmaskerLevel,'visible', 'on') 544 % masker relative frequency /type
564 set(handles.textmaskerRelativeFrequency,'visible', 'on') 545 chosenOption=get(handles.popupmenuMaskerType,'value');
565 set(handles.textgapDuration,'visible', 'on') 546 maskerTypes=get(handles.popupmenuMaskerType,'string');
566 set(handles.popupmenuMaskerType,'visible', 'on') 547 maskerType=maskerTypes{chosenOption};
567 set(handles.textMaskerType,'visible', 'on') 548 switch maskerType
568 % masker relative frequency /type 549 case 'tone'
569 chosenOption=get(handles.popupmenuMaskerType,'value'); 550 set(handles.editmaskerRelativeFrequency,'visible', 'on')
570 maskerTypes=get(handles.popupmenuMaskerType,'string'); 551 otherwise
571 maskerType=maskerTypes{chosenOption}; 552 set(handles.editmaskerRelativeFrequency,'visible', 'off')
572 switch maskerType 553 end
573 case 'tone'
574 set(handles.editmaskerRelativeFrequency,'visible', 'on')
575 otherwise
576 set(handles.editmaskerRelativeFrequency,'visible', 'off')
577 end
578 end 554 end
579 555
580 eval(['set(handles.edit' stimulusParameters.WRVname ... 556 eval(['set(handles.edit' stimulusParameters.WRVname ...
581 ',''visible'',''off'' )']) 557 ',''visible'',''off'' )'])
582 558
599 set(handles.popupmenuBackgroundType, 'visible', 'on'); 575 set(handles.popupmenuBackgroundType, 'visible', 'on');
600 set(handles.editBackgroundLevel,'visible','on') 576 set(handles.editBackgroundLevel,'visible','on')
601 set(handles.textBGlevel,'visible','on') 577 set(handles.textBGlevel,'visible','on')
602 end 578 end
603 579
604 580 % ------------------------------------------------ showModelPushButtons
581 function showModelPushButtons(handles,on)
582 if on
583 set(handles.pushbuttonOME, 'visible', 'on')
584 set(handles.pushbuttonBM, 'visible', 'on')
585 set(handles.pushbuttonRP, 'visible', 'on')
586 set(handles.pushbuttonAN, 'visible', 'on')
587 set(handles.pushbuttonPhLk, 'visible', 'on')
588 set(handles.pushbuttonSYN, 'visible', 'on')
589 set(handles.pushbuttonFM, 'visible', 'on')
590 set(handles.pushbuttonParams, 'visible', 'on')
591 set(handles.pushbuttonSingleShot, 'visible', 'on')
592 set(handles.editMAPplot,'visible', 'on')
593 set(handles.textMAPplot,'visible', 'on')
594
595 else
596 set(handles.pushbuttonOME, 'visible', 'off')
597 set(handles.pushbuttonBM, 'visible', 'off')
598 set(handles.pushbuttonRP, 'visible', 'off')
599 set(handles.pushbuttonAN, 'visible', 'off')
600 set(handles.pushbuttonPhLk, 'visible', 'off')
601 set(handles.pushbuttonSYN, 'visible', 'off')
602 set(handles.pushbuttonFM, 'visible', 'off')
603 set(handles.pushbuttonParams, 'visible', 'off')
604 set(handles.pushbuttonSingleShot, 'visible', 'off')
605 set(handles.editMAPplot,'visible', 'off')
606 set(handles.textMAPplot,'visible', 'off')
607
608 end
605 609
606 % ------------------------------------------------ pushbuttonRun_Callback 610 % ------------------------------------------------ pushbuttonRun_Callback
607 function pushbuttonRun_Callback(hObject, eventdata, handles) 611 function pushbuttonRun_Callback(hObject, eventdata, handles)
608 global checkForPreviousGUI % holds screen positioning across repeated calls 612 global checkForPreviousGUI % holds screen positioning across repeated calls
609 global experiment 613 global experiment betweenRuns paradigmNames
610 checkForPreviousGUI.GUIposition=get(handles.figure1,'position'); 614 checkForPreviousGUI.GUIposition=get(handles.figure1,'position');
611 experiment.singleShot=0; 615 experiment.singleShot=0;
612 run (handles) 616 switch experiment.paradigm
613 experiment.stop=0; 617 case 'thr_IFMC'
618 %% special option for two successive and linked measurements
619 experiment.paradigm='threshold_16ms';
620 set(handles.editstopCriteriaBox,'string','30') % nTrials
621 run (handles)
622
623 % use these threshold for IFMC
624 thresholds16ms=betweenRuns.thresholds;
625 optionNo=strmatch('IFMC_16ms',paradigmNames);
626 set(handles.popupmenuParadigm,'value',optionNo);
627 aParadigmSelection(handles)
628 set(handles.edittargetLevel,'string', thresholds16ms+10);
629 set(handles.editstopCriteriaBox,'string','30') % nTrials
630 pause(.1)
631 run (handles)
632
633 % reset original paradigm
634 optionNo=strmatch('thr_IFMC',paradigmNames);
635 set(handles.popupmenuParadigm,'value',optionNo);
636 aParadigmSelection(handles)
637
638 case 'thr_TMC'
639 %% special option for two successive and linked measurements
640 experiment.paradigm='threshold_16ms';
641 set(handles.edittargetDuration,'string', num2str(0.25))
642 set(handles.editstopCriteriaBox,'string','30') % nTrials
643 run (handles)
644
645 set(handles.edittargetDuration,'string', num2str(0.016))
646 set(handles.editstopCriteriaBox,'string','30') % nTrials
647 run (handles)
648
649 % use these threshold for TMC
650 thresholds16ms=betweenRuns.thresholds;
651 optionNo=strmatch('TMC_16ms',paradigmNames);
652 set(handles.popupmenuParadigm,'value',optionNo);
653 aParadigmSelection(handles)
654 set(handles.edittargetLevel,'string', thresholds16ms+10);
655 set(handles.editstopCriteriaBox,'string','30') % nTrials
656 pause(.1)
657 run (handles)
658
659 % reset original paradigm
660 optionNo=strmatch('thr_TMC',paradigmNames);
661 set(handles.popupmenuParadigm,'value',optionNo);
662 aParadigmSelection(handles)
663
664 otherwise
665 run (handles)
666 experiment.stop=0;
667 end
614 668
615 function run (handles) 669 function run (handles)
616 global experiment expGUIhandles stimulusParameters 670 global experiment expGUIhandles stimulusParameters
617 tic 671 tic
618 expGUIhandles=handles; 672 expGUIhandles=handles;
924 && length(stimulusParameters.WRVstartValues)>1 978 && length(stimulusParameters.WRVstartValues)>1
925 errorMsg='multiple WRVstartValues inappropriate'; 979 errorMsg='multiple WRVstartValues inappropriate';
926 return 980 return
927 end 981 end
928 982
983 % set the target level in advance for every wnticipated run
929 switch experiment.paradigm 984 switch experiment.paradigm
930 % case { 'TMC', 'TMCmodel','IFMC'} 985 case {'trainingIFMC', 'TMC','TMC_16ms', 'TMC - ELP', ...
931 case {'trainingIFMC', 'TMC','TMC_16ms', 'TMC - ELP', 'IFMC', 'IFMC_16ms'} 986 'IFMC', 'IFMC_16ms'}
932
933 % For TMC and IFMC multiple target levels can be set 987 % For TMC and IFMC multiple target levels can be set
934 if length(stimulusParameters.targetLevel)==1 988 if length(stimulusParameters.targetLevel)==1
935 betweenRuns.targetLevels=... 989 betweenRuns.targetLevels=...
936 repmat(stimulusParameters.targetLevel, 1, ... 990 repmat(stimulusParameters.targetLevel, 1, ...
937 length(betweenRuns.variableList1)... 991 length(betweenRuns.variableList1)...
938 *length(betweenRuns.variableList2)); 992 *length(betweenRuns.variableList2));
939 elseif length(stimulusParameters.targetLevel)==... 993 elseif length(stimulusParameters.targetLevel)==...
940 length(betweenRuns.variableList2) 994 length(betweenRuns.variableList2)
995 % only one level specified, so use this throughout
941 x=stimulusParameters.targetLevel; 996 x=stimulusParameters.targetLevel;
942 x=repmat(x,length(betweenRuns.variableList1),1); 997 x=repmat(x,length(betweenRuns.variableList1),1);
943 x=reshape(x,1,length(betweenRuns.variableList1)*length(betweenRuns.variableList2)); 998 x=reshape(x,1,length(betweenRuns.variableList1)*length(betweenRuns.variableList2));
944 betweenRuns.targetLevels=x; 999 betweenRuns.targetLevels=x;
945 else 1000 else
1307 global stimulusParameters experiment 1362 global stimulusParameters experiment
1308 aReadAndCheckParameterBoxes(handles); 1363 aReadAndCheckParameterBoxes(handles);
1309 testBM(stimulusParameters.targetFrequency, experiment.name); 1364 testBM(stimulusParameters.targetFrequency, experiment.name);
1310 1365
1311 function pushbuttonAN_Callback(hObject, eventdata, handles) 1366 function pushbuttonAN_Callback(hObject, eventdata, handles)
1367 global stimulusParameters
1312 aReadAndCheckParameterBoxes(handles); 1368 aReadAndCheckParameterBoxes(handles);
1313 % now carry out tests 1369 % now carry out tests
1314 showPSTHs=0; 1370 showPSTHs=0;
1315 testAN 1371 targetFrequency=stimulusParameters.targetFrequency(1);
1316 1372 BFlist=targetFrequency;
1317 function pushbuttonRF_Callback(hObject, eventdata, handles) 1373
1374 testAN(targetFrequency,BFlist);
1375
1376 function pushbuttonPhLk_Callback(hObject, eventdata, handles)
1318 aReadAndCheckParameterBoxes(handles); 1377 aReadAndCheckParameterBoxes(handles);
1319 showPSTHs=1; 1378 testPhaseLocking
1320 testRF
1321 1379
1322 function pushbuttonSYN_Callback(hObject, eventdata, handles) 1380 function pushbuttonSYN_Callback(hObject, eventdata, handles)
1323 aReadAndCheckParameterBoxes(handles); 1381 aReadAndCheckParameterBoxes(handles);
1324 testSynapse 1382 testSynapse
1325 1383