Skip to content

DecodingRaphael/unraphael

Documentation Status Coverage Tests PyPI - Python Version PyPI DOI

Unraphael banner Unraphael banner

Unraphael

Unraphael is a digital workflow tool that uses computer vision to unravel the artistic practice of Raphael (Raffaello Sanzio, 1483-1520), while providing new digital approaches for the study of artistic practice in art history. Dozens of faithful reproductions survive of Raphael's paintings, attesting to the lucrative practice of serial production of paintings within the artist's workshop and to the lasting demand for the master's designs.

Unraphael provides a flexible and easy-to-use GUI to inspect and assess the structural similarity of figure-outlines in images. Photographs of paintings are used as input for the application.

While Unraphael was made for art historians and researchers in the humanities to study the artistic practices of and the process of making copies of paintings, the functionality of Unraphael extends well beyond the study of Raphael's paintings and can be used for a wide range of applications in the digital humanities and beyond.

Features:

  • Image preprocessing
  • Background removal
  • Image alignment
  • Image clustering based on structural similarity
  • Ratio analysis painting - photo dimensions

To install:

pip install unraphael

Try unraphael in your browser!

You can also try unraphael directly from your browser.

Link Description Image
Image similarity Group your images using cluster analysis Image similarity
Image preprocessing Preprocess your images, e.g. background removal, color adjustments, applying image filters, segmentation Image preprocessing
Object detection Quickly and accurately identify and segment figures or objects within an image to analyse the isolated components Object detection
Image comparison Compare your images based on their structural components Image comparison

Using the unraphael dashboard locally

To install and use the dashboard locally:

pip install unraphael[dash]
unraphael-dash

Development

Check out our Contributing Guidelines to get started with development.

Suggestions, improvements, and edits are most welcome.

Self hosted deployment

To run on dashboard with:

sudo apt-get update && apt-get install libgl1 libglib2.0-0 -y
# As www-data user
python3 -m venv venv
pip install 'unraphael[dash]@git+https://github.com/DecodingRaphael/[email protected]'
Systemd service

To run unraphael as a service, you can create a systemd service file. This will allow you to start, stop, and restart unraphael using systemd.

  1. Create a service file for unraphael, for example /etc/systemd/system/unraphael.service:
[Unit]
Description=Unraphael dashboard
After=network.target

[Service]
Environment="XDG_CACHE_HOME=/cache/dir" HOME="/writable/dir"
User=youruser
WorkingDirectory=/home/youruser
ExecStart=/home/youruser/.local/bin/unraphael-dash
Restart=on-failure
User=youruser
WorkingDirectory=/home/youruser
ExecStart=/home/youruser/.local/bin/unraphael-dash
Restart=on-failure

[Install]
WantedBy=multi-user.target

Replace /cache/dir and /writable/dir with the actual paths to your cache and writable directories. Replace youruser with your actual username. Also, make sure that the path to unraphael-dash is correct. You can find the correct path using which unraphael-dash.

  1. Enable the service:
sudo systemctl enable unraphael.service
  1. Start the service:
sudo systemctl start unraphael.service
  1. Check the status of the service:
sudo systemctl status unraphael.service
  1. To stop the service:
sudo systemctl stop unraphael.service

About

Python toolkit for unraveling image similarity with a focus on artistic practice

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages