Communication between inquisit and eyelink


Author
Message
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: 12K, Visits: 99K
ttyelnv - 2/7/2024
Dear Dave, I imported the ASC file to matlab using pspm, probably something went missing during the processing.
I will send the raw edf file along with the full inquisit scripts to your email. Thank you!


I've responded to your email.
ttyelnv
ttyelnv
Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)
Group: Forum Members
Posts: 23, Visits: 64
Dear Dave, I imported the ASC file to matlab using pspm, probably something went missing during the processing.
I will send the raw edf file along with the full inquisit scripts to your email. Thank you!


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: 12K, Visits: 99K
ttyelnv - 2/6/2024
Dear Dave, as you can see from the screenshots below, the name of the markers only indicate the start and the end of experiment. Under 'marker value', I got 4 values at the beginning and 5 values at the end, with 0s in between.

 


I'm sorry, out of context screenshots of incomplete data that are of something different than you talked about previously will get us nowhere.
- Those screenshots depict a single column, and it's unclear what each row is supposed to represent. There are no timestamp columns, there are no message and even indicator columns. It's unclear how you even processed that data.
- The partially depicted recording block is for a block element (!V TRIAL_VAR Block habituation) supposedly, not trial elements, so whatever this is, it's not what your previous screenshots showed All your previous screenshots show something else.

Get me the full, unedited EDF along with the full Inquisit code that was used in recording it (including any and all files that code requires to run). Then, maybe, we can make some headway here.

Edited 3 Months Ago by Dave
ttyelnv
ttyelnv
Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)
Group: Forum Members
Posts: 23, Visits: 64
Dear Dave, as you can see from the screenshots below, the name of the markers only indicate the start and the end of experiment. Under 'marker value', I got 4 values at the beginning and 5 values at the end, with 0s in between.

 


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: 12K, Visits: 99K
ttyelnv - 2/5/2024
Dear Dave,

Thank you for your clarification, so the correct code should be like what I had before, right? However, under marker information, I would get many 0s in the mat file generated, occasionally I would get a number (I suppose that refers to the onset of each movie), but that number in the matfile is still different than what I defined in inquisit (e.g., 11, 21).

<trial movie1>
/ stimulustimes = [0=text.movie_text; 4000=video.movie1, eyelink_movie1; 175000=clearscreen, eyelink_reset]
/ trialduration = 175000
/ datastreams = (eyetracker)
</trial>

<port eyelink_movie1>
/port = eyetracker
/items = (11)
/ erase = false
</port>

And what is that number?
ttyelnv
ttyelnv
Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)
Group: Forum Members
Posts: 23, Visits: 64
Dear Dave,

Thank you for your clarification, so the correct code should be like what I had before, right? However, under marker information, I would get many 0s in the mat file generated, occasionally I would get a number (I suppose that refers to the onset of each movie), but that number in the matfile is still different than what I defined in inquisit (e.g., 11, 21).

<trial movie1>
/ stimulustimes = [0=text.movie_text; 4000=video.movie1, eyelink_movie1; 175000=clearscreen, eyelink_reset]
/ trialduration = 175000
/ datastreams = (eyetracker)
</trial>

<port eyelink_movie1>
/port = eyetracker
/items = (11)
/ erase = false
</port>

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: 12K, Visits: 99K
ttyelnv - 2/4/2024
Thank you for your reply Dave. 
By converting the asc file into a mat file, I checked in Matlab for the marker, and even though I only set 6 markers for eyelink with commands like


<port eyelink_movie1>
/port = eyetracker
/items = (11)
/ erase = false
</port>


I got around 170000 lines under the markerinfo session in my mat file and the values of the markers vary for every row in the mat file.

If I want inquisit to send a marker to eyelink according to eyelink's sampling rate, shall I amend my code into the following?

<trial movie1>
/ stimulustimes = [0=text.movie_text; 4000=video.movie1; 175000=clearscreen]
/ trialduration = 175000
/ datastreams = (eyetracker)
/ ontrialbegin = [port.eyelink_movie1]
</trial>

<port eyelink_movie1>
/port = eyetracker
/items = (11)
/ erase = false
</port>


If there a way to start sending the marker to eyelink 5s after the trial <movie1> starts?

Thank you!

You've instructed the EyeLink to record gaze samples during the movie trial. The movie trial lasts 175000 milliseconds. The tracker is tracking at 1000 Hz, so it records one binocular gaze sample per millisecond. That, then, must result in > 170000 lines; there is one sample per millisecond, each sample is a line in the EyeLink's recording block, over the duration of 175000 milliseconds.

Your <trial movie1> as you have posted it here, does not send any marker at any time. /ontrialbegin executes logic, it does not display stimuli and a <port> element is a stimulus, just like <text>, <picture>, <video>, etc.

If you want the trial to send a marker to the EyeLink at a specific point in time during the trial's stimulus presentation sequence, put the port stimulus at that time in /stimulustimes.

Edited 3 Months Ago by Dave
ttyelnv
ttyelnv
Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)
Group: Forum Members
Posts: 23, Visits: 64
Thank you for your reply Dave. 
By converting the asc file into a mat file, I checked in Matlab for the marker, and even though I only set 6 markers for eyelink with commands like


<port eyelink_movie1>
/port = eyetracker
/items = (11)
/ erase = false
</port>


I got around 170000 lines under the markerinfo session in my mat file and the values of the markers vary for every row in the mat file.

If I want inquisit to send a marker to eyelink according to eyelink's sampling rate, shall I amend my code into the following?

<trial movie1>
/ stimulustimes = [0=text.movie_text; 4000=video.movie1; 175000=clearscreen]
/ trialduration = 175000
/ datastreams = (eyetracker)
/ ontrialbegin = [port.eyelink_movie1]
</trial>

<port eyelink_movie1>
/port = eyetracker
/items = (11)
/ erase = false
</port>


If there a way to start sending the marker to eyelink 5s after the trial <movie1> starts?

Thank you!
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: 12K, Visits: 99K
ttyelnv - 2/3/2024
Thank you for your reply Dave, I will further check with Eyelink to figure out why all values are NAs.

The marker problem still hasn't been resolved. In my Inquisit script, I have something like this to specify the marker for a given trial:

<trial movie1>
/ stimulustimes = [0=text.movie_text; 4000=video.movie1, eyelink_movie1; 175000=clearscreen, biopac_reset, eyelink_reset]
/ trialduration = 175000
/ datastreams = (eyetracker)
</trial>

<port eyelink_movie1>
/port = eyetracker
/items = (11)
/ erase = false
</port>


However, in screenshot 2 in the previous post, you could see that the event marker is not there. I do get the message in my eyelink mentioning the name of the trial after the onset of the trial, but the message is in text, and seems not to appear in the asc file either. Do I need to specify the port number again in /ontrialbegin in order to have the markers being displayed? Thank you!


Your second screenshot depicts part of, only the first few samples, a recording block. The tracker is tracking at 1000Hz, that is one sample per millisecond. The marker is only sent 4000ms into the trial's stimulus presentation sequence, so the message, if it is captured, would be much, much further down. So, no, I'm afraid it isn't apparent from the screenshot that the marker isn't there. The screenshot depicts samples recorded during fewer than 20 ms.

You should also check your settings when you generate the ASC from the EDF. Depending on the options chosen, not everything is output to the ASC (see the EyeLink manuals for those options).

ttyelnv
ttyelnv
Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)Associate Member (256 reputation)
Group: Forum Members
Posts: 23, Visits: 64
Thank you for your reply Dave, I will further check with Eyelink to figure out why all values are NAs.

The marker problem still hasn't been resolved. In my Inquisit script, I have something like this to specify the marker for a given trial:

<trial movie1>
/ stimulustimes = [0=text.movie_text; 4000=video.movie1, eyelink_movie1; 175000=clearscreen, biopac_reset, eyelink_reset]
/ trialduration = 175000
/ datastreams = (eyetracker)
</trial>

<port eyelink_movie1>
/port = eyetracker
/items = (11)
/ erase = false
</port>


However, in screenshot 2 in the previous post, you could see that the event marker is not there. I do get the message in my eyelink mentioning the name of the trial after the onset of the trial, but the message is in text, and seems not to appear in the asc file either. Do I need to specify the port number again in /ontrialbegin in order to have the markers being displayed? Thank you!


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search