unable to run project because pictures cannot be loaded


Author
Message
Jo_Wlhlm
Jo_Wlhlm
Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)
Group: Forum Members
Posts: 6, Visits: 49
Good morning,

For a research project with in which participants get presented two face stimuli at the same time I tried to implement the script. It worked until suddenly the program wasn't able to load the pictures of the faces anymore. I made sure that the script file is saved in the exact same folder than the pictures (.png) but still it is not working. Most of the time it gives the following error message: Unable to load the picture ''. Network Error: Protocol "" is unknown. 

For the project we have 4 different faces with 2 different emotions and each picture is presented upright and inverted. Together this makes 16 different picture stimuli. I tried to implement the pictures like this: 

<picture face1>
/ items = ("F1_F_1.png","I_F1_F_1.png","F1_N_1.png","I_F1_N_1.png","F2_F_1.png","I_F2_F_1.png","F2_N_1.png","I_F2_N_1.png","M1_F_1.png","I_M1_F_1.png","M1_N_1.png","I_M1_N_1.png","M2_F_1.png","I_M2_F_1.png","M2_N_1.png","I_M2_N_1.png")
/ transparentcolor = black
/ hposition = 50-(values.Hpcent_per_VD*2)
/ vposition = 50+(values.Hpcent_per_VD*15)
/ size = (values.Hpcent_per_VD*2, values.Vpcent_per_VD*2)
</picture>

<picture face2>
/ items = ("F1_F_1.png","I_F1_F_1.png","F1_N_1.png","I_F1_N_1.png","F2_F_1.png","I_F2_F_1.png","F2_N_1.png","I_F2_N_1.png","M1_F_1.png","I_M1_F_1.png","M1_N_1.png","I_M1_N_1.png","M2_F_1.png","I_M2_F_1.png","M2_N_1.png","I_M2_N_1.png")
/ transparentcolor = black
/ hposition = 50+(values.Hpcent_per_VD*2)
/ vposition = 50+(values.Hpcent_per_VD*15)
/ size = (values.Hpcent_per_VD*2, values.Vpcent_per_VD*2)
</picture>

Depending on which picture is shown as picture face1 I want to have specific faces as picture face2. We do not want all possible combinations. For each possible face1 stimuli there are 12 different possible face stimuli that can be shown as picture face2. I tried to use lists and if statements for this but here I am completely not sure about the best way to do it. My script seems to have errors in it but I am not experienced enough with Inquisit to find/ correct them. What I want is that on trial begin a random picture is presented as face1. In the if statement I want to check which face stimuli is presented as face1 and depending on this a face from a specific list is randomly chosen as face two. 

<list faces>
/ items = ("F1_F_1.png","I_F1_F_1.png","F1_N_1.png","I_F1_N_1.png","F2_F_1.png","I_F2_F_1.png","F2_N_1.png","I_F2_N_1.png","M1_F_1.png","I_M1_F_1.png","M1_N_1.png","I_M1_N_1.png","M2_F_1.png","I_M2_F_1.png","M2_N_1.png","I_M2_N_1.png")
/ selectionmode = random
/ select = replace
</list>

<list face1_UFF>
/ items = ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png","F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png","I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png")
/ selectionmode = random
/ select = replace
</list>

<list face1_IFF>
/ items = ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png","I_F1_N_1.png", "I_F2_N_1.png","I_M1_N_1.png","I_M2_N_1.png", "I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png")
/ selectionmode = random
/ select = replace
</list>

<list face1_UNF>
/ items = ("F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png","F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png","I_F1_N_1.png", "I_F2_N_1.png","I_M1_N_1.png","I_M2_N_1.png" )
/ selectionmode = random
/ select = replace
</list>

<list face1_INF>
/ items = ("I_F1_N_1.png", "I_F2_N_1.png","I_M1_N_1.png","I_M2_N_1.png","I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png","F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png")
/ selectionmode = random
/ select = replace
</list>

<trial task>
/ pretrialpause = 100
/ ontrialbegin = [picture.face1 = list.faces.nextvalue]
/ ontrialbegin = [if(picture.face1 == list.face1_UFF.items) 
{
    picture.face2 = list.face1_UFF.nextvalue
}
else if(picture.face1 == list.face1_IFF.items)
{
    picture.face2 = list.face1_IFF.nextvalue
}
else if(picture.face1 == list.face1_UNF.nextvalue)
{
    picture.face2 = list.face1_UNF.nextvalue
}
else if(picture.face1 == list.face1_INF.nextvalue)
{
    picture.face2 = list.face1_INF.nextvalue
}
]    
/ stimulustimes = [0= fixationcross; 200=face1, face2; 3200=transient; 3250=blank, face1, face2, fixationcross; 5050 =blank]
/ validresponse = (200,203,208,205)
/ beginresponsetime = 5050
/ recorddata = true
/ timeout = 6000
/ posttrialpause = 100
</trial>

I hope it is more or less understandable what I want to implement. Maybe someone finds my error or can give me some hints how to implement what I just described. Thanks in advance!  

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: 104K
Jo_Wlhlm - 5/28/2021
Good morning,

For a research project with in which participants get presented two face stimuli at the same time I tried to implement the script. It worked until suddenly the program wasn't able to load the pictures of the faces anymore. I made sure that the script file is saved in the exact same folder than the pictures (.png) but still it is not working. Most of the time it gives the following error message: Unable to load the picture ''. Network Error: Protocol "" is unknown. 

For the project we have 4 different faces with 2 different emotions and each picture is presented upright and inverted. Together this makes 16 different picture stimuli. I tried to implement the pictures like this: 

<picture face1>
/ items = ("F1_F_1.png","I_F1_F_1.png","F1_N_1.png","I_F1_N_1.png","F2_F_1.png","I_F2_F_1.png","F2_N_1.png","I_F2_N_1.png","M1_F_1.png","I_M1_F_1.png","M1_N_1.png","I_M1_N_1.png","M2_F_1.png","I_M2_F_1.png","M2_N_1.png","I_M2_N_1.png")
/ transparentcolor = black
/ hposition = 50-(values.Hpcent_per_VD*2)
/ vposition = 50+(values.Hpcent_per_VD*15)
/ size = (values.Hpcent_per_VD*2, values.Vpcent_per_VD*2)
</picture>

<picture face2>
/ items = ("F1_F_1.png","I_F1_F_1.png","F1_N_1.png","I_F1_N_1.png","F2_F_1.png","I_F2_F_1.png","F2_N_1.png","I_F2_N_1.png","M1_F_1.png","I_M1_F_1.png","M1_N_1.png","I_M1_N_1.png","M2_F_1.png","I_M2_F_1.png","M2_N_1.png","I_M2_N_1.png")
/ transparentcolor = black
/ hposition = 50+(values.Hpcent_per_VD*2)
/ vposition = 50+(values.Hpcent_per_VD*15)
/ size = (values.Hpcent_per_VD*2, values.Vpcent_per_VD*2)
</picture>

Depending on which picture is shown as picture face1 I want to have specific faces as picture face2. We do not want all possible combinations. For each possible face1 stimuli there are 12 different possible face stimuli that can be shown as picture face2. I tried to use lists and if statements for this but here I am completely not sure about the best way to do it. My script seems to have errors in it but I am not experienced enough with Inquisit to find/ correct them. What I want is that on trial begin a random picture is presented as face1. In the if statement I want to check which face stimuli is presented as face1 and depending on this a face from a specific list is randomly chosen as face two. 

<list faces>
/ items = ("F1_F_1.png","I_F1_F_1.png","F1_N_1.png","I_F1_N_1.png","F2_F_1.png","I_F2_F_1.png","F2_N_1.png","I_F2_N_1.png","M1_F_1.png","I_M1_F_1.png","M1_N_1.png","I_M1_N_1.png","M2_F_1.png","I_M2_F_1.png","M2_N_1.png","I_M2_N_1.png")
/ selectionmode = random
/ select = replace
</list>

<list face1_UFF>
/ items = ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png","F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png","I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png")
/ selectionmode = random
/ select = replace
</list>

<list face1_IFF>
/ items = ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png","I_F1_N_1.png", "I_F2_N_1.png","I_M1_N_1.png","I_M2_N_1.png", "I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png")
/ selectionmode = random
/ select = replace
</list>

<list face1_UNF>
/ items = ("F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png","F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png","I_F1_N_1.png", "I_F2_N_1.png","I_M1_N_1.png","I_M2_N_1.png" )
/ selectionmode = random
/ select = replace
</list>

<list face1_INF>
/ items = ("I_F1_N_1.png", "I_F2_N_1.png","I_M1_N_1.png","I_M2_N_1.png","I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png","F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png")
/ selectionmode = random
/ select = replace
</list>

<trial task>
/ pretrialpause = 100
/ ontrialbegin = [picture.face1 = list.faces.nextvalue]
/ ontrialbegin = [if(picture.face1 == list.face1_UFF.items) 
{
    picture.face2 = list.face1_UFF.nextvalue
}
else if(picture.face1 == list.face1_IFF.items)
{
    picture.face2 = list.face1_IFF.nextvalue
}
else if(picture.face1 == list.face1_UNF.nextvalue)
{
    picture.face2 = list.face1_UNF.nextvalue
}
else if(picture.face1 == list.face1_INF.nextvalue)
{
    picture.face2 = list.face1_INF.nextvalue
}
]    
/ stimulustimes = [0= fixationcross; 200=face1, face2; 3200=transient; 3250=blank, face1, face2, fixationcross; 5050 =blank]
/ validresponse = (200,203,208,205)
/ beginresponsetime = 5050
/ recorddata = true
/ timeout = 6000
/ posttrialpause = 100
</trial>

I hope it is more or less understandable what I want to implement. Maybe someone finds my error or can give me some hints how to implement what I just described. Thanks in advance!  

Provide the complete code (or at least something that's self-contained and complete enough to run) as well as all files required. Your question is not answerable based on isolated code snippets.

The only thing I can tell you without that is that this condition here

ontrialbegin = [if(picture.face1 == list.face1_UFF.items)

returns absolutely nothing. It's not clear what it's intended to do.
Edited 3 Years Ago by Dave
Jo_Wlhlm
Jo_Wlhlm
Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)
Group: Forum Members
Posts: 6, Visits: 49
Ok, so what I want to achieve is that two face stimuli out of 16 possible face stimuli get presented at the same time. But I don't want to have all possible combinations. The face that is presented as face1 should be selected randomly out of the 16 possibilities. Depending on which face is shown as face 1 there are only 12 possible faces that can be shown as face 2. The 16 face stimuli can be divided into 4 groups (UNF, UFF, IFF, INF) each containing 4 face stimuli. If face1 is taken from group UFF, face two should be randomly taken out of group UFF, UNF, or IFF. The four pictures of group INF shouldn't be an option in that case. The following summarizes the possibilities: 

Face1    Possible faces for face2
UFF       UFF, UNF, IFF
UNF      UNF, UFF, INF
IFF        IFF, INF, UFF
INF        INF, UNF, IFF

I tried to solve this with different lists out of which stimuli are taken and with an if statement, but it did not work. The following link contains a script that is kinda working, but does not include this specific selection of stimuli for face2: https://drive.google.com/drive/folders/1HzFZhw_5S1IBriZXb3BuLoj4DWpp24eI?usp=sharing

I hope now it is a little bit clearer what my question is. 

I'd be glad if you have a solution for my problem or some hints how to solve it. Wasted quite some time on it now. Thanks in advance!

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: 104K
Jo_Wlhlm - 5/28/2021
Ok, so what I want to achieve is that two face stimuli out of 16 possible face stimuli get presented at the same time. But I don't want to have all possible combinations. The face that is presented as face1 should be selected randomly out of the 16 possibilities. Depending on which face is shown as face 1 there are only 12 possible faces that can be shown as face 2. The 16 face stimuli can be divided into 4 groups (UNF, UFF, IFF, INF) each containing 4 face stimuli. If face1 is taken from group UFF, face two should be randomly taken out of group UFF, UNF, or IFF. The four pictures of group INF shouldn't be an option in that case. The following summarizes the possibilities: 

Face1    Possible faces for face2
UFF       UFF, UNF, IFF
UNF      UNF, UFF, INF
IFF        IFF, INF, UFF
INF        INF, UNF, IFF

I tried to solve this with different lists out of which stimuli are taken and with an if statement, but it did not work. The following link contains a script that is kinda working, but does not include this specific selection of stimuli for face2: https://drive.google.com/drive/folders/1HzFZhw_5S1IBriZXb3BuLoj4DWpp24eI?usp=sharing

I hope now it is a little bit clearer what my question is. 

I'd be glad if you have a solution for my problem or some hints how to solve it. Wasted quite some time on it now. Thanks in advance!

Which item numbers belong to which group? Also, there seems to be nothing in your description that rules out the same item being selected for both face 1 and face 2 in a single trial. Is that intentional?
Jo_Wlhlm
Jo_Wlhlm
Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)
Group: Forum Members
Posts: 6, Visits: 49
<list UFF>
/ items = ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png")
/ selectionmode = random
/ select = replace
</list>

<list IFF>
/ items = ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png")
/ selectionmode = random
/ select = replace
</list>

<list INF>
/ items = ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png")

/ selectionmode = random
/ select = replace
</list>

<list UNF>
/ items = ("F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png")
/ selectionmode = random
/ select = replace
</list>


Yes, face1 and face2 can also be the same faces. 
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: 104K
Jo_Wlhlm - 5/28/2021
<list UFF>
/ items = ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png")
/ selectionmode = random
/ select = replace
</list>

<list IFF>
/ items = ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png")
/ selectionmode = random
/ select = replace
</list>

<list INF>
/ items = ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png")

/ selectionmode = random
/ select = replace
</list>

<list UNF>
/ items = ("F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png")
/ selectionmode = random
/ select = replace
</list>


Yes, face1 and face2 can also be the same faces. 

I was asking about item numbers, not separate lists.

<list faces>
/ items = ("F1_F_1.png","I_F1_F_1.png","F1_N_1.png","I_F1_N_1.png","F2_F_1.png","I_F2_F_1.png","F2_N_1.png","I_F2_N_1.png","M1_F_1.png","I_M1_F_1.png","M1_N_1.png","I_M1_N_1.png","M2_F_1.png","I_M2_F_1.png","M2_N_1.png","I_M2_N_1.png")
/ selectionmode = random
/ select = replace
</list>

Which of the item numbers in the above are UFF, which are UNF, which are IFF, which are INF?


Jo_Wlhlm
Jo_Wlhlm
Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)
Group: Forum Members
Posts: 6, Visits: 49
item numbers 1,5,9,,13 are UFF       ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png")
numbers 2,6,10,14 are IFF                ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png")
numbers 3,7,11,15 are UNF               ("F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png")
numbers 4,8,12,16 are INF                ("I_F1_N_1.png","I_F2_N_1.png","I_M1_N_1.png","I_M2_N_1.png")

I hope that's what you meant! 

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: 104K
Jo_Wlhlm - 5/28/2021
item numbers 1,5,9,,13 are UFF       ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png")
numbers 2,6,10,14 are IFF                ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png")
numbers 3,7,11,15 are UNF               ("F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png")
numbers 4,8,12,16 are INF                ("I_F1_N_1.png","I_F2_N_1.png","I_M1_N_1.png","I_M2_N_1.png")

I hope that's what you meant! 

Take a look at the attached.
Attachments
Backup_plan.iqx (275 views, 6.00 KB)
Jo_Wlhlm
Jo_Wlhlm
Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)Associate Member (91 reputation)
Group: Forum Members
Posts: 6, Visits: 49
Thank you so much! It is working. I was wondering if there is a simple way in this script to balance the occurrence of the different combinations of face stimuli in such a way that each group combination occurs 18 times but still in a random order. 

18* UFF - UFF
18* UFF - IFF
18* UFF - UNF

18* IFF - IFF
18* IFF - INF
18* IFF - UFF

18* INF - INF
18* INF - UNF
18* INF - IFF

18* UNF - UNF
18* UNF - INF
18* UNF - UFF

I would then end up with my 216 task trials. The only thing that is important is a balanced group combination. For now it dosen't matter which face stimuli of the groups are presented together.
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: 104K
Jo_Wlhlm - 5/29/2021
Thank you so much! It is working. I was wondering if there is a simple way in this script to balance the occurrence of the different combinations of face stimuli in such a way that each group combination occurs 18 times but still in a random order. 

18* UFF - UFF
18* UFF - IFF
18* UFF - UNF

18* IFF - IFF
18* IFF - INF
18* IFF - UFF

18* INF - INF
18* INF - UNF
18* INF - IFF

18* UNF - UNF
18* UNF - INF
18* UNF - UFF

I would then end up with my 216 task trials. The only thing that is important is a balanced group combination. For now it dosen't matter which face stimuli of the groups are presented together.

You should have mentioned this before. No, there is no easy way. First, you'll have to go back having separate lists, specifically you'll need four lists -- UFF, UNF, IFF, INF -- each containing the item numbers for the respective condition. Then you need two lists pairing your conditions as desired (i.e. 18 x the combination UFF-UFF, 18 x the combination UFF-IFF, etc.). At the start of each trial, sample the condition combination from those two paired lists. Then sample item numbers for face 1 and face 2 from the applicable one or two of the four item number lists (UFF, UNF, IFF, INF) accordingly.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search