# hibrahimboz/fingerprintfeatureextraction architecture

> Architecture diagram of the GitHub repository hibrahimboz/fingerprintfeatureextraction, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/hibrahimboz/fingerprintfeatureextraction
- Repository: https://github.com/hibrahimboz/fingerprintfeatureextraction

## Overview

This is a small fingerprint-processing demo with two user workflows: extract minutiae from one image, or compare two images using those features. The extraction script delegates enhancement and minutiae detection to external packages, then optionally writes image and text outputs. The matcher calls the same extraction entry point for each image, pairs features by type, pixel distance and ridge angle, and derives a similarity score and verdict. External package internals are not present in the tree, so their internal stages are represented only at the documented API boundary.

Main entry points: [`src/main_enhancement.py`](https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/main_enhancement.py) (Extraction CLI), [`src/match_fingerprints.py`](https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/match_fingerprints.py) (Matcher CLI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_extract["Feature extraction"]
  node_extract_cli["Extraction CLI"]
  node_enhancer["Gabor enhancer"]
  node_extractor["Minutiae extractor"]
  node_features["Minutiae features"]
  node_outputs["Image and text outputs"]
end

subgraph group_match["Fingerprint matching"]
  node_matcher_cli["Matcher CLI"]
  node_pairing["Feature pairing"]
  node_scoring["Similarity and verdict"]
  node_result["Match result"]
end

node_user(("User"))

node_user -->|"supplies image"| node_extract_cli
node_extract_cli -->|"enhances image"| node_enhancer
node_extract_cli -->|"extracts minutiae"| node_extractor
node_extractor -->|"returns features"| node_features
node_extract_cli -->|"writes results"| node_outputs
node_user -->|"supplies images"| node_matcher_cli
node_matcher_cli -->|"extracts features"| node_extract_cli
node_matcher_cli -->|"pairs features"| node_pairing
node_pairing -->|"returns matches"| node_scoring
node_scoring -->|"produces verdict"| node_result

click node_extract_cli "https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/main_enhancement.py"
click node_outputs "https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/main_enhancement.py"
click node_matcher_cli "https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/match_fingerprints.py"
click node_pairing "https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/match_fingerprints.py"
click node_scoring "https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/match_fingerprints.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_extract_cli,node_enhancer,node_extractor,node_features,node_outputs,node_user toneBlue
class node_matcher_cli,node_pairing,node_scoring,node_result toneAmber
```

## Components

### Feature extraction

- [Extraction CLI](https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/main_enhancement.py): `src/main_enhancement.py`
- **Gabor enhancer**
- **Minutiae extractor**
- **Minutiae features**
- [Image and text outputs](https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/main_enhancement.py): `src/main_enhancement.py`

### Fingerprint matching

- [Matcher CLI](https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/match_fingerprints.py): `src/match_fingerprints.py`
- [Feature pairing](https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/match_fingerprints.py): `src/match_fingerprints.py`
- [Similarity and verdict](https://github.com/hibrahimboz/fingerprintfeatureextraction/blob/master/src/match_fingerprints.py): `src/match_fingerprints.py`
- **Match result**

### Other components

- **User**

## Connections

- User → Extraction CLI: supplies image
- Extraction CLI → Gabor enhancer: enhances image
- Extraction CLI → Minutiae extractor: extracts minutiae
- Minutiae extractor → Minutiae features: returns features
- Extraction CLI → Image and text outputs: writes results
- User → Matcher CLI: supplies images
- Matcher CLI → Extraction CLI: extracts features
- Matcher CLI → Feature pairing: pairs features
- Feature pairing → Similarity and verdict: returns matches
- Similarity and verdict → Match result: produces verdict
