BIOSEMİ ACTIVE2 MID TASK TRIGGER PROBLEM


Author
Message
cansu
cansu
Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)
Group: Forum Members
Posts: 38, Visits: 136
Thanks for the reply
For feedback triggers, is it possible to send different triggers for feedback after reward cue ,different triggers for feedback after punishment cue,different triggers for feedback after nonincentive cue? Is there anything I can do to send feedback triggers differently according to the nature of the initial cue using the method you mentioned?
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 106K
cansu - 3/12/2025
Thanks for the replyFor feedback triggers, is it possible to send different triggers for feedback after reward cue ,different triggers for feedback after punishment cue,different triggers for feedback after nonincentive cue? Is there anything I can do to send feedback triggers differently according to the nature of the initial cue using the method you mentioned?

The exact same method applies.
cansu
cansu
Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)
Group: Forum Members
Posts: 38, Visits: 136
I really appreciate your help but as I mentioned before I am unfamiliar with the inquisit language and I have no idea which parts of the script I will add these additions to. As I said, I did not understand the revision I will make after defining the reward and loss cues in two different ports. If possible, can you do these revisions and share the full script version that sends different triggers for reward and punishment?
Thanks for you help again🙏🏻🙏🏻:(
cansu
cansu
Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)
Group: Forum Members
Posts: 38, Visits: 136
I am a psychiatrist and I am not proficient in codes other than Python. I am aware that I ask a lot of questions, unfortunately this is due to my lack of proficiency in the Inquisit language. I would be grateful if you could help me.🙏🏻
cansu
cansu
Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)
Group: Forum Members
Posts: 38, Visits: 136
Since I will be working on ERP in the eeg waves after feedback, it will be necessary for the feedback triggers that come after the reward cues to be different during the analysis phase.
If you can make the feedback trigger that comes after the reward cue '1' as '15', the feedback trigger that comes after the nonincentive cue as 'a different number other than 15'; and similarly, the trigger that comes after the loss cue in the loss block and the trigger that comes after the neutral cue are also different numbers than 15, I would be very happy.
If you explain how to do this in more detail, I will try to do it of course.
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 106K
cansu - 3/12/2025
Since I will be working on ERP in the eeg waves after feedback, it will be necessary for the feedback triggers that come after the reward cues to be different during the analysis phase.If you can make the feedback trigger that comes after the reward cue '1' as '15', the feedback trigger that comes after the nonincentive cue as 'a different number other than 15'; and similarly, the trigger that comes after the loss cue in the loss block and the trigger that comes after the neutral cue are also different numbers than 15, I would be very happy.If you explain how to do this in more detail, I will try to do it of course.

Please work through the Programmer's Manual available at https://www.millisecond.com/support/Inquisit%20Programmer's%20Manual.pdf and then through your script until you have a better understanding of how it actually works and what does what.

Given that you are familiary with other programming languages (e.g. Python), you should be able to pick up the basic structure and syntax rules quickly.

Then try to make the modifications on the basis of what I explained previously.

If you get stuck, you are more than welcome to ask concrete questions.
cansu
cansu
Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)
Group: Forum Members
Posts: 38, Visits: 136
I will take a look at the manuel you sent, thank you very much.
If you share with me the version of the reward and loss cues defined with different triggers as you answered in my previous questions, I can have a better understanding of including the port and trigger commands in the script.🙏🏻🙏🏻
I reviewed the manual you sent, I could not see a detailed explanation about the port and trigger, but I will take a look again.
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 106K
cansu - 3/12/2025
I will take a look at the manuel you sent, thank you very much.If you share with me the version of the reward and loss cues defined with different triggers as you answered in my previous questions, I can have a better understanding of including the port and trigger commands in the script.🙏🏻🙏🏻I reviewed the manual you sent, I could not see a detailed explanation about the port and trigger, but I will take a look again.

You don't need a detailed explanation of <port> elements. They are stimulus elements like any other (<text>, <picture>, <sound>, etc.) and are to be treated in the same way as any other stimulus element.

The code for different incentive cue triggers in reward vs punishment condition is already in this thread.
cansu
cansu
Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)Associate Member (89 reputation)
Group: Forum Members
Posts: 38, Visits: 136
I will change this part of y script below with yours and add port definitions.
After that, there will be a task script that sends different triggers for cues. As far as I understand, I don't think I need to make any other changes.



trial incentive>
/inputdevice = mousekey
/validresponse = (lbuttondown, rbuttondown)
/correctresponse = (lbuttondown, rbuttondown)
/responsemessage = (lbuttondown,incentivecue, 100)
/responsemessage = (rbuttondown,incentivecue, 100)

/ ontrialbegin = [
values.incentive_condition = 1;
values.iti=0;
values.targetduration = expressions.determineDuration;
values.delayduration = list.delay.nextvalue;
    if (values.exp_condition == 1) {
        trial.incentive.insertstimulustime(port.incentivecueeeg_reward, 0);
    } else if (values.exp_condition == 2) {
        trial.incentive.insertstimulustime(port.incentivecueeeg_punishment, 0);
    };
trial.incentive.insertstimulustime(shape.incentivecue, values.cueduration);
trial.incentive.insertstimulustime(shape.eraser, values.cueduration);
trial.incentive.insertstimulustime(port.erasereeg, values.cueduration);
trial.incentive.insertstimulustime(shape.target, (values.cueduration + values.delayduration));
trial.incentive.insertstimulustime(port.targeteeg, (values.cueduration + values.delayduration));

]
/ posttrialpause = values.fixediti
/ stimulustimes = [0 = incentivecue, total]
/ beginresponsetime = values.cueduration + values.delayduration
/ responseinterrupt = immediate
/ timeout = values.cueduration + values.delayduration + values.targetduration
/ monkeyresponse = (values.responsekey)
/ ontrialend = [
trial.incentive.resetstimulusframes();
values.iti = values.trialduration - values.cueduration - values.delayduration - trial.incentive.latency - values.feedbackduration;
if (values.exp_condition == 0) {
values.count_IncentiveControl += 1;
values.countcorrect_IncentiveControl += trial.incentive.correct;
list.successIncentive_Control.insertitem(trial.incentive.correct, 1);
} else if (values.exp_condition == 1) {
values.count_IncentiveReward += 1;
values.countcorrect_IncentiveReward += trial.incentive.correct;
list.successIncentive_Reward.insertitem(trial.incentive.correct, 1);
} else if (values.exp_condition == 2) {
values.count_IncentivePunishment += 1;
values.countcorrect_IncentivePunishment += trial.incentive.correct;
list.successIncentive_Punishment.insertitem(trial.incentive.correct, 1);
} ;
]
/ branch = [trial.feedback]




Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 106K
cansu - 3/12/2025
I will change this part of y script below with yours and add port definitions.After that, there will be a task script that sends different triggers for cues. As far as I understand, I don't think I need to make any other changes.trial incentive>/inputdevice = mousekey/validresponse = (lbuttondown, rbuttondown)/correctresponse = (lbuttondown, rbuttondown)/responsemessage = (lbuttondown,incentivecue, 100)/responsemessage = (rbuttondown,incentivecue, 100)/ ontrialbegin = [ values.incentive_condition = 1; values.iti=0; values.targetduration = expressions.determineDuration; values.delayduration = list.delay.nextvalue;    if (values.exp_condition == 1) {        trial.incentive.insertstimulustime(port.incentivecueeeg_reward, 0);    } else if (values.exp_condition == 2) {        trial.incentive.insertstimulustime(port.incentivecueeeg_punishment, 0);    }; trial.incentive.insertstimulustime(shape.incentivecue, values.cueduration); trial.incentive.insertstimulustime(shape.eraser, values.cueduration); trial.incentive.insertstimulustime(port.erasereeg, values.cueduration); trial.incentive.insertstimulustime(shape.target, (values.cueduration + values.delayduration)); trial.incentive.insertstimulustime(port.targeteeg, (values.cueduration + values.delayduration)); ]/ posttrialpause = values.fixediti/ stimulustimes = [0 = incentivecue, total]/ beginresponsetime = values.cueduration + values.delayduration/ responseinterrupt = immediate/ timeout = values.cueduration + values.delayduration + values.targetduration/ monkeyresponse = (values.responsekey)/ ontrialend = [ trial.incentive.resetstimulusframes(); values.iti = values.trialduration - values.cueduration - values.delayduration - trial.incentive.latency - values.feedbackduration; if (values.exp_condition == 0) { values.count_IncentiveControl += 1; values.countcorrect_IncentiveControl += trial.incentive.correct; list.successIncentive_Control.insertitem(trial.incentive.correct, 1); } else if (values.exp_condition == 1) { values.count_IncentiveReward += 1; values.countcorrect_IncentiveReward += trial.incentive.correct; list.successIncentive_Reward.insertitem(trial.incentive.correct, 1); } else if (values.exp_condition == 2) { values.count_IncentivePunishment += 1; values.countcorrect_IncentivePunishment += trial.incentive.correct; list.successIncentive_Punishment.insertitem(trial.incentive.correct, 1); } ;] / branch = [trial.feedback]

In addition to changing <trial incentive> this way, you also need to add the two port elements I included in my response -- <port incentivecueeeg_reward> and <port incentivecueeeg_punishment> -- to your script.

<port incentivecueeeg_reward>
/ port = COM6
/ subport = data
/ items = ("00000001")
</port>

<port incentivecueeeg_punishment>
/ port = COM6
/ subport = data
/ items = ("00000010")
</port>


After that forget about triggers and the MID task for a while. Instead work through the Programmer's Manual from front to back and focus on understanding the basic building blocks that every Inquisit script is made up of. I.e., what are stimulus elements and what do they do? What do trial elements do? What do blocks do? And so forth.

Once you have acquired these basics, you should be able to actually "read" the MID task code and have a general sense of what each thing in it does and why.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search