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