Dactylogram to intaglio for your carcanets.
Project description
GLYPTIC
Engraving Fingerprints with Precision and Artistry
Built with:
Table of Contents
- Overview
- Features
- Repository Structure
- Modules
- Getting Started
- Project Roadmap
- Contributing
- License
- Acknowledgments
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:
- Report Issues: Submit bugs found or log feature requests for the
glyptic
project. - Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
License
This project is protected under the GNU General Public License v3.0 License. For more details, refer to the COPYING file.
Acknowledgments
- CVxTz/fingerprint_denoising for pre-trained model weights
- Juggernaut-XI by RunDiffusion
- ControlNet++
- ComfyUI
- ComfyScript
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0f250d6a25455986847630592fcecd31bcb32554857620fad308031f680197e |
|
MD5 | da2afdbe445d04c89af2723c0f3c4a23 |
|
BLAKE2b-256 | 496fa4044e0f61f181ccaf62e63158dcc9e27369c841fa30f2235a949b07c578 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c332b2359e792c7caef119100adf37b64b43a8d522b4f4a1d1e758e48c8ea9dc |
|
MD5 | c549a4a2eb66bc0751757df6595ff8d0 |
|
BLAKE2b-256 | ac30409e5d70b11e25cc5c65ba6436a612b0271813c75d60db56056e5f78b0b1 |