Hi-res Builder Icons, & Schema

137 views
Skip to first unread message

Erik Kastman

unread,
Apr 22, 2013, 8:22:36 PM4/22/13
to psycho...@googlegroups.com
Hey folks,

I'm putting together a short-course on PsychoPy for our extended research family, and have a few questions:

1) Does anyone have higher-resolution images of the builder component icons than what's distributed? 48x48 is fine for on-screen, but looks a little grainy in the middle of a presentation.

2) In circulating early versions of the class, I got a request for an xsd for builder .psyexp files:

> "Just out of curiosity, is there a schema for PsychoPy Routine XML files? Perhaps so that someone could potentially import PsychoPy Routines into another stimulus display package?"

Do you have anything like that? It's an interesting take on it. I don't know much about xml, but I thought that to be valid the xml root had to list a namespace to be used for validation. This is obviously a lot of work for little (if any) gain, but it's a good question.

Thanks, and sorry to have been so quiet lately.

Best,
Erik

Jeremy Gray

unread,
Apr 22, 2013, 9:23:39 PM4/22/13
to psycho...@googlegroups.com
Hey Erik,

Good to hear from you. Sounds like an interesting presentation / mini-course.

1) There are a few larger icons in the crystal icons set (mouse attached, and one that is sort of close to sound), but not all of them are from there. Some are only 48x48.

2) No clue.

--Jeremy

Inline image 2Inline image 1



--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



image.png
image.png

Erik Kastman

unread,
Apr 22, 2013, 11:18:02 PM4/22/13
to psycho...@googlegroups.com
Thanks Jeremy,

I think I've found all the icons that I need (dragging an image file into google image search *still* amazes me, in addition to looking up the crystal set). 

The more I think about an XSD, the more powerful it seems (akin to your old open behavioral format). But again, it also seems like a lot of work. And given the complexities of python code arbitrarily and necessarily included in the experiments, the more difficult it would be. Still, it's worth considering for simple experiments - imagine writing one experiment, and running it through both psychopy and javascript/mechanical turk… Guess those are just pipe dreams, but still.

I'll put up the course notes when they're finished, in case anyone's interested. Cheers,

Erik




On Apr 22, 2013, at 9:23 PM, Jeremy Gray <jrg...@gmail.com> wrote:

Hey Erik,

Good to hear from you. Sounds like an interesting presentation / mini-course.

1) There are a few larger icons in the crystal icons set (mouse attached, and one that is sort of close to sound), but not all of them are from there. Some are only 48x48.

2) No clue.

--Jeremy

<image.png><image.png>

Jonathan Peirce

unread,
Apr 23, 2013, 4:26:21 AM4/23/13
to psycho...@googlegroups.com
I did have exactly the thoughts, that the psyexp file format could specify the design of an experiment quite independently of the engine that was used to generate stimuli (e.g. if you wrote a backend that generated matlab code from the psyexp representation then you could use Builder to generate Psychtoolbox code!)

The description of the format (written quite a while ago but I don't *think* it's changed substantially) is here:
��� http://www.psychopy.org/psyexp.html

I don't really know what XSD is. Does it require the current documents to change, or just provide some sort of template for them?

best wishes,
Jon


On 23/04/2013 04:18, Erik Kastman wrote:
Thanks Jeremy,

I think I've found all the icons that I need (dragging an image file into google image search *still* amazes me, in addition to looking up the crystal set).�

The more I think about an XSD, the more powerful it seems (akin to your old open behavioral format). But again, it also seems like a lot of work. And given the complexities of python code arbitrarily and necessarily included in the experiments, the more difficult it would be. Still, it's worth considering for simple experiments - imagine writing one experiment, and running it through both psychopy and javascript/mechanical turk� Guess those are just pipe dreams, but still.

I'll put up the course notes when they're finished, in case anyone's interested. Cheers,

Erik



On Apr 22, 2013, at 9:23 PM, Jeremy Gray <jrg...@gmail.com> wrote:

Hey Erik,

Good to hear from you. Sounds like an interesting presentation / mini-course.

1) There are a few larger icons in the crystal icons set (mouse attached, and one that is sort of close to sound), but not all of them are from there. Some are only 48x48.

2) No clue.

--Jeremy

<image.png><image.png>
On Mon, Apr 22, 2013 at 8:22 PM, Erik Kastman <erik.k...@gmail.com> wrote:
Hey folks,

I'm putting together a short-course on PsychoPy for our extended research family, and have a few questions:

1) Does anyone have higher-resolution images of the builder component icons than what's distributed? 48x48 is fine for on-screen, but looks a little grainy in the middle of a presentation.

2) In circulating early versions of the class, I got a request for an xsd for builder .psyexp files:

> "Just out of curiosity, is there a schema for PsychoPy Routine XML files? Perhaps so that someone could potentially import PsychoPy Routines into another stimulus display package?"

Do you have anything like that? It's an interesting take on it. �I don't know much about xml, but I thought that to be valid the xml root had to list a namespace to be used for validation. This is obviously a lot of work for little (if any) gain, but it's a good question.


Thanks, and sorry to have been so quiet lately.

Best,
Erik

--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
�
�

--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
�
�

-- 
Jonathan Peirce
Nottingham Visual Neuroscience

http://www.peirce.org.uk/

Erik Kastman

unread,
Apr 23, 2013, 12:09:50 PM4/23/13
to psycho...@googlegroups.com
An XSD (xml schema definition) is an extra xml document that you can use to validate other xml; you can also think of it loosely as a specification of what's valid and what's not. If anyone wanted to build another engine that could run experiments generated with the builder, (or build another psyexp builder not in wx) they'd want an xsd so that everyone could agree on what elements are required, etc. (Do you have to provide a monitor in settings? Is there any limit to loops?). I'm not suggesting it's a great idea to split development energy like that, just providing an example for what an xsd would be useful for.

The only change I can see in the psyexp xml would be adding a link to the right xsd to use for each experiment version. In addition to (or instead of) of an experiment version attribute (like  "version='1.50.04'"), you'd add a schemaLocation attribute pointing to an xsd for the correct version (like schemaLocation="http://www.psychopy.org/schemas v1.50.04.xsd").

For current purposes, the description of the builder xml at your link is more than enough info about the xml - there's no need to code it out in as a machine-readable xsd for now. 

Erik

On Apr 23, 2013, at 4:26 AM, Jonathan Peirce <jon.p...@gmail.com> wrote:

I did have exactly the thoughts, that the psyexp file format could specify the design of an experiment quite independently of the engine that was used to generate stimuli (e.g. if you wrote a backend that generated matlab code from the psyexp representation then you could use Builder to generate Psychtoolbox code!)

The description of the format (written quite a while ago but I don't *think* it's changed substantially) is here:
    http://www.psychopy.org/psyexp.html

I don't really know what XSD is. Does it require the current documents to change, or just provide some sort of template for them?

best wishes,
Jon

On 23/04/2013 04:18, Erik Kastman wrote:
Thanks Jeremy,

I think I've found all the icons that I need (dragging an image file into google image search *still* amazes me, in addition to looking up the crystal set). 

The more I think about an XSD, the more powerful it seems (akin to your old open behavioral format). But again, it also seems like a lot of work. And given the complexities of python code arbitrarily and necessarily included in the experiments, the more difficult it would be. Still, it's worth considering for simple experiments - imagine writing one experiment, and running it through both psychopy and javascript/mechanical turk… Guess those are just pipe dreams, but still.

I'll put up the course notes when they're finished, in case anyone's interested. Cheers,

Erik



On Apr 22, 2013, at 9:23 PM, Jeremy Gray <jrg...@gmail.com> wrote:

Hey Erik,

Good to hear from you. Sounds like an interesting presentation / mini-course.

1) There are a few larger icons in the crystal icons set (mouse attached, and one that is sort of close to sound), but not all of them are from there. Some are only 48x48.

2) No clue.

--Jeremy

<image.png><image.png>
On Mon, Apr 22, 2013 at 8:22 PM, Erik Kastman <erik.k...@gmail.com> wrote:
Hey folks,

I'm putting together a short-course on PsychoPy for our extended research family, and have a few questions:

1) Does anyone have higher-resolution images of the builder component icons than what's distributed? 48x48 is fine for on-screen, but looks a little grainy in the middle of a presentation.

2) In circulating early versions of the class, I got a request for an xsd for builder .psyexp files:

> "Just out of curiosity, is there a schema for PsychoPy Routine XML files? Perhaps so that someone could potentially import PsychoPy Routines into another stimulus display package?"

Do you have anything like that? It's an interesting take on it.  I don't know much about xml, but I thought that to be valid the xml root had to list a namespace to be used for validation. This is obviously a lot of work for little (if any) gain, but it's a good question.


Thanks, and sorry to have been so quiet lately.

Best,
Erik

--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

-- 
Jonathan Peirce
Nottingham Visual Neuroscience

http://www.peirce.org.uk/

Jonathan Peirce

unread,
Apr 24, 2013, 6:21:18 AM4/24/13
to psycho...@googlegroups.com
OK, thanks for the info. I'll leave it for now and I've added a link to psyexp page pointing to this suggestion (rather than creating further github 'issues' that are not going to be completed anytime soon).

Jon


On 23/04/2013 17:09, Erik Kastman wrote:
An XSD (xml schema definition) is an extra xml document that you can use to validate other xml; you can also think of it loosely as a specification of what's valid and what's not. If anyone wanted to build another engine that could run experiments generated with the builder, (or build another psyexp builder not in wx) they'd want an xsd so that everyone could agree on what elements are required, etc. (Do you have to provide a monitor in settings? Is there any limit to loops?). I'm not suggesting it's a great idea to split development energy like that, just providing an example for what an xsd would be useful for.

The only change I can see in the psyexp xml would be adding a link to the right xsd to use for each experiment version. In addition to (or instead of) of an experiment version attribute (like �"version='1.50.04'"), you'd add a schemaLocation attribute pointing to an xsd for the correct version (like schemaLocation="http://www.psychopy.org/schemas v1.50.04.xsd").

For current purposes, the description of the builder xml at your link is more than enough info about the xml - there's no need to code it out in as a machine-readable xsd for now.�

Erik

On Apr 23, 2013, at 4:26 AM, Jonathan Peirce <jon.p...@gmail.com> wrote:

I did have exactly the thoughts, that the psyexp file format could specify the design of an experiment quite independently of the engine that was used to generate stimuli (e.g. if you wrote a backend that generated matlab code from the psyexp representation then you could use Builder to generate Psychtoolbox code!)

The description of the format (written quite a while ago but I don't *think* it's changed substantially) is here:


I don't really know what XSD is. Does it require the current documents to change, or just provide some sort of template for them?

best wishes,
Jon

On 23/04/2013 04:18, Erik Kastman wrote:
Thanks Jeremy,

I think I've found all the icons that I need (dragging an image file into google image search *still* amazes me, in addition to looking up the crystal set).�

The more I think about an XSD, the more powerful it seems (akin to your old open behavioral format). But again, it also seems like a lot of work. And given the complexities of python code arbitrarily and necessarily included in the experiments, the more difficult it would be. Still, it's worth considering for simple experiments - imagine writing one experiment, and running it through both psychopy and javascript/mechanical turk� Guess those are just pipe dreams, but still.

I'll put up the course notes when they're finished, in case anyone's interested. Cheers,

Erik



On Apr 22, 2013, at 9:23 PM, Jeremy Gray <jrg...@gmail.com> wrote:

Hey Erik,

Good to hear from you. Sounds like an interesting presentation / mini-course.

1) There are a few larger icons in the crystal icons set (mouse attached, and one that is sort of close to sound), but not all of them are from there. Some are only 48x48.

2) No clue.

--Jeremy

<image.png><image.png>
On Mon, Apr 22, 2013 at 8:22 PM, Erik Kastman <erik.k...@gmail.com> wrote:
Hey folks,

I'm putting together a short-course on PsychoPy for our extended research family, and have a few questions:

1) Does anyone have higher-resolution images of the builder component icons than what's distributed? 48x48 is fine for on-screen, but looks a little grainy in the middle of a presentation.

2) In circulating early versions of the class, I got a request for an xsd for builder .psyexp files:

> "Just out of curiosity, is there a schema for PsychoPy Routine XML files? Perhaps so that someone could potentially import PsychoPy Routines into another stimulus display package?"

Do you have anything like that? It's an interesting take on it. �I don't know much about xml, but I thought that to be valid the xml root had to list a namespace to be used for validation. This is obviously a lot of work for little (if any) gain, but it's a good question.


Thanks, and sorry to have been so quiet lately.

Best,
Erik

--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
�
�

--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
�
�

-- 
Jonathan Peirce
Nottingham Visual Neuroscience

http://www.peirce.org.uk/

--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
�
�

--
You received this message because you are subscribed to the Google Groups "psychopy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psychopy-dev...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
�
�

Sol Simpson

unread,
Apr 26, 2013, 8:51:40 AM4/26/13
to psycho...@googlegroups.com
I also love this idea. Another benefit of using an xsd representation is that some XML editors can create example XML files based on the XSD that adhere to all the rules etc. represented by the XSD, so you can use the XSD to automatically create XML test instances of what it represents (in this case an experiment) and run the created xml to test how complete and 'accurate' the XSD itself is. Very cool actually.

When I first left SRR I spent a month or so working on an .xsd file set for defining an experiment, the devices an experiment could use, and the 'events' and 'actions' that could be used to make up the experiment states and flow from one state to another. The idea was it could be used so an experiment could be run via a HTML5 compliant web browser (running javascript) or via a standard desktop using the psychopy API. For visual stim, I also created a xsd that represented almost the full Processing API, with the idea that when running in the browser jsProcessing code could be generated from it while when running on the desktop psychopy visual API could be used, or possibly in combination with the pyProcessing lib as well (since it uses pyglet like psychopy does).

I dropped working on this when I got into the Common Eye Tracker Interface which turned into ioHub, so it is not complete and totally untested. 

If anyone thinks it would be worthwhile to have the xsd files as they were left just for reference purposes, let me know and I can send them or post them wherever ideas around this suggestion are being stored.

Also a question: Does anyone know if the OpenSesame GUI front end that uses a couple different backends, including psychopy, use XML as the experiment definition layer that then emits different python code depending on which backend is being used? If so, it would seem that project may have made progress in this general direction as well.

Thanks,

Sol
Reply all
Reply to author
Forward
0 new messages