Adriano
|
71a364a1fd
|
deploy: Dockerfile + docker-compose Traefik per VPS pm.tielogic.xyz
Dockerfile (multi-arch, python 3.13-slim):
- uv copiato da ghcr.io/astral-sh/uv per install deps
- System deps: libgl1 libglib2.0-0 (cv2) + libgomp1 (numba)
- uv sync --frozen --no-dev da uv.lock
- ENV: IMAGES_DIR=/data/images, HOST=0.0.0.0, PORT=8080
- HEALTHCHECK su GET /images ogni 30s
docker-compose.yml:
- Service pm2d con image ${REGISTRY}/pm2d:${TAG}
- Volume ./images:/data/images (persistenza upload/UI)
- Network esterna 'traefik' (adattare se diverso)
- Labels Traefik:
- Router HTTPS Host(pm.tielogic.xyz) entrypoint websecure TLS letsencrypt
- Middleware bodysize 50MB (upload multipart)
- Redirect HTTP->HTTPS automatico
main.py: HOST/PORT da env (default 127.0.0.1:8080 per dev locale).
README: sezione Deploy con build/push/run su VPS.
.dockerignore: esclude .venv, Test/, benchmarks/, md files.
Build + smoke test container: OK su port 18080.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-04-24 15:55:16 +02:00 |
|
Adriano
|
b9a4d51fac
|
feat: PM2D standalone shape-based matcher
Programma standalone Pattern Matching 2D con GUI cv2/tk + algoritmo
puro riusabile. Due backend:
- LineShapeMatcher (default): porting Python di line2Dup (linemod-style)
- Gradient orientation quantized 8-bin modulo π + spreading
- Feature sparse top-magnitude con spacing minimo
- Score via shift-add vettorizzato numpy (O(N_features·H·W))
- Piramide multi-risoluzione con pruning varianti al top-level
- Supporto mask binaria per modello non-rettangolare
- EdgeShapeMatcher (fallback): Canny + matchTemplate multi-rotazione
GUI separata da algoritmo. Benchmark clip.png (13 istanze):
- Edge backend: 84s, 6/13 score ~0.3
- Line backend: 4.1s, 13/13 score 0.98-1.00
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-04-24 00:46:59 +02:00 |
|