Holcombe:FahedProject: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
* Moving dot patch gives 17 ms interframe times but only on old Kuna laptop, not on newer white MacBook
* Moving dot patch gives 17 ms interframe times but only on old Kuna laptop, not on newer white MacBook
* setText apparently takes a lot of time, dozens of msec (debugText.setText)
* setText apparently takes a lot of time, dozens of msec (debugText.setText)
==Changes made to visual.py and misc.py ==
In misc.py:
* the following code has been inserted above the line that imports image and cPickle:
<code>def ObjectArray(inputSeq):
    return numpy.array(inputSeq, 'O')</code>
* and the function attribute "numpy.array"has been added to the line defining the variable cmSize in the definition of the function 'deg2pix' to yield:
<code>cmSize = deg2cm(numpy.array(degrees), monitor)</code>
In visual.py:
*The following code has been added above the 'def setVertices' line to allow us to set the contrast, and colour of the fill and lines within shapestim:
<code>
    def setFillRGB(self,value,operation=None): #expects three values
        if type(value) in [tuple,list]:
            value=numpy.asarray(value,float)       
        self.fillRGB=numpy.array(value, float)
        #print 'fillRGB type=',type(self.fillRGB),' =',self.fillRGB,'whereas value wanted to assign=',value,
        #print ' and self =',self
    def setLineRGB(self,value,operation=None): #expects three values
        if type(value) in [tuple,list]:
            value=numpy.asarray(value,float)       
        self.lineRGB=numpy.array(value, float)
        #print 'lineRGB type=',type(self.lineRGB),' =',self.lineRGB,'whereas value wanted to assign=',value,
        #print ' and self =',self       
        #if we don't have shaders we need to rebuild the texture
        #if not self._useShaders:
        #    self.setTex(self._texName)
    def setFillContrast(self,value): #THIS DOESN'T WORK
      self.contrast = value
      desiredRGB = (self.fillRGB*self.contrast+1)/2.0#RGB in range 0:1 and scaled for contrast
      #print 'desiredRGB type=',type(desiredRGB),' =',desiredRGB
      if numpy.any(desiredRGB**2.0>1.0): #if outside -1,1 range, then
          desiredRGB=numpy.array([0.6,0.6,0.4]) #set to arbitrary val
      self.setFillRGB(value=desiredRGB)    #self is understood
</code>

Latest revision as of 20:15, 18 June 2009

Recent members

Alex Holcombe
• Ryo Nakayama



Technical

Skills Checklist
Python Programming
Psychopy/VisionEgg Installation Notes
R analysis,plot,stats
Statistics
Buttonbox
Buttonbox with photocell
Programming Cheat Sheets


  • Moving dot patch gives 17 ms interframe times but only on old Kuna laptop, not on newer white MacBook
  • setText apparently takes a lot of time, dozens of msec (debugText.setText)

Changes made to visual.py and misc.py

In misc.py:

  • the following code has been inserted above the line that imports image and cPickle:

def ObjectArray(inputSeq):

   return numpy.array(inputSeq, 'O')
  • and the function attribute "numpy.array"has been added to the line defining the variable cmSize in the definition of the function 'deg2pix' to yield:

cmSize = deg2cm(numpy.array(degrees), monitor)

In visual.py:

  • The following code has been added above the 'def setVertices' line to allow us to set the contrast, and colour of the fill and lines within shapestim:

   def setFillRGB(self,value,operation=None): #expects three values 
       if type(value) in [tuple,list]:
           value=numpy.asarray(value,float)        
       self.fillRGB=numpy.array(value, float)
       #print 'fillRGB type=',type(self.fillRGB),' =',self.fillRGB,'whereas value wanted to assign=',value,
       #print ' and self =',self
   def setLineRGB(self,value,operation=None): #expects three values 
       if type(value) in [tuple,list]:
           value=numpy.asarray(value,float)        
       self.lineRGB=numpy.array(value, float)
       #print 'lineRGB type=',type(self.lineRGB),' =',self.lineRGB,'whereas value wanted to assign=',value,
       #print ' and self =',self        
       #if we don't have shaders we need to rebuild the texture
       #if not self._useShaders:
       #    self.setTex(self._texName)
   def setFillContrast(self,value): #THIS DOESN'T WORK
      self.contrast = value 
      desiredRGB = (self.fillRGB*self.contrast+1)/2.0#RGB in range 0:1 and scaled for contrast
      #print 'desiredRGB type=',type(desiredRGB),' =',desiredRGB
      if numpy.any(desiredRGB**2.0>1.0): #if outside -1,1 range, then
          desiredRGB=numpy.array([0.6,0.6,0.4]) #set to arbitrary val
      self.setFillRGB(value=desiredRGB)    #self is understood