[visionegg] Re: newby questions

Hi Andrew,

By the way - excellent work on the VisionEgg framework. I've been digging around trying to see how everything ticks and really like the intricacies of everything there (although I must admit some are a tad annoying until they're understood :-)


It's been a while since I've dealt with this, but I was bitten by this, too. What version of Python are you using? Python 2.2.x (except 2.2.1) has a known bug regarding this (SF #651701). Furthermore, exchanging pickled files (what these config files are) between different versions of Python was also troublesome for me. Finally, you may also want to try the 1.0-cvs ("bleeding edge") Vision Egg release and see if that helps -- I don't remember doing any fixes/workarounds since 0.9.9, but I can't be sure.


The problem seems to be a non-issue on Win2K w/ Python2.3 and VisionEgg1.0. The linux box (fedora core 2) is running python 2.3.3 but w/ the older VisionEgg. I'll upgrade all it's packages to see if the pickling problem goes away (I never did much like pickles anyway)


The "scratch my head" issue:

I don't have anything available right off hand... Is there a particular issue stumping you?


I've made quite a bit of progress on this since first posting, but I'm still a ways away from a solution. Asking a specific question w/o going into extreme detail will be difficult, so I'll try to outline my approach and, hopefully, you'll be able to tell me how close to the right track (or far from it) I am.
The goal is being able to control blocks of pixels on the display so I can show m-sequences and natural-scene movies. As a start, I'm trying to simply get the visual-jitter running, knowing that once I get random data to display, it'll be relatively easy to add order to it later.


For my approach, I've made a copy of one of the EPhys stimuli file pairs (TargetGUI/TargetServer), renamed them, added links to the "new" stimulus in EPhys, changed internal names as necessary to get the pair to run, and changed some GUI strings to confirm the scripts were running as expected. The "new" stimulus ran exactly as the original Target. So far, so good.

Attempting to get jitter running, I changed the make_stimulus() function to create a TexturedStimulus, using the same parameters from the dynamic checkerboard in jitter to iniatialize the stimulus object (creation of a few global variables in the new stimulus server file were necessary to do this). I modified the on_function_during_go to create some random data and called put_sub_image() on the stimulus texture object, just as was done in the jitter script. This is a hack, admittedly, but I'm not sure how else to proceed. As you're probably aware, this didn't work - at first all that was displayed was a block, the same size as the Target stimulus, centered in the middle of the screen. Removing the size components from the gui script allowed this displayed target to expand to the requested size (i.e. 192x192 - w=32*6; h=32*6), but never would the image change - it is just a black square - even though the put_sub_image function was called during each on_function_during_go call.

I don't know if it's possible, but if you or someone else is able to suggest a direction to go with this, or an area of the VisionEgg framework to study more closely to help me see what I'm doing wrong, that would be a great help.

Many thanks,
Keith

======================================
The Vision Egg mailing list
Archives: http://www.freelists.org/archives/visionegg
Website: http://www.visionegg.org/mailinglist.html

Other related posts: