Skip to main content

Python package for creating optical illusions

Project description

sorceress 1.8

PyPI version Jekyll site CI Downloads Build status

Purpose of package

This package's purpose is to create optical illusions in a simple way. The package is written in Python. however, the repo also includes JavaScript. In explanations section, you can find the explanations of the illusions.

This package contains a collection of well-known visual illusions, as well as some lesser-known ones that are just as fascinating.

By using the code provided in the package, you can easily recreate the illusions and see how they work for yourself. Not only can you reproduce the illusions, but you can also experiment with them and modify the code to create your own variations.

With this package, you can dive deep into the world of visual illusions and learn more about how the human brain processes visual information.

Whether you're a researcher, a student, or just someone who loves illusions, this package has something for you. So if you're interested in exploring the mysteries of the human visual system, give it a try!

More importantly, we shouldn't take optical illusions as just fun. Optical illusions are visual phenomena that occur when our brain interprets information from our eyes in a way that is different from reality. These illusions can reveal a lot about how our brain works and how it processes visual information, which can help us understand the underlying mechanisms of human vision. Most of the optical illusions in this package are seriously researched in the neuroscience literature. And I must say that the "causation" of the most of effects is still debated in the literature according to my humble knowledge. Optical illusions are researching not only in human vision but in other animals. So we can get a lot of insights from an evolutionary perspective.

The difficulty of creating an optical illusion with code will depend on the specific illusion you're trying to create and your experience with coding. Some optical illusions may be relatively simple to implement, while others may be more complex and require a deeper understanding of graphics programming and the underlying principles of perception.To create an effective optical illusion, you (also me) need to understand the principles of perception and be able to use code to manipulate the visual information in a way that tricks the brain into seeing something that isn't actually there. This requires a deep understanding of the underlying mechanisms of perception and a lot of experimentation and trial and error to find the right combination of visual elements that creates the desired illusion.

Another challenge is that creating optical illusions often requires a high level of precision and control over the visual elements in an image. This can be difficult to achieve with code, especially if you're working with complex or dynamic images that need to be updated in real time.

Overall, creating optical illusions with code can be a challenging but rewarding task that requires a combination of technical skills, creativity, and an understanding of the underlying principles of perception (Bach, 2014).

For all optical illusions check this documentation: altunenes.github.io/sorceress/

Getting started🚀️

The package can be found on PyPI hence you can install it via pip.

pip install sorceress
#importing
from sorceress import sorceress

Features

For the API, click here

  • Illusions in Python
    • chromatic
    • dotill
    • realtimegrid
    • addlines
    • eyecolour
    • dakinPex
    • bruno
    • dolboeuf
    • kanizsa
    • tAki2001
    • cafewall
    • ccob
    • ebbinghaus
    • whiteill
    • enigma
    • blackhole
    • colorgrids
    • munker
    • munker2
    • grids2
    • pareidolia
    • spirals
    • color negative
    • footsteps

Illusions in JavaScript

  • footsteps
  • thelilac
  • EyeMovements
  • spatialmotion
  • Motion Induced Blindness (2 versions)
  • Depth Perception
  • Speed of Rotation
  • hypnotic circle
  • Bright Illusion
  • Length Illusion
  • Crazy Sine Waves
  • Crazy EEG-Fourier
  • phimotion
  • colour adaptation

Examples

In this page, you can find all illusions, explanations, code, and how to use it. I show just a few examples on this page.

from sorceress import sorceress
sorceress.chromatic("myimage.jpg",circle=False, method="CMCCAT2000", gif=True, Gifduration=7)
sorceress.addlines("myimage.png",linecolour1=(0,255,0),linecolour2=(0,255,255),linecolour3=(255,0,0))

As you can see above, you can use the package in a very simple way. You will need to install the following packages to use the package. You will not need to import them, the package will do it for you.

pip install opencv-python
pip install numpy
pip install matplotlib
pip install imageio
pip install Pillow
pip install colour-science
pip install pygame

Contribution

Any contribution, bug report, or suggestion is always welcome <3

  • Main Maintainer: Enes Altun

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

sorceress-1.8.8.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

sorceress-1.8.8-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file sorceress-1.8.8.tar.gz.

File metadata

  • Download URL: sorceress-1.8.8.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.9 Windows/10

File hashes

Hashes for sorceress-1.8.8.tar.gz
Algorithm Hash digest
SHA256 b8b80367455d56ec98855a8f55bdca79d2ca81c082d9445304f4c940342ecdd1
MD5 fa6162b4f7d0e54bb3786a5b4400b8e8
BLAKE2b-256 1224d058245af9fe16a8b7fbe39994f63d61622114158259ac9932ec71ecf3f8

See more details on using hashes here.

File details

Details for the file sorceress-1.8.8-py3-none-any.whl.

File metadata

  • Download URL: sorceress-1.8.8-py3-none-any.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.9 Windows/10

File hashes

Hashes for sorceress-1.8.8-py3-none-any.whl
Algorithm Hash digest
SHA256 0da0a460d401611f0d4c30142ce31ac346083579860d8b6fec1f3536aa51d45e
MD5 5a19f331b2b625a68b09baa747614096
BLAKE2b-256 9e925495a2a98b10541627a06aa889e583561fd2f1d41fd730d23ed1e5bbe365

See more details on using hashes here.

Supported by

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