Difference between revisions of "PandaEPL"

From Computational Memory Lab
Jump to: navigation, search
 
(25 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
+
PandaEPL is a cross-platform spatial navigation experiment programming library. It supersedes PyEPL's VR module, although PyEPL is still recommended for programming experiments with 2D stimuli. Technical details and sample usage are described in a methods paper on PandaEPL that is in press (as of January 2013) at ''Behavior Research Methods''. This paper may be read on the [[Publications#SolwEtal13|lab Publications page here]].
= PandaEPL =
+
 
+
PandaEPL is a cross-platform spatial navigation experiment programming library. It supersedes PyEPL's VR module, although PyEPL is still recommended for programming experiments with 2D stimuli. Technical details and sample usage are described in a forthcoming paper.  
+
  
 
At minimum, PandaEPL requires:
 
At minimum, PandaEPL requires:
* <<[[ExtLink]](http://www.python.org,Python 2.x)>>
+
* [http://www.python.org Python 2.x]
* <<[[ExtLink]](http://www.panda3d.org,Panda3D)>>
+
* [http://www.panda3d.org Panda3D]
  
Sound playback and recording are supported by interfacing with the <<[[ExtLink]](http://www.speech.kth.se/snack,tkSnack)>> library. Joystick input is supported by interfacing with <<[[ExtLink]](http://www.pygame.org,[[PyGame]])>>. Both libraries are optional and are required only if you wish to use the corresponding features.
+
On Microsoft Windows, Python is included with Panda3D. Sound playback and recording are supported by interfacing with the [http://www.speech.kth.se/snack Snack] library. Joystick input is supported by interfacing with [http://www.pygame.org PyGame]. Both libraries are optional and are required only if you wish to use the corresponding features.
  
 
== Download ==
 
== Download ==
  
After installing the above dependencies, you may download PandaEPL by clicking <<[[ExtLink]](/files/software/pandaepl/pandaepl.zip,here)>>. Installation is simple and makes use of Python's standard Distutils mechanism. From a command prompt, navigate to the unzipped directory and type:
+
After installing the above dependencies, you may download PandaEPL by clicking [http://memory.psych.upenn.edu/files/software/pandaepl/pandaepl.zip here]. Installation is simple and makes use of Python's standard Distutils mechanism. From a command prompt, navigate to the unzipped directory and type:
  
`python setup_without_activewire.py install`
+
<pre>ppython setup_without_activewire.py install</pre>
  
If you wish to use the [[ActiveWire]] card to synchronize multiple computers, and you have the appropriate drivers installed, substitute `setup_without_activewire.py` with `setup.py`.
+
On Mac OS X and Linux, precede the above command with <tt>sudo</tt>:
  
== Sample Experiment ==
+
<pre>sudo ppython setup_without_activewire.py install</pre>
  
The sample experiment outlined in the forthcoming PandaEPL paper may be downloaded by clicking <<[[ExtLink]](/files/software/pandaepl/dboyLite.zip,here)>> (~55mb). Refer to the included README file for instructions.
+
<tt>ppython</tt> points to the version of Python used by Panda3D. It is either a symbolic link or a full version of Python, depending on the platform. It is set up by the Panda3D installer.
  
== License ==
+
If you wish to use the ActiveWire card to synchronize multiple computers, and you have the appropriate drivers installed, you may substitute <tt>setup_without_activewire.py</tt> with <tt>setup.py</tt> to also install the ActiveWire interface library. The included version of the ActiveWire library is only supported on Mac OS X.
  
PandaEPL and all accompanying software is distributed under the terms of the Modified BSD License.
+
== Snack Library ==
  
Copyright (c) 2012, Michael J. Kahana.
+
We have fixed several bugs found in the latest release of the Snack library (the version currently found on the author's website). To download our lab's modified version of Snack, click [http://memory.psych.upenn.edu/files/software/pandaepl/snack_cml.zip here]. As is the case with PandaEPL and the sample experiment below, we do not provide any guarantees regarding this software.
All rights reserved.
+
  
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
== Sample Experiment ==
  
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
The sample experiment outlined in the forthcoming PandaEPL paper may be downloaded by clicking [http://memory.psych.upenn.edu/files/software/pandaepl/dboyLite.zip here] (~55mb). Refer to the included README file for instructions.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
 
* Neither the name of the University of Pennsylvania nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
== Troubleshooting ==
 +
 
 +
* If you receive an error message related to Python not finding pandac, use the command <tt>ppython</tt> instead of <tt>python</tt>. It is likely that you have more than one version of Python installed, and Panda3D is configured to work with the other version. <tt>ppython</tt> always loads the proper version of Python to use with Panda3D.
 +
 
 +
* If you are on Microsoft Windows and receive errors related to OpenGL, set Panda3D to use DirectX instead. Open [Panda3D path]\etc\Config.prc and: 1) comment out the line that reads "load-display pandagl" by adding a "#" in front of it, and 2) uncomment the line that reads "load-display pandadx8" by removing the "#".
 +
 
 +
== License ==
  
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
PandaEPL and the sample experiment are distributed under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 2.1 of the License, or (at your option) any later version.
 +
[[category:public]]

Latest revision as of 23:18, 23 January 2013

PandaEPL is a cross-platform spatial navigation experiment programming library. It supersedes PyEPL's VR module, although PyEPL is still recommended for programming experiments with 2D stimuli. Technical details and sample usage are described in a methods paper on PandaEPL that is in press (as of January 2013) at Behavior Research Methods. This paper may be read on the lab Publications page here.

At minimum, PandaEPL requires:

On Microsoft Windows, Python is included with Panda3D. Sound playback and recording are supported by interfacing with the Snack library. Joystick input is supported by interfacing with PyGame. Both libraries are optional and are required only if you wish to use the corresponding features.

Download

After installing the above dependencies, you may download PandaEPL by clicking here. Installation is simple and makes use of Python's standard Distutils mechanism. From a command prompt, navigate to the unzipped directory and type:

ppython setup_without_activewire.py install

On Mac OS X and Linux, precede the above command with sudo:

sudo ppython setup_without_activewire.py install

ppython points to the version of Python used by Panda3D. It is either a symbolic link or a full version of Python, depending on the platform. It is set up by the Panda3D installer.

If you wish to use the ActiveWire card to synchronize multiple computers, and you have the appropriate drivers installed, you may substitute setup_without_activewire.py with setup.py to also install the ActiveWire interface library. The included version of the ActiveWire library is only supported on Mac OS X.

Snack Library

We have fixed several bugs found in the latest release of the Snack library (the version currently found on the author's website). To download our lab's modified version of Snack, click here. As is the case with PandaEPL and the sample experiment below, we do not provide any guarantees regarding this software.

Sample Experiment

The sample experiment outlined in the forthcoming PandaEPL paper may be downloaded by clicking here (~55mb). Refer to the included README file for instructions.

Troubleshooting

  • If you receive an error message related to Python not finding pandac, use the command ppython instead of python. It is likely that you have more than one version of Python installed, and Panda3D is configured to work with the other version. ppython always loads the proper version of Python to use with Panda3D.
  • If you are on Microsoft Windows and receive errors related to OpenGL, set Panda3D to use DirectX instead. Open [Panda3D path]\etc\Config.prc and: 1) comment out the line that reads "load-display pandagl" by adding a "#" in front of it, and 2) uncomment the line that reads "load-display pandadx8" by removing the "#".

License

PandaEPL and the sample experiment are distributed under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 2.1 of the License, or (at your option) any later version.