Skip to main content

Dactylogram to intaglio for your carcanets.

Project description

GLYPTIC

Engraving Fingerprints with Precision and Artistry

license last-commit repo-top-language repo-language-count

Built with:

tqdm TensorFlow Keras SciPy Python AIOHTTP


Table of Contents

Overview

Written with the jewelry industry in mind, glyptic leverages advanced image processing and generative AI techniques to prepare fingerprint images suitable for jewelry engraving. A two-step process starts by utilizing a pre-trained U-Net model to enhance and denoise raw dactylograms. The second step automates an SDXL-based workflow transforming enhanced images to high-resolution, stylized vector art in SVG format, ensuring compatibility and scalability. Glyptic includes a streamlined setup process that can be deployed on a cloud or local install, and can comfortably run on an M1 Macbook. By generating beautiful yet faithful outputs for even low-quality fingerprints, glyptic significantly benefits the jewelry engraving industry.


Features

Feature Description
⚙️ Architecture Glyptic follows a modular architecture with a focus on image processing and machine learning, specifically for enhancing fingerprint images using a U-Net model, and image-to-image translation using ComfyUI, SDXL, and controlnet
🔩 Code Quality Glyptic follows a structured and organized style with clear separation of concerns, such as modular functions for specific tasks like setup, image enhancement, and image transformation.
🔌 Integrations Key integrations include ComfyUI, JuggernautXL, TensorFlow, PyTorch, and Hugging Face Hub, along with image processing libraries like OpenCV, scikit-image, and Pillow.
🧩 Modularity The codebase is highly modular, with distinct modules for different functionalities such as image enhancement, setup, and workflow management, promoting reusability.
⚡️ Performance Glyptic can both be scaled to run on high-end cloud servers
📦 Dependencies The project relies on several key dependencies including TensorFlow, PyTorch, OpenCV, Pillow, and various other libraries for machine learning and image processing.
🚀 Simplicity Glyptic wraps up the entire process in a single command, providing a one-click solution out of the box.

Repository Structure

└── glyptic/
    ├── pyproject.toml
    ├── README.md
    └── src
        ├── glyptic
           ├── __init__.py
           ├── enhance_fingerprints.py
           ├── enhance_utils.py
           ├── glyptic_workflow.py
           └── unet_weights.hdf5
        └── glyptic_setup
            ├── __init__.py
            └── glyptic_setup.py

Modules

src.glyptic
File Summary
enhance_fingerprints.py Enhances fingerprint images by utilizing a pre-trained U-Net model. Downloads necessary model weights if unavailable locally and processes images in batches, resizing and normalizing them before prediction. Outputs enhanced images to a specified directory, optimizing them for further analysis or use within the repository's broader fingerprint processing workflow.
enhance_utils.py Defines the U-Net model used by enhance_fingerprints.py.
unet_weights.hdf5 Contain pre-trained weights for a U-Net model, facilitating efficient and accurate image processing tasks within the glyptic module. Integrates seamlessly into the workflow, enhancing the systems capability to handle complex image enhancement and fingerprint analysis operations.
glyptic_workflow.py Facilitates the transformation of input images into high-resolution, stylized outputs using advanced machine learning models and image processing techniques. Integrates various conditioning and control mechanisms to enhance image quality and converts the final output to SVG format, ensuring compatibility and scalability within the repositorys architecture.
src.glyptic_setup
File Summary
glyptic_setup.py Facilitate the setup and configuration of the glyptic application by creating necessary directories, generating configuration files, and optionally downloading required model files. Enhance user experience by providing command-line arguments for custom data directories and automated setup processes.

Getting Started

Prerequisites

Python: version 3.12.6

Installation

 pip install glyptic

Installing with pipx or similar will also work.

Setup

Download and symlink required models:

 glyptic_setup --config --download
 glyptic_setup --help

for full options.

Usage

 glpytic -i myinput/*.jpg 

Contributing

Contributions are welcome! Here are several ways you can contribute:


License

This project is protected under the GNU General Public License v3.0 License. For more details, refer to the COPYING file.


Acknowledgments


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

glyptic-0.1.2.tar.gz (97.2 MB view details)

Uploaded Source

Built Distribution

glyptic-0.1.2-py3-none-any.whl (97.5 MB view details)

Uploaded Python 3

File details

Details for the file glyptic-0.1.2.tar.gz.

File metadata

  • Download URL: glyptic-0.1.2.tar.gz
  • Upload date:
  • Size: 97.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for glyptic-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a0f250d6a25455986847630592fcecd31bcb32554857620fad308031f680197e
MD5 da2afdbe445d04c89af2723c0f3c4a23
BLAKE2b-256 496fa4044e0f61f181ccaf62e63158dcc9e27369c841fa30f2235a949b07c578

See more details on using hashes here.

File details

Details for the file glyptic-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: glyptic-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 97.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for glyptic-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c332b2359e792c7caef119100adf37b64b43a8d522b4f4a1d1e758e48c8ea9dc
MD5 c549a4a2eb66bc0751757df6595ff8d0
BLAKE2b-256 ac30409e5d70b11e25cc5c65ba6436a612b0271813c75d60db56056e5f78b0b1

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