Mercurial > hg > map
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 |