PennController for IBEX › Forums › Support › Eyetracking experiment: Uploading and downloading material to server
- This topic has 18 replies, 2 voices, and was last updated 1 year, 7 months ago by Jeremy.
-
AuthorPosts
-
February 9, 2023 at 8:01 pm #9904sangheekimParticipant
Hi Jeremy,
I’m trying to set up a visual world paradigm experiment, replicating an existing code, but with different material. I’m somehow keep seeing the error message that says, “There must be some items in the running order!”. Could you help me identify where the issue is rising from? Thank you so much! Here is the demo link: https://farm.pcibex.net/r/gpKGCm/
Best,
SangheeFebruary 11, 2023 at 1:58 pm #9922JeremyKeymasterHi Sanghee,
You have a line that reads
var showProgressBar = True;
in your script, when it should bevar showProgressBar = true;
— sinceTrue
(capitalT
) refers to nothing in your script, it simply crashes on that line and fails to create the trials you define below, resulting in no items in the running orderJeremy
February 11, 2023 at 6:53 pm #9924sangheekimParticipantHi Jeremy,
Thanks so much! I no longer have the error message.
Other issues I am encountering though are that somehow the trial “PracticeSession” is not loaded even though it’s in the sequence. And the images aren’t loaded — I am using a server to upload the images and I can download the .zip file with the URL — and it’s unclear to me why. Could you help me identify where the issue is coming from? Here is the demo link: https://farm.pcibex.net/r/gpKGCm/
Best,
SangheeFebruary 12, 2023 at 5:13 pm #9925JeremyKeymasterHi Sanghee,
1. Your
Sequence
command references the label"practiceSession"
but thenewTrial
command inTemplate
labels trials"PracticeSession"
(capitalP
)2. You’re using
AddHost
in place ofPreloadZip
Jeremy
February 13, 2023 at 10:52 pm #9929sangheekimParticipantHi Jeremy,
Perfect, it works now!
If I may, I had a couple of follow-up questions regarding php. I’m reading this document about php (https://doc.pcibex.net/how-to-guides/collecting-eyetracking-data/) and I had a question about the placeholder for the URL. Do I insert the Experiment’s URL right after the colon in the php file? (like in the section below?)
<div> <form method='get' action=""> Experiment's URL: <input type="text" name="experiment"><br> <input type="submit" value="Submit"> </form> </div>
Once I change the URL above and upload the php file to the server, does this mean that I should expect a newly created folder/file that contains the data results in the server folder? Or is it the case that I should only be able to retrieve the data results only when I use this code?
ETURL = "http://files.lab.florianschwarz.net/ibexfiles/RecordingsFromIbex/EyeTracker.php?experiment="
And I’m assuming I should replace this ETURL with the Experiment’s URL I’m using?
Thanks so so much for your help in advance! Here is the demo link: https://farm.pcibex.net/r/gpKGCm/
Best,
SangheeFebruary 15, 2023 at 1:24 pm #9932JeremyKeymasterHi Sanghee,
You don’t need to edit the PHP script. The lines you posted here just create an input field for when you visit the PHP page in your browser, in which you can enter the value that will be reported in the experiment’s results file to retrieve the eye-tracking data of the corresponding participant
The PHP script will create a subfolder named after the URL of the eye-tracking experiment, and will place one file containing compressed data per participant in that subfolder; the PHP script will uncompress the data for you, either when you visit the page in your browser, or when you directly fetch the URL by passing a parameter as illustrated in the R script
You need to replace
http://files.lab.florianschwarz.net/ibexfiles/RecordingsFromIbex/EyeTracker.php
with the URL that points to your PHP script, not necessarily the experiment‘s URL: if your experiment is athttps://my.server.xyz/myproject/
but your PHP file is athttps://my.server.xyz/myscripts/EyeTracker.php
, then you should use the latter (ie.ETURL = "https://my.server.xyz/myscripts/EyeTracker.php?experiment="
)In your case, after I looked up your project’s script, you should use
ETURL = "https://mondo1.dreamhosters.com/script.php?experiment="
— also, make sure to replace the sftp path you reference inEyeTrackerURL
to use the https path I just reported here:EyeTrackerURL("https://mondo1.dreamhosters.com/script.php")
Jeremy
February 15, 2023 at 6:39 pm #9934sangheekimParticipantHi Jeremy,
Thanks so much, these work!!
As a follow-up — the data results seem to be successfully uploaded to my server, but they are somehow corrupted/unreadable (and are not in a csv format). Would you mind helping me with troubleshooting this issue? Thank you once again! Here is the demo link: https://farm.pcibex.net/r/gpKGCm/
Best,
SangheeFebruary 19, 2023 at 11:21 am #9937JeremyKeymasterHi Sanghee,
Do you mean that the data still appear compressed even after using the PHP script? The files themselves, stored on your server, contain compressed data, and the PHP script contains a decompression function, so the data should be readable once parsed by the PHP function
Jeremy
February 24, 2023 at 12:39 pm #9956sangheekimParticipantHi Jeremy,
I’m not quite sure if the files are still compressed or not, but I see that the characters inside the file seem corrupted and unreadable. One of the files I downloaded looks like this: https://www.dropbox.com/s/q8jxduug5rxga7d/840b47d0-c7e2-5d6a-bcdb-e0084731f25f?dl=0
Currently, I have the php file in folder A, and once I collect data, a new folder (folder B — named as ‘httpsfarmpcibexnet’+’UNIQUE_KEY’) is created under folder A, and results from each participant are generated under folder B. The link I shared above is the single file of a result from a single participant. (This was a test trial that I ran and so the result data won’t be so long.)
Did I put the php file in the wrong directory?
Thank you again,
Best,
SangheeMarch 1, 2023 at 8:44 am #9969JeremyKeymasterHi Sanghee,
You are supposed to either visit the PHP script in your browser (at https://mondo1.dreamhosters.com/script.php) and enter the key corresponding to a participant’s eye-tracking data that is reported in the results file (eg. something like
httpsfarmpcibexnetrgpKGCm/840b47d0-c7e2-5d6a-bcdb-e0084731f25f
) in the input box to the right of “Experiment’s URL:”, or pass that key after?experiment=
inhttps://mondo1.dreamhosters.com/script.php?experiment=httpsfarmpcibexnetrgpKGCm/840b47d0-c7e2-5d6a-bcdb-e0084731f25f
, which is the method illustrated in the R script in the how-to guideThe file at your link contains the compressed data. You need to use the PHP script to decompress it
Jeremy
March 1, 2023 at 8:06 pm #9976sangheekimParticipantHi Jeremy,
Thanks so much for this, it works!! I realized I was visiting the script in an incorrect way. Thank you for your patience and assistance!
Best,
SangheeMarch 23, 2023 at 9:53 am #10418sangheekimParticipantHi Jeremy,
I’m working on analyzing the eye-tracking data, and I was wondering if I can know the notation in the data file. I see the results are divided by the following categories: trial,times,_BottomLeft,_Ys,_BottomRight,_TopRight,_Xs,_TopLeft. Can I know what information each category contains?
In particular, I’m trying to merge the results file with the eyetracking result data, and I’m having difficulty finding what corresponds to the ‘trial’ in the eyetracking results data in the pcibex results file.
Thank you!
Best,
SangheeMarch 23, 2023 at 1:35 pm #10419JeremyKeymasterHi Sanghee,
The “times” column reports how many milliseconds elapsed between when the EyeTracker element was started, and when the data in the corresponding row were collected (which is why the value in that cell is 0 on the very first row below the header: the first eye-tracking data were collected right when the tracker was started)
The columns starting with
_
are named after the elements you added to the EyeTracker element, and report 0 or 1, depending on whether the (X,Y) coordinates that were estimated by the tracker fell within the boundaries of the corresponding element at that time pointThe “trial” column reports the PennController trial’s ID number. If you only have PennController trials in your experiment, it will correspond to the 4th column in your results file (“Item number”) — more generally, it matches the value of the 9th column (PennElementName) for the rows in the results file that report “_Trial_,Start” or “_Trial_,End”
Jeremy
March 26, 2023 at 5:58 pm #10422sangheekimParticipantHi Jeremy,
Thank you for the detailed explanation, this is really helpful!
Best,
SangheeMarch 30, 2023 at 12:07 am #10426sangheekimParticipantHi Jeremy,
I had a few questions regarding some setup.
1. Calibration
I see in the documentation that regarding the calibration process (related to this code,newEyeTracker("tracker").calibrate(70)
), it says that “if fewer than 70% of the estimated looks fall on the button during the 3s fixation time-window” (https://doc.pcibex.net/eyetracker/eyetracker-calibrate/).Is the current setup that the size of a single dot that the eye gaze has to fall into? If so, can we know how large the dot is? I wasn’t sure if the dot I see is relative to each participant’s screen size or not.
I’m trying to use a visual world paradigm, where there are four pictures on each quadrant. I’m curious if calibration process is done only on the size of the dot. Or can the calibration be done as large as the image that I’m using (“20vh”, “20vh”), and the coordinates that the four images are located?
Also, when it says, “if fewer than 70% of the estimated looks fall on the button during the 3s fixation time-window,” does this mean that the calculation for the calibration starts right after the beginning of the appearance of the dot until it disappears (i.e., 3 seconds)?
Finally, (I may have missed this information from the documentation) what is the default value for
calibrate()
?2. Sampling rate
Could I know what the sampling rate for the implemented eyetracker function?Thank you!
Best,
Sanghee- This reply was modified 1 year, 8 months ago by sangheekim.
-
AuthorPosts
- You must be logged in to reply to this topic.