Skip to main content

A tool for researchers to create stimuli varying in order and complexity on different dimensions

Project description

OCTA toolbox

The OCTA Python toolbox was created by Van Geert, Bossens, and Wagemans (2021) as a tool for researchers to create stimuli varying in order and complexity on different dimensions. It was created in Python 3.8 and is dependent on the following Python libraries: svgwrite, svg.path, svgpathtools, svgutils, jsonpickle, html2image, svglib, reportlab, colour, IPython, and pandas. We thank the developers of each of these libraries and of the Python programming language.

A simple example:

from octa.Stimulus import Grid
from octa.patterns import GridPattern
from octa.shapes import Ellipse, Rectangle, Triangle

## Create new stimulus
stim = Grid(n_rows = 6, n_cols = 6, background_color = "none",
            row_spacing = 40, col_spacing = 40)

## Determine shape of elements used in the stimulus
stim.shapes = GridPattern.RepeatAcrossColumns([Rectangle, Triangle, Ellipse])

## Determine color of elements used in the stimulus
colors_to_use = ["#1b9fd8", "#6dd6ff", "#006ca1"]
stim.fillcolors = GridPattern.RepeatAcrossColumns(colors_to_use)

## Determine size of elements used in the stimulus
stim.boundingboxes = GridPattern.RepeatAcrossColumns([(30,30)])

stim.Show()

OCTA Shiny app

A graphical user interface for OCTA is available in the form of a Shiny app.

Citing OCTA

If you use the OCTA Python toolbox in your (academic) work, please cite:

  • Van Geert, E., Bossens, C., & Wagemans, J. (2023). The Order & Complexity Toolbox for Aesthetics (OCTA): A systematic approach to study the relations between order, complexity, and aesthetic appreciation. Behavior Research Methods, 55, 2423–2446. https://doi.org/10.3758/s13428-022-01900-w
  • Van Geert, E., Bossens, C., & Wagemans, J. (2021). The Order & Complexity Toolbox for Aesthetics Python library [Computer software]. https://github.com/gestaltrevision/OCTA_toolbox

If you use the OCTA Shiny app in your (academic) work, please cite: Van Geert, E., Bossens, C., & Wagemans, J. (2021). The Order & Complexity Toolbox for Aesthetics Shiny application [Online application]. https://elinevg.shinyapps.io/OCTA_toolbox/

Documentation

Find the documentation here

License

The OCTA Python toolbox is licensed under the terms of the GNU Lesser General Public License 3.0.

Contact

eline.vangeert@kuleuven.be

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octa-1.0.2.tar.gz (57.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

octa-1.0.2-py3-none-any.whl (87.2 kB view details)

Uploaded Python 3

File details

Details for the file octa-1.0.2.tar.gz.

File metadata

  • Download URL: octa-1.0.2.tar.gz
  • Upload date:
  • Size: 57.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for octa-1.0.2.tar.gz
Algorithm Hash digest
SHA256 58a9eafa2250896e194899194933a767adac8b5d00be08c4e81d605fff71fc1a
MD5 a40ea92a37af5493032cd48548d5587f
BLAKE2b-256 d3f3b4d5fd1f9d50ed615bb14462515c69b059d8c598b8c7c5993d45b175a083

See more details on using hashes here.

File details

Details for the file octa-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: octa-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 87.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for octa-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5f427457331d053258fb6e51ea88e1264dcdaff16e8bcae3c5f8fa2aa7c70f03
MD5 fd8b471abcbad0f3fbf258c57f11a6ba
BLAKE2b-256 8fd3cd5d26aa42562ef705ac666b822d2350713ef071f39672509c33d4be486a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page