Releases: expyriment/expyriment
Expyriment 0.11.0.dev1
Install with:
python -m pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple --pre expyriment
Expyriment 0.10.0
Oct 2019
For installation instructions, please see https://docs.expyriment.org/Installation.html!
New Features:
- Expyriment windows with no frame; set
control.defaults.window_no_frame=True
before initializing - download plugins from stash:
misc.download_from_stash
stimuli.Shape
: A vertex list can be added when creating a shape object
using the optionalvertex_list
parameter- all visual stimuli now have
get_surface_array
&set_surface_array
methods for direct pixel manipulations with numpy - all visual stimuli have a getter and setter for the position in polar
coordinates:polar_coordiante
cartesian2polar
&polar2cartesian
inmisc.geometry
design
: trials, blocks and experiment objects have the method
has_factor
to check if a factor is defined- after installation the command line interface will be available from the
system commandexpyriment
io.TextInput
can now optionally how text right-to-leftio.SerialPort
has a new methodsend_line
- geometry module has convenience functions for predefined geometrical
shapes used for plotting withstimuli.Shape
geometry.lines_intersection_point
calculates interscetion point of two
linesstimuli.Line
is internally based onstimuli.Shape
and has the new
methodsget_shape
andget_connected_shape
- new function
misc.round
, implementing the old Python 2 rounding behaviour io.keyboard.check
now has an argumentcheck_for_keyup
which will
check for keyup events instead of keydown events- new class
misc.Colour
: create colours by names, Hex strings or RGB values;
the class can also handle HSV, HSL values; themisc.HSVColour
class is
thus obsolete misc.data.preprocessing
can handle glob wildcard pattern
Changed:
- Python's
time.perf_counter
function will be used as high-precision timer
if it exists (that is, for Python 3.3+) - major rewrite of
stimuli.Shape
with several bug fixes; e.g. shapes have no
line_width
,contour_colour
is renamed todebug_contour_colour
,
Shape.rect
is now apygame.Rect
; see improved documentation extras
- extras need to be explicitly imported
- extras and plugins are not anymore part of expyriment package and can
be instead downloaded from the Expyriment stash (see
misc.download_from_stash
) - all installed extras will be installed in the local settings folder
(typically.expyriment
in the $HOME directory)
- the option
ascii_fiter
inio.TextInput
has been renamed to
character_filter
frequence_table
inmisc.statistics
has been renamed to
frequency_table
points_to_vertices
inmisc.geometry
has been renamed to
points2vertices
position2coordinate
inmisc.geometry
has been renamed to
position2coordinates
position2coordinates
&coordinates2position
have a new optional
argument to calculate positions relative to a surfacesstimuli.Circle
:get_polar_coordiantes
&set_polar_coordiantes
are
obsolete; usepolar_position
design
:Trial().get_factor
,Block().get_factor
and
Experiment().get_bws_factor
now raise an exception if the factor is not
defined; this can be suppressed by using the parameter
return_none_if_not_defined
misc.geometry.points2vertices
requires now a list ofmisc.XYPoints
and
not a list of tuples; (usemisc.geometry.tuples2points
to adapt old code)stimuli.Video
: attempting to downloaded a missing ffmpeg binary only when
initializing a Video stimulus with the "mediadecoder" backendio.Mouse
: quit events will now be controlled via the method
Mouse.set_quit_corner_location
; the class properties
quit_rect_location
andquit_rect_size
are obsolete- logging of visual stimuli
present
method now after screen update
Fixed:
- Adding field bug in
io.TouchscreenButtonBox
- 1-pixel bug when converting Expyriment positions to screen (Pygame)
positions:position2coordinate
&coordinate2position
- control:
auto_create_subject_id
takes now also existing event files into
account io.SerialPort
bug with Python 3- script path is added to $PYTHONPATH
- representation lists in output CSV files
- bug in
io.Keyboard.wait
- bug when drawing textures to screen (OpenGL) leading to 1-pixel inaccuracies
- bug in
stimuli.Ellipse
with unevenline_width
argument io.TextIput
: argumentbackground_stimulus
now takes all Expyriment
stimulimisc.get_system_info()
usesPIL.__version__
io.TextMenu
mouse wheel scrolling
Expyriment 0.9.1b2
This is a beta release and for testing purposes only!
Installation
This beta version of Expyriment can be installed from the PyPi test repository:
pip install --index-url https://test.pypi.org/simple expyriment[all]==0.9.1b2 --upgrade
Ommit [all] to install without additional packages (i.e. numpy, pyserial, pyparallel, mediadecoder, sounddevice, requests).
Use pip3
for Python 3.
Changes
New Features:
- Expyriment windows with no frame; set default.window_no_frame=True before
initialize - download plugins from stash: misc.download_from_stash()
- stimuli.Shape: A vertex list can be added when creating a shape object
using the optional vertex_list parameter - visual.get_surface_array & set_surface_arry for direct pixel manipulations
with numpy - all visual stimuli have a getter and setter for the position in polar
coordinates: polar_coordiante - cartesian2polar & polar2cartesian in misc.geometry
- trials, blocks and experiment have the method has_factor() to check if a
factor is defined - after installation the command line interface will be available from the
system command 'expyriment' - io.TextInput can now optionally how text right-to-left
- io.SerialPort has a new method send_line
Changed:
- extras
- extras need to be explicitly imported
- extras and plugins are not anymore part of expyriment package and can
be instead downloaded from the Expyriment stash (see
misc.download_from_stash()) - All installed extras will be installed in the local settings folder
(typically .expyriment of the $HOME directory)
- the option ascii_fiter in io.TextInput has been renamed to character_filter
- frequence_table in misc.statistics has been renamed to frequency_table
- points_to_vertices in misc.geometry has been renamed to points2vertices
- position2coordinate in misc.geometry has been renamed to
position2coordinates - position2coordinates & coordinates2position have a new optional argument to
calculate positions relative to a surfaces - Circle.get_polar_coordiantes & Circle.set_polar_coordiantes are obsolete
use circle.polar_position - trial.get_factor, block.get_factor, experiment.get_bws_factor now raises an
exception, if the factor is not defined. This can be suppressed by using the
parameter return_none_if_not_defined
Fixed:
- Adding field bug in TouchscreenButtonBox
- 1-pixel bug when converting Expyriment positions to screen (Pygame);
positions: position2coordinate & coordinate2position - auto_subject_id takes now also existing event files into account
- io.SerialPort bug with Python 3
- script path is added to PYTHONPATH
- representation lists in output CSV files
- bug in io.Keyboard.wait
Expyriment 0.9.0
Mar 2017
For installation instructions, please see http://docs.expyriment.org/Installation.html!
For source tarball release, please download <link to .tar file coming soon>
New Features:
- Python 3 compatibility
- New Video stimulus implementation that supports a large range of formats
- new global boolean constant expyriment.PYTHON3 indicates Python version
- new io device: io.extras.TcpServer
- new method to add full factorial designs:
Block.add_trials_full_factorial & Experiment.add_blocks_full_factorial - Network inteface to Turbo-Satori: io.extras.TurbosatoriNetworkInterface
(see www.brainvoyager.com/products/turbosatori.html) - stimuli.Rectangle: Option to have rounded (anti-aliased) corners
- rotate() method of stimuli applies filtering on the content now
- randomize.coin_flip() with bias parameter ("unfair coins")
- randomize.rand_norm() normally distributed random numbers
- statistics module: std & variance
- Eventfile.log has an optional log_event_tag for the logging of
inter-event-intervalls. If this is defined a summary of the intervalls
will be added to the event file. - All present methods have an optional log_event_tag that will be passed
to Eventfile.log (see above) - New function: misc.has_internet_connection()
- Notify when initializing system fonts takes longer
- io.ParallelPort: new method get_driver()
- New function: misc.which()
Changed:
- all wait methods (io and Clock) now
(1) have process_control_events attribute to check for quit events from
keyboard and mouse
(2) have function attribute (callback_function) to repeatedly run a
specific function in every loop iteration
(3) pump the pygame event queue to (hopefully) prevent the OS to think the
window is "not responding" - control.set_develop_mode: new skip_wait_methods attribute to ommit all wait
functions in the experiment (for testing) - rename method: stimulus.replace --> stimulus.reposition
- improvements to io.extras.TcpClient
- move set_skip_wait_functions from misc to io
- move is_idle_running, is_interactive_mode, is_android_running
from control to misc - move get_module_hash_dictionary, get_experiment_secure_hash,
module_hashes_as_string and get_system_info from expyriment to misc - Testsuite: Visual test will now colour code reported refresh rates
Fixed:
- unicode bug on Windows for font files
- unicode bug on Windows for Audio and Picture
- bug fix in unicode2str
- bug fix Experiment.add_experiment_info
- bug: issue #65, tempfolder at multiuser systems
- minor bug fixes in _secure_hash.py, _files.py
- Cli: -0 option was not recognized
- Correct anti-aliasing for Circle/Ellipse (now works on every background)
- compatibility with pyserial version 3.0
- ParallelPort: inpoutx64 should now work correctly
Expyriment 0.9.0rc5
This is a release candidate and for testing purposes only!
Installation
This release candidate of Expyriment can be installed from the PyPi test repository:
pip install --extra-index-url https://testpypi.python.org/pypi expyriment[all]==0.9.0rc5 --upgrade
Ommit [all] to install without additional features (i.e. without the packages numpy, pyserial, pyparallel, mediadecoder, sounddevice).
Use pip3
for Python 3.
Expyriment 0.9.0rc4
This is a release candidate and for testing purposes only!
Installation
This release candidate of Expyriment can be installed from the PyPi test repository:
pip install --extra-index-url https://testpypi.python.org/pypi expyriment[all]==0.9.0rc4 --upgrade
Ommit [all] to install without additional features (i.e. without the packages numpy, pyserial, pyparallel, mediadecoder, sounddevice).
Use pip3
for Python 3.
Expyriment 0.9.0rc3
This is a release candidate and for testing purposes only!
Installation
This release candidate of Expyriment can be installed from the PyPi test repository:
pip install --extra-index-url https://testpypi.python.org/pypi expyriment[all]==0.9.0rc3 --upgrade
Ommit [all] to install without additional features (i.e. without the packages numpy, pyserial, pyparallel, mediadecoder, sounddevice).
Use pip3
for Python 3.
Expyriment 0.9.0rc2
This is a release candidate and for testing purposes only!
Installation
This release candidate of Expyriment can be installed from the PyPi test repository:
pip install --extra-index-url https://testpypi.python.org/pypi expyriment[all]==0.9.0rc2 --upgrade
Ommit [all] to install without additional features (i.e. without the packages numpy, pyserial, pyparallel, mediadecoder, sounddevice).
Use pip3
for Python 3.
Expyriment 0.9.0rc1
This is a release candidate and for testing purposes only!
Installation
This release candidate of Expyriment can be installed from the PyPi test repository:
pip install --extra-index-url https://testpypi.python.org/pypi expyriment[all]==0.9.0rc1 --upgrade
Ommit [all] to install without additional features (i.e. without the packages numpy, pyserial, pyparallel, mediadecoder, sounddevice).
Use pip3
for Python 3.
Expyriment 0.9.0b1
This is a beta release and for testing purposes only!
New features include Python 3 compatibility, a new Video implementation that supports a variety of codecs, and various fixes and improvements (see below for a detailed list of changes).
Installation
This beta version of Expyriment can be installed from the PyPi test repository:
pip install --extra-index-url https://testpypi.python.org/pypi expyriment[optional]==0.9.0b1 --upgrade
Ommit [optional] to install without additional packages (i.e. numpy, pyserial, pyparallel, mediadecoder, sounddevice).
Use pip3
for Python 3.
Changes
New Features:
- Python 3 compatibility
- New Video stimulus implementation that supports a large range of formats
- new global boolean constant
expyriment.PYTHON3
indicates Python version - new io device:
io.extras.TcpServer
- new method to add full factorial designs:
Block.add_trials_full_factorial
&Experiment.add_blocks_full_factorial
- Network inteface to Turbo-Satori:
io.extras.TurbosatoriNetworkInterface
(see http://www.brainvoyager.com/products/turbosatori.html) stimuli.Rectangle
: Option to have rounded (anti-aliased) cornersrotate()
method of stimuli applies filtering on the content nowrandomize.coin_flip()
with bias parameter ("unfair coins")randomize.rand_norm()
normally distributed random numbers- statistics module: std & variance
EventFile.log()
has an optional log_event_tag for the logging of inter-event-intervalls. If this is defined a summary of the intervalls will be added to the event file.- All present methods have an optional log_event_tag that will be passed to
EventFile.log()
(see above) - New method:
misc.has_internet_connection()
Changed:
- all wait methods (
io
andClock
) now- (1) have
process_control_events
attribute to check for quit events from keyboard and mouse - (2) have function attribute
callback_function
to repeatedly run a specific function in every loop iteration - (3) pump the pygame event queue to (hopefully) prevent the OS to think the window is "not responding"
- (1) have
control.set_develop_mode
: new skip_wait_methods attribute to ommit all wait functions in the experiment (for testing)- rename method:
stimulus.replace()
-->stimulus.reposition()
- improvements to
io.extras.TcpClient
- move
set_skip_wait_functions
frommisc
toio
- move
is_idle_running()
,is_interactive_mode()
,is_android_running()from
controlto
misc` - move
get_module_hash_dictionary()
,get_experiment_secure_hash()
,module_hashes_as_string()
andget_system_info()
fromexpyriment
tomisc
- Testsuite: Visual test will now colour code reported refresh rates
Fixed:
- unicode bug on Windows for font files
- unicode bug on Windows for
Audio
andPicture
- bug fix in
unicode2str
- bug fix
Experiment.add_experiment_info
- bug: issue #65, tempfolder at multiuser systems
- minor bug fixes in
_secure_hash.py
,_files.py
- Cli: -0 option was not recognized
- Correct anti-aliasing for
Circle
/Ellipse
(now works on every background) - compatibility with pyserial version 3.0