unraphael

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

https://github.com/decodingraphael/unraphael

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.5%) to scientific vocabulary

Keywords

art computer-vision python
Last synced: 10 months ago · JSON representation ·

Repository

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

Basic Info
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 2
  • Open Issues: 1
  • Releases: 4
Topics
art computer-vision python
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

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:

console 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:

console 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:

```shell 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/unraphael.git@0.3' ```

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`. 2. Enable the service: ```console sudo systemctl enable unraphael.service ``` 3. Start the service: ```console sudo systemctl start unraphael.service ``` 4. Check the status of the service: ```console sudo systemctl status unraphael.service ``` 5. To stop the service: ```console sudo systemctl stop unraphael.service ```

Owner

  • Name: DecodingRaphael
  • Login: DecodingRaphael
  • Kind: organization

Decoding Raphael: Computational Study of the Production and Reproduction of Italian Renaissance Paintings

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Unraphael
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Thijs
    family-names: Vroegh
    affiliation: Netherlands eScience Center
    orcid: 'https://orcid.org/0000-0002-6311-0798'
  - given-names: Stef
    family-names: Smeets
    affiliation: Netherlands eScience Center
    orcid: 'https://orcid.org/0000-0001-5107-3531'
repository-code: 'https://github.com/DecodingRaphael'
url: 'https://unraphael.readthedocs.io'
abstract: >-
  Python toolkit for unraveling image similarity with a focus on artistic
  practice
keywords:
  - art
  - raphael
  - computer-vision
  - renaissance
identifiers:
  - type: doi
    value: 10.5281/zenodo.11192044
license: Apache-2.0
version: 0.1.0

GitHub Events

Total
  • Create event: 7
  • Release event: 1
  • Issues event: 18
  • Delete event: 8
  • Member event: 1
  • Issue comment event: 7
  • Push event: 41
  • Pull request review comment event: 2
  • Pull request review event: 8
  • Pull request event: 11
Last Year
  • Create event: 7
  • Release event: 1
  • Issues event: 18
  • Delete event: 8
  • Member event: 1
  • Issue comment event: 7
  • Push event: 41
  • Pull request review comment event: 2
  • Pull request review event: 8
  • Pull request event: 11

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 10
  • Total pull requests: 6
  • Average time to close issues: 5 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 1.4
  • Average comments per pull request: 0.0
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 5
  • Average time to close issues: 3 months
  • Average time to close pull requests: 25 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.4
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ThijsVroegh (23)
  • stefsmeets (21)
Pull Request Authors
  • stefsmeets (32)
  • ThijsVroegh (11)
Top Labels
Issue Labels
enhancement (8) refactor (2) documentation (1) under review (1) help wanted (1) bug (1)
Pull Request Labels
enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 14 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 1
pypi.org: unraphael

Decoding Raphael: Computational Study of the Production and Reproduction of Italian Renaissance Paintings.

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 14 Last month
Rankings
Dependent packages count: 9.4%
Average: 35.6%
Dependent repos count: 61.8%
Maintainers (1)
Last synced: 10 months ago

Dependencies

.github/workflows/code-style.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • pre-commit/action v3.0.1 composite
.github/workflows/publish.yaml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/tests.yaml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • schneegans/dynamic-badges-action v1.7.0 composite
pyproject.toml pypi
  • PyYAML *
workflow/5_clustering/requirements.txt pypi
  • matplotlib *
  • numpy *
  • opencv-contrib-python *
  • opencv-python ==3.4.2.16
  • pyssim ==0.4
  • scikit-image ==0.14.1
  • scikit-learn ==0.20.0
  • scipy ==1.1.0
workflow/requirements.txt pypi
  • IPython *
  • Pillow *
  • detectron2 *
  • matplotlib *
  • numpy *
  • opencv *
  • roboflow *
  • scikit-image *
  • tensorflow *
  • torch *
src/unraphael/dash/requirements.txt pypi
  • numpy *
  • opencv-python-headless *
  • rembg *
  • scikit-image *
  • scipy *
  • seaborn *
  • streamlit *
requirements.txt pypi
  • PyYAML *
  • numpy *
  • opencv-python-headless *
  • rembg *
  • scikit-image *
  • scipy *
requirements_full.txt pypi
  • attrs ==23.2.0
  • certifi ==2024.6.2
  • charset-normalizer ==3.3.2
  • coloredlogs ==15.0.1
  • flatbuffers ==24.3.25
  • humanfriendly ==10.0
  • idna ==3.7
  • imageio ==2.34.1
  • jsonschema ==4.22.0
  • jsonschema-specifications ==2023.12.1
  • lazy-loader ==0.4
  • llvmlite ==0.42.0
  • mpmath ==1.3.0
  • networkx ==3.3
  • numba ==0.59.1
  • numpy ==1.26.4
  • onnxruntime ==1.18.0
  • opencv-python-headless ==4.10.0.82
  • packaging ==24.0
  • pillow ==10.3.0
  • platformdirs ==4.2.2
  • pooch ==1.8.1
  • protobuf ==5.27.0
  • pymatting ==1.1.12
  • pyyaml ==6.0.1
  • referencing ==0.35.1
  • rembg ==2.0.57
  • requests ==2.32.3
  • rpds-py ==0.18.1
  • scikit-image ==0.23.2
  • scipy ==1.13.1
  • sympy ==1.12.1
  • tifffile ==2024.5.22
  • tqdm ==4.66.4
  • urllib3 ==2.2.1