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.0.tar.gz (97.2 MB view hashes)

Uploaded Source

Built Distribution

glyptic-0.1.0-py3-none-any.whl (97.5 MB view hashes)

Uploaded Python 3

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