[visionegg] Re: Vision Egg Vision
- From: Andrew Straw <astraw@xxxxxxxxxxx>
- To: visionegg@xxxxxxxxxxxxx, simeon@xxxxxxxxxxx
- Date: Wed, 3 Aug 2005 09:47:21 +0200
Hi Simeon,
Thanks for your interest in the Vision Egg. I'm also sending my reply
to the Vision Egg list, where I hope others will have useful things to
say.
My vision for the Vision Egg includes the following:
* simple things should be easy, complex things should be possible
* open source now and forever (LGPL licensed)
* to be mostly platform independent, yet take advantage of
platform-specific features where possible
* to be a well-behaved and useful library (and not an attempt at an
integrated application)
* to foster a helpful community that recycles knowledge and code
rather than constantly reinventing the wheel
* (due to the last point, please insert the visions of others here)
Although I am still developing the Vision Egg a bit here and there, I
consider its core functionality largely mature. I'd like to finally
release a 1.0 version once I finally get around to clearing up some
unresolved questions in my mind about latencies in graphics
cards/drivers/displays (although these are not inherently intrinsic to
the Vision Egg).
The underpinnings of the various programs you mention (PsychToolbox,
Vision Egg, PsychoPy) are, to my knowledge, all the same -- OpenGL on
commodity operating systems on commodity computers. Therefore, the
choice to use one or the other is probably a matter of personal taste
or constraints such as integrating with pre-existing environments
rather than fundamental design issues. I don't forsee any show-stopping
gotchas with any system. On the other hand, I remember problems in the
early days of the PsychToolbox on OS X due to MATLAB's reliance on the
longjmp command which caused long latencies at intermittent intervals.
Although I think the MathWorks did fix the issue after some weeks or
months, it proved to be difficult to track down for the PsychToolbox
crew. It surely would have been easier for them if they had access to
the source code for MATLAB, as we do for Python.
In terms of drawing 2D elements like what might be available in the
MacOS Carbon API, there is currently only code in the Vision Egg for
rectangles, circles, and arrows, but you could implement such elements
by using OpenGL drawing commands (or pygame surface drawing commands).
I would be happy to integrate such additions into the VE.
I am certainly not the right person to ask about how easy it is for
novices to become useful with the Vision Egg! Although this has been a
design goal of mine (see
http://www.visionegg.org/moin.cgi/Documentation/Tutorial ), I'm far too
biased to be reliable. I ask others to send reports to the mailing
list. Hopefully we can address issues that come up, and any success
stories would be nice, too.
I encourage code submissions and try to review them rapidly. See
http://www.visionegg.org/moin.cgi/Miscellaneous/CreditsAndThanks a list
of contributions to date. Recently, Tony Arkles has raised awareness
that we were using the GL_PROJECTION matrix in a non-ideal manner, so I
released a trial implementation correcting the problem within a day or
two (which Tony has recently approved and no one else objected to), so
as soon as I get time, I'll update the CVS version of the VE and the
credits webpage, hopefully within the next 2 weeks. Also, I'd be more
than happy to give others CVS access if requested and it's clear that
they have a record of consistent, quality contributions. I'd like any
submissions to be as consistent as possible with what is already
present in the Vision Egg. Reading the documentation (including
docstrings) should hopefully give an idea about the preferred behavior
of code. Asking on the mailing list should resolve any further
questions.
In terms of future improvements, one possibility is to move the draw()
method of stimuli to Pyrex using the C OpenGL API, which would
presumably speed up drawing significantly. Of course, I would
benchmark first to ensure that there is actually a gain. Other
frequently used functions and methods could be similarly optimized. I
used to harbor ideas of incorporating libraries for complex 3D
rendering, but I think the best strategy now is just to ensure that the
Vision Egg plays well with others.
I think it's worth emphasizing, however, that these are just my ideas,
and I would like the Vision Egg to become more of a community effort. I
recently migrated the website to a wiki to encourage this direction and
hopefully offload some work from myself.
I hope this gives you some idea of my thoughts and answers your
questions. Please feel free to respond (preferably directly to the VE
mailing list).
Cheers!
Andrew
On Aug 2, 2005, at 3:01 PM, Simeon Fitch wrote:
Andrew,
I recently posted a query
(http://groups.yahoo.com/group/psychtoolbox/message/3687) to the
PsychToolbox mailing list, which you may have already seen, on the
strengths and weaknesses of PsychToolbox compared to Vision Egg and
PsychoPy. I'm hoping you might have a moment to address some specific
questions I have about Vision Egg and your "vision" for it.
As stated in my mailing list email, we are currently developing
experiments in C using the MacOS Carbon API, and are looking to
transition to an easier-to-use toolkit. We find the wide use and
maturity of PsychToolbox compelling, but are very concerned with its
reliance on MATLAB, both due to its proprietary nature as well as the
deficiencies inherent in the language. Python has been used in our lab
before, and we find it a very attractive platform to commit to,
particularly given the available OpenGL bindings and other libraries.
I have received positive feedback (off-list) on Vision Egg, and am
leaning toward recommending we use it, but am interested in knowing:
1) What is your vision for the toolkit? What features would like to
see added to it?
2) Are you interested in third-party contributions? Do you have the
resources to review submissions and include them in the toolkit if
deemed useful? Do you have any design guidelines and architectural
approaches you like followed?
3) The author of PsychoPy emphasized to me how easy it is for his kit
to be used by novices. Do you have any anecdotal impression of how
quickly people have been able to wrap their heads around Vision Egg
and put it to use?
As additional background, our long term goals are to shorten our
experiment development time and increase ease-of-use. We are
considering writing a grant proposal to support our efforts, and want
the fruits of our efforts available to others if there is interest.
Again, I appreciate your time.
Best,
Simeon Fitch
--
Simeon H.K. Fitch, Owner
Mustard Seed Software
http://www.mseedsoft.com/
======================================
The Vision Egg mailing list
Archives: http://www.freelists.org/archives/visionegg
Website: http://www.visionegg.org/mailinglist.html
- Follow-Ups:
- [visionegg] Re: Vision Egg Vision
- From: Alex Holcombe
Other related posts:
- » [visionegg] Re: Vision Egg Vision
- » [visionegg] Re: Vision Egg Vision
- » [visionegg] Re: Vision Egg Vision
Andrew,
I recently posted a query (http://groups.yahoo.com/group/psychtoolbox/message/3687) to the PsychToolbox mailing list, which you may have already seen, on the strengths and weaknesses of PsychToolbox compared to Vision Egg and PsychoPy. I'm hoping you might have a moment to address some specific questions I have about Vision Egg and your "vision" for it.
As stated in my mailing list email, we are currently developing experiments in C using the MacOS Carbon API, and are looking to transition to an easier-to-use toolkit. We find the wide use and maturity of PsychToolbox compelling, but are very concerned with its reliance on MATLAB, both due to its proprietary nature as well as the deficiencies inherent in the language. Python has been used in our lab before, and we find it a very attractive platform to commit to, particularly given the available OpenGL bindings and other libraries.
I have received positive feedback (off-list) on Vision Egg, and am leaning toward recommending we use it, but am interested in knowing:
1) What is your vision for the toolkit? What features would like to see added to it? 2) Are you interested in third-party contributions? Do you have the resources to review submissions and include them in the toolkit if deemed useful? Do you have any design guidelines and architectural approaches you like followed? 3) The author of PsychoPy emphasized to me how easy it is for his kit to be used by novices. Do you have any anecdotal impression of how quickly people have been able to wrap their heads around Vision Egg and put it to use?
As additional background, our long term goals are to shorten our experiment development time and increase ease-of-use. We are considering writing a grant proposal to support our efforts, and want the fruits of our efforts available to others if there is interest.
Again, I appreciate your time.
Best,
Simeon Fitch -- Simeon H.K. Fitch, Owner Mustard Seed Software http://www.mseedsoft.com/
- [visionegg] Re: Vision Egg Vision
- From: Alex Holcombe