From 419ff2b53ef889a8de77d455c9480e11c878ee79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rostislav=20L=C3=A1n?= Date: Tue, 9 May 2023 08:29:54 +0200 Subject: [PATCH] Final cleanup commit. --- docs/build/.doctrees/environment.pickle | Bin 337798 -> 338023 bytes docs/build/.doctrees/installation.doctree | Bin 12358 -> 12396 bytes docs/build/_sources/installation.rst.txt | 4 ++-- docs/build/installation.html | 4 ++-- docs/build/searchindex.js | 2 +- docs/source/installation.rst | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/build/.doctrees/environment.pickle b/docs/build/.doctrees/environment.pickle index 1b170b72fccca3ec954da87a79df983735a18966..417f44ac5e08e5da79ffc8f9e51ce1c7b2c2f08f 100644 GIT binary patch literal 338023 zcmeFa37i~9eJ`%V(ymtbY02kUw&m3#t!xW}kq?k>EK4>%0ACr;?)2_VYj$Qmhor^N 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�tTgqv5=-5GTED(CLcaW`eYn$y=%YIXS6 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 QCrhG6YL;Eu+Q{Jl2YM`bS^xk5 literal 337798 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 LvutFmL%shW2rwub diff --git a/docs/build/.doctrees/installation.doctree b/docs/build/.doctrees/installation.doctree index 2f01dd51c9af8f37d4fff70c9e48eed02ed79d8b..575f7eb3f333bc2090f44255ce5b96782d7d6d1b 100644 GIT binary patch delta 182 zcmX?>@Fsz!fpu!)MwV(8-kWauMGATOeN)vMwaubs?GV@Xu$}>wc6hf0q^GZtfxI9Y~iZk*{b5bT>VX30JiN%}6 H*bKA)u+Bdu delta 147 zcmaEpa4dnPfpx0&MwV(8fny;VsS1e&1v#0?i6xo&d6V;46;#vnO7(Lx^GYieaubs? wGV@Z4^|(As6pAzQOLI~bGV;q)%TkLbpJXi-&tQ+8k|EebzA2kevM$yF0O5f*Bme*a diff --git a/docs/build/_sources/installation.rst.txt b/docs/build/_sources/installation.rst.txt index ef7aa60..e58ad1a 100644 --- a/docs/build/_sources/installation.rst.txt +++ b/docs/build/_sources/installation.rst.txt @@ -9,8 +9,8 @@ Installation Requirements ------------ -The application has only been tested on Ubuntu gnu/linux machines. -It should however be possible to use it in on most linux distributions, WSLs and also virtual machines of most linux distributions. +For now this has only been tested on Ubuntu 22.04, Fedora 37 and virtual machine with Ubuntu. +It should be possible to use it in on most linux distributions, WSLs and also virtual machines of most linux distributions. To start off, you need these to succesfully use the application. diff --git a/docs/build/installation.html b/docs/build/installation.html index e19f65c..0f7cab4 100644 --- a/docs/build/installation.html +++ b/docs/build/installation.html @@ -208,8 +208,8 @@

Installation#

Requirements#

-

The application has only been tested on Ubuntu gnu/linux machines. -It should however be possible to use it in on most linux distributions, WSLs and also virtual machines of most linux distributions.

+

For now this has only been tested on Ubuntu 22.04, Fedora 37 and virtual machine with Ubuntu. +It should be possible to use it in on most linux distributions, WSLs and also virtual machines of most linux distributions.

To start off, you need these to succesfully use the application.

  • python version 3.10 is a requirement might work on earlier python 3 versions:

  • diff --git a/docs/build/searchindex.js b/docs/build/searchindex.js index 6d504ce..47cb7b3 100644 --- a/docs/build/searchindex.js +++ b/docs/build/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["config", "config_parser", "filter_list", "filtering", "filters", "generation", "index", "installation", "log", "main", "modules", "stl_parser", "troubleshooting", "usage"], "filenames": ["config.rst", "config_parser.rst", "filter_list.rst", "filtering.rst", "filters.rst", "generation.rst", "index.rst", "installation.rst", "log.rst", "main.rst", "modules.rst", "stl_parser.rst", "troubleshooting.rst", "usage.rst"], "titles": ["Configuration and presets", "config_parser module", "Available filters with parameters", "Filtering images", "filters module", "Generating fingerprint models", "Generov\u00e1n\u00ed 3D modelu otisku prstu", "Installation", "log module", "main module", "src", "stl_parser module", "Troubleshooting", "Usage"], "terms": {"There": [0, 3], "i": [0, 1, 2, 3, 4, 5, 7, 9, 12], "an": [0, 2, 6, 9, 12], "option": [0, 5, 13], "input": [0, 3, 6, 9, 12, 13], "filter": [0, 1, 6, 9, 10, 12, 13], "seri": 0, "from": [0, 1, 3, 4, 6, 7, 9, 12, 13], "json": [0, 3, 5], "file": [0, 1, 3, 9, 11, 12, 13], "here": 0, "ar": [0, 1, 3, 5, 7, 12], "store": [0, 1, 9, 13], "readi": [0, 3], "us": [0, 2, 3, 4, 5, 6, 7, 9, 13], "whenev": 0, "need": [0, 3, 5, 7, 9], "you": [0, 3, 7, 12, 13], "can": [0, 3, 6, 13], "usehow": 0, "mani": 0, "long": [0, 9], "like": 0, "output": [0, 3, 5, 9, 13], "It": [0, 5, 7], "therefor": 0, "highli": 0, "recommend": 0, "check": [0, 9, 12, 13], "after": 0, "everi": [0, 3], "chang": [0, 12], "exampl": [0, 3, 5, 7], "abov": 0, "list": [0, 1, 2, 3, 9, 13], "bellow": [0, 3, 7], "along": [0, 5], "gener": [0, 1, 6, 9, 12], "form": [0, 5, 13], "format": 0, "work": [0, 5, 7], "name": [0, 1, 3, 12, 13], "filter_nam": 0, "paramet": [0, 1, 3, 4, 5, 6, 9, 12, 13], "valu": [0, 1, 2, 4, 9, 13], "git_exampl": 0, "denoise_tv_chambol": [0, 4], "weight": [0, 2, 3], "0": [0, 3, 5, 9], "01": 0, "iter": [0, 5, 9, 13], "1": 0, "median": [0, 2, 3, 4, 6, 10], "ksize": [0, 2, 3], "3": [0, 7], "To": [0, 7], "avoid": 0, "accident": 0, "loss": 0, "inform": [0, 6], "caus": 0, "modifi": [0, 3, 5], "have": [0, 12], "been": [0, 6, 7], "stl": [0, 5, 9, 11, 12, 13], "insid": [0, 7], "db": 0, "thi": [0, 4, 5, 6, 7, 9, 13], "serv": [0, 9], "simpl": 0, "databas": [0, 1, 13], "ad": [0, 2, 9], "hash": [0, 9], "all": [0, 2, 3, 4, 7, 9], "also": [0, 7, 9], "save": [0, 1, 9], "current": [0, 2, 9], "command": [0, 1, 3, 5, 9, 11, 12], "line": [0, 1, 3, 4, 5, 9, 12], "set": [0, 1, 5, 7], "d": [0, 13], "switch": [0, 5, 13], "": [0, 6, 13], "new": [0, 3], "parse_conf": [1, 6, 10], "preset_nam": 1, "param": [1, 4, 8], "config_fil": [1, 5, 13], "pars": [1, 9, 11], "configur": [1, 3, 6], "one": [1, 4, 9], "wa": [1, 6], "specifi": 1, "preset": [1, 3, 5, 6, 12, 13], "load": [1, 3, 12], "dictionari": 1, "path": [1, 3, 13], "config": [1, 3, 5, 12, 13], "parse_param": [1, 6, 10], "none": [1, 9], "These": [1, 5], "later": [1, 7, 9], "default": 1, "method": 1, "appli": [1, 4, 6, 9, 10], "save_preset": [1, 6, 10], "store_to_db": [1, 6, 10], "overview": 2, "implement": [2, 4], "descript": 2, "below": 2, "blur": [2, 4], "int": 2, "kernel": [2, 4], "size": 2, "determin": 2, "how": [2, 7], "larg": 2, "area": 2, "process": [2, 6, 9, 12, 13], "gaussian": [2, 4, 6, 10], "sigma": [2, 4], "standart": 2, "deviat": 2, "further": 2, "pixel": [2, 4], "bilater": [2, 4, 6, 10], "diamet": 2, "neighborhood": 2, "sigmacolor": 2, "differ": 2, "color": [2, 4, 9], "sigmaspac": 2, "bilateral_scikit": [2, 4, 6, 10], "float": 2, "nlmean": [2, 4, 6, 10], "non": [2, 4], "local": [2, 4], "mean": [2, 4], "patch_siz": 2, "patch": 2, "denois": [2, 4], "patch_dist": 2, "distanc": [2, 4], "where": 2, "search": 2, "h": [2, 13], "cut": 2, "off": [2, 7], "higher": [2, 5], "more": [2, 5], "smooth": 2, "imag": [2, 4, 6, 9, 12, 13], "total_vari": [2, 3, 4, 6, 10], "much": [2, 4], "block_match": [2, 4, 6, 10], "unsharp_mask_scikit": [2, 4, 6, 10], "radiu": [2, 4], "amount": [2, 4], "strength": [2, 4], "unsharp": [2, 4], "mask": [2, 4], "farid": [2, 4, 6, 10], "meijer": [2, 4, 6, 10], "sato": [2, 4, 6, 10], "hessian": [2, 4, 6, 10], "invert": [2, 4, 6, 10], "scale_valu": [2, 4, 6, 10], "binar": [2, 4, 6, 10], "threshold": 2, "differenti": 2, "binarize_otsu": [2, 4, 6, 10], "add_margin": [2, 4, 6, 10], "margin": [2, 4], "number": [2, 5], "add": [2, 4, 9], "side": [2, 12], "newli": 2, "erod": [2, 4, 6, 10], "numpi": [2, 9], "matrix": 2, "shape": [2, 5], "dilat": [2, 4, 6, 10], "onc": 3, "requir": [3, 5, 6, 12], "instal": [3, 6], "applic": [1, 3, 4, 6, 7, 8, 9], "fingerprint": [1, 3, 6, 9, 12, 13], "sampl": 3, "locat": [3, 5], "re": [3, 5, 12], "its": [3, 5, 7, 12], "palec_p4": [3, 5], "tif": [3, 5, 12], "enter": [3, 7], "virtual": [3, 7], "enviro": [3, 7], "time": 3, "want": [3, 5, 12], "sourc": [3, 7], "venv": [3, 7], "bin": [3, 7], "activ": [3, 6, 7], "The": [3, 5, 6, 7, 12], "filenam": [3, 5, 9, 12], "includ": [3, 7, 12], "root": 3, "project": [3, 6, 9], "directori": [3, 7], "dpi": [3, 5, 12, 13], "shown": 3, "python3": [3, 5, 7, 13], "src": [3, 5, 6, 13], "main": [3, 5, 6, 10, 11, 12, 13], "py": [3, 5, 11, 12, 13], "input_fil": [3, 5, 12, 13], "output_fil": [3, 5, 12, 13], "two": [3, 6], "wai": 3, "manual": 3, "palec_p4_from_clin": 3, "png": [3, 5], "600": [3, 5], "15": 3, "5": 3, "them": 3, "tune": 3, "exist": [3, 6, 12], "creat": [3, 7, 9, 13], "ones": 3, "palec_p4_from_preset": [3, 5], "conf": [3, 5], "brief": [], "librari": [4, 6, 9, 12], "author": [], "xlanro00": 7, "class": [4, 9], "img": 4, "base": [4, 5, 9, 12], "img_filt": [4, 6, 10], "init": [4, 6, 10], "opencv": [4, 9], "skimag": 4, "denoise_bilater": 4, "averag": 4, "similar": 4, "preserv": 4, "edg": 4, "while": 4, "remov": 4, "unwant": 4, "nois": 4, "slower": 4, "than": [4, 12], "otsu": 4, "_": 4, "block": 4, "match": 4, "bm3d": 4, "veri": 4, "slow": 4, "should": [4, 7, 9, 12], "onli": [4, 5, 7, 12], "small": 4, "morpholog": 4, "oper": 4, "eros": 4, "find": 4, "scikit": 4, "easier": 4, "version": [4, 7], "object": 4, "parent": 4, "bitwise_not": 4, "over": [4, 9], "limit": 4, "5x5": 4, "continu": 4, "ridg": 4, "exctract": 4, "scale": [4, 9], "entir": 4, "rang": [4, 12], "data": [4, 9], "type": [4, 5], "height": [4, 5, 9, 12], "issu": 4, "perform": 4, "total": 4, "variat": 4, "techniqu": 4, "origin": [4, 9], "chambol": 4, "paper": 4, "fine": 4, "detail": 4, "unsharp_mask_pil": [4, 6, 10], "pil": 4, "subtract": 4, "regul": 4, "better": [4, 5], "result": [4, 5], "possibl": [5, 7], "first": [5, 6, 12], "which": [5, 7, 9, 13], "If": [5, 9], "mode": [5, 9, 12], "c": [5, 9, 12, 13], "follow": [5, 12, 13], "control": 5, "papilar": [5, 9], "height_lin": [5, 13], "second": [5, 6], "thick": [5, 12], "height_bas": [5, 13], "third": 5, "rate": 5, "curvatur": 5, "x": 5, "axi": 5, "curv_rate_x": [5, 13], "y": 5, "curv_rate_i": [5, 13], "curvature_x": 5, "curvature_i": 5, "2": 5, "10": [5, 7], "p": [5, 12, 13], "make": [5, 6], "flat": 5, "m": [5, 12, 13], "preexist": 5, "contain": [5, 9], "mesh": [5, 9], "denser": 5, "itert": 5, "last": 5, "three": 5, "offset": [5, 9], "finger_x": [5, 12, 13], "finger_i": [5, 12, 13], "finger_z": [5, 12, 13], "thei": 5, "user": 5, "move": 5, "core": 5, "print": [5, 6, 8, 9, 11, 13], "closer": 5, "center": 5, "ha": [6, 7, 9], "develop": 6, "part": 6, "bachelor": 6, "thesi": 6, "brno": 6, "univers": 6, "technologi": 6, "faculti": 6, "topic": 6, "model": [1, 6, 9, 12, 13], "consist": 6, "custom": [5, 6], "enhanc": 6, "sever": [6, 7], "import": 6, "modul": [6, 7, 10], "accur": 6, "represent": 6, "human": 6, "printer": 6, "either": 6, "planar": [6, 12], "curv": [6, 9, 12], "map": [6, 9, 12], "finger": [6, 9, 12], "still": 6, "under": 6, "get": [6, 9], "start": 6, "avail": 6, "usag": 6, "troubleshoot": 6, "config_pars": [6, 10], "log": [6, 10], "error_exit": [6, 8, 10], "print_messag": [6, 8, 10], "fingerprint_app": [6, 9, 10], "__init__": [6, 9, 10], "parse_argu": [6, 9, 10], "parse_stl": [6, 9, 10], "run_filt": [6, 9, 10], "get_empty_figur": [6, 9, 10], "mirror_imag": [6, 9, 10], "apply_filt": [6, 9, 10], "save_imag": [6, 9, 10], "run_stl": [6, 9, 10], "prepare_heightmap": [6, 9, 10], "write_stl_head": [6, 9, 10], "get_id": [6, 9, 10], "append_fac": [6, 9, 10], "engrave_text": [6, 9, 10], "create_stl_mesh": [6, 9, 10], "create_fac": [6, 9, 10], "make_stl_planar": [6, 9, 10], "make_stl_curv": [6, 9, 10], "make_stl_map": [6, 9, 10], "save_stl": [6, 9, 10], "stl_parser": [6, 10], "test": 7, "ubuntu": 7, "gnu": 7, "linux": 7, "machin": 7, "howev": 7, "most": 7, "distribut": 7, "wsl": 7, "succesfulli": 7, "python": 7, "might": 7, "earlier": 7, "sudo": 7, "apt": 7, "virtualenv": 7, "packag": 7, "creation": 7, "other": [7, 12], "automat": 7, "pip": 7, "compon": 7, "document": 7, "go": 7, "suitabl": 7, "folder": 7, "cd": 7, "home": 7, "usernam": 7, "clone": 7, "repositori": 7, "git": 7, "ssh": [], "strade": 7, "fit": [7, 9], "vutbr": 7, "cz": 7, "3022": [], "bp_dp": 7, "txt": 7, "r": 7, "now": 7, "run": [7, 11], "do": 7, "listedin": 7, "section": 7, "function": [8, 9], "error_messag": 8, "given": [8, 9], "error": [8, 12], "messag": [8, 12, 13], "exit": [8, 13], "arg": 8, "kwarg": 8, "stderr": 8, "argument": [9, 11, 12, 13], "argpars": 9, "read": 9, "arrai": 9, "uint8": 9, "grayscal": 9, "call": 9, "return": 9, "empti": 9, "figur": 9, "ax": 9, "dimens": 9, "mirror": [9, 13], "we": [], "posit": [12, 13], "In": [9, 12], "case": 9, "were": 9, "pass": 9, "fig": 9, "render": 9, "heightmap": 9, "255": 9, "Then": 9, "comput": 9, "valid": 9, "prepar": 9, "meshgrid": 9, "point": 9, "coordin": 9, "write": 9, "string": 9, "header": [9, 11], "80": 9, "byte": 9, "so": 9, "shorten": 9, "too": 9, "warn": 9, "truncat": 9, "uniqu": 9, "id": 9, "backsid": 9, "md5": 9, "face": 9, "indic": 9, "engrav": 9, "text": 9, "back": 9, "fill": 9, "draw": 9, "bottom_vert_arr": 9, "bottom": 9, "vertex": 9, "top_vert_arr": 9, "top": 9, "vertic": 9, "vector": 9, "append": 9, "depth": 12, "surfac": 9, "final": 9, "util": 11, "preformat": 11, "solut": 12, "probabl": 12, "forgot": 12, "some": 12, "palec_p14": 12, "doe": 12, "again": 12, "found": 12, "present": 12, "select": 12, "correct": [9, 12], "undefined_filt": 12, "One": 12, "defin": 12, "unrecogn": 12, "must": 12, "less": 12, "plate": 12, "when": [12, 13], "cast": 12, "thckness": 12, "otherwis": 12, "would": 12, "hole": 12, "cannot": 12, "neg": 12, "order": 12, "both": 12, "ani": 12, "outsid": 12, "noth": 12, "try": 12, "doubt": 13, "alwai": 13, "help": 13, "out": 13, "stl_file": [], "database_filenam": 13, "program": 13, "2d": 13, "3d": [1, 13], "scanner": 13, "filter_name1": 13, "param1": 13, "param2": 13, "filter_name2": 13, "show": 13, "pair": 13, "parser": 1, "cancel": 9, "implicit": 9, "choos": [5, 9], "code": 9, "z": 9, "new_ridg": [3, 5], "next": 5, "finger_model": [5, 13], "allow": 5, "finger_backup": 5, "http": 7}, "objects": {"": [[1, 0, 0, "-", "config_parser"], [4, 0, 0, "-", "filters"], [8, 0, 0, "-", "log"]], "config_parser": [[1, 1, 1, "", "parse_conf"], [1, 1, 1, "", "parse_params"], [1, 1, 1, "", "save_preset"], [1, 1, 1, "", "store_to_db"]], "filters": [[4, 2, 1, "", "add_margin"], [4, 2, 1, "", "bilateral"], [4, 2, 1, "", "bilateral_scikit"], [4, 2, 1, "", "binarize"], [4, 2, 1, "", "binarize_otsu"], [4, 2, 1, "", "block_match"], [4, 2, 1, "", "dilate"], [4, 2, 1, "", "erode"], [4, 2, 1, "", "farid"], [4, 2, 1, "", "gaussian"], [4, 2, 1, "", "hessian"], [4, 2, 1, "", "img_filter"], [4, 2, 1, "", "invert"], [4, 2, 1, "", "median"], [4, 2, 1, "", "meijering"], [4, 2, 1, "", "nlmeans"], [4, 2, 1, "", "sato"], [4, 2, 1, "", "scale_values"], [4, 2, 1, "", "total_variation"], [4, 2, 1, "", "unsharp_mask_pil"], [4, 2, 1, "", "unsharp_mask_scikit"]], "filters.add_margin": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.bilateral": [[4, 3, 1, "", "apply"]], "filters.bilateral_scikit": [[4, 3, 1, "", "apply"]], "filters.binarize": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.binarize_otsu": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.block_match": [[4, 3, 1, "", "apply"]], "filters.dilate": [[4, 3, 1, "", "apply"]], "filters.erode": [[4, 3, 1, "", "apply"]], "filters.farid": [[4, 3, 1, "", "apply"]], "filters.gaussian": [[4, 3, 1, "", "apply"]], "filters.hessian": [[4, 3, 1, "", "apply"]], "filters.invert": [[4, 3, 1, "", "apply"]], "filters.median": [[4, 3, 1, "", "apply"]], "filters.meijering": [[4, 3, 1, "", "apply"]], "filters.nlmeans": [[4, 3, 1, "", "apply"]], "filters.sato": [[4, 3, 1, "", "apply"]], "filters.scale_values": [[4, 3, 1, "", "apply"]], "filters.total_variation": [[4, 3, 1, "", "apply"]], "filters.unsharp_mask_pil": [[4, 3, 1, "", "apply"]], "filters.unsharp_mask_scikit": [[4, 3, 1, "", "apply"]], "log": [[8, 1, 1, "", "error_exit"], [8, 1, 1, "", "print_message"]], "main": [[9, 1, 1, "", "__init__"], [9, 1, 1, "", "append_faces"], [9, 1, 1, "", "apply_filters"], [9, 1, 1, "", "create_faces"], [9, 1, 1, "", "create_stl_mesh"], [9, 1, 1, "", "engrave_text"], [9, 2, 1, "", "fingerprint_app"], [9, 1, 1, "", "get_ID"], [9, 1, 1, "", "get_empty_figure"], [9, 1, 1, "", "make_stl_curved"], [9, 1, 1, "", "make_stl_map"], [9, 1, 1, "", "make_stl_planar"], [9, 1, 1, "", "mirror_image"], [9, 1, 1, "", "parse_arguments"], [9, 1, 1, "", "parse_stl"], [9, 1, 1, "", "prepare_heightmap"], [9, 1, 1, "", "run_filtering"], [9, 1, 1, "", "run_stl"], [9, 1, 1, "", "save_image"], [9, 1, 1, "", "save_stl"], [9, 1, 1, "", "write_stl_header"]], "stl_parser": [[11, 1, 1, "", "stl_parser"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"configur": 0, "preset": 0, "config_pars": 1, "modul": [1, 4, 8, 9, 11], "avail": 2, "filter": [2, 3, 4], "paramet": 2, "imag": 3, "gener": 5, "fingerprint": 5, "model": 5, "curv": 5, "planar": 5, "finger": 5, "map": 5, "exist": 5, "generov\u00e1n\u00ed": 6, "3d": 6, "modelu": 6, "otisku": 6, "prstu": 6, "content": 6, "instal": 7, "requir": 7, "get": 7, "start": 7, "log": 8, "main": 9, "src": 10, "stl_parser": 11, "troubleshoot": 12, "usag": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"Configuration and presets": [[0, "configuration-and-presets"]], "Available filters with parameters": [[2, "available-filters-with-parameters"]], "Generov\u00e1n\u00ed 3D modelu otisku prstu": [[6, "generovani-3d-modelu-otisku-prstu"]], "Contents": [[6, "contents"]], "src": [[10, "src"]], "Troubleshooting": [[12, "troubleshooting"]], "config_parser module": [[1, "module-config_parser"]], "filters module": [[4, "module-filters"]], "log module": [[8, "module-log"]], "main module": [[9, "main-module"]], "stl_parser module": [[11, "stl-parser-module"]], "Filtering images": [[3, "filtering-images"]], "Generating fingerprint models": [[5, "generating-fingerprint-models"]], "Generating curved fingerprint model": [[5, "generating-curved-fingerprint-model"]], "Generating planar finger model": [[5, "generating-planar-finger-model"]], "Mapping fingerprint to existing finger model": [[5, "mapping-fingerprint-to-existing-finger-model"]], "Installation": [[7, "installation"]], "Requirements": [[7, "requirements"]], "Getting started": [[7, "getting-started"]], "Usage": [[13, "usage"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["config", "config_parser", "filter_list", "filtering", "filters", "generation", "index", "installation", "log", "main", "modules", "stl_parser", "troubleshooting", "usage"], "filenames": ["config.rst", "config_parser.rst", "filter_list.rst", "filtering.rst", "filters.rst", "generation.rst", "index.rst", "installation.rst", "log.rst", "main.rst", "modules.rst", "stl_parser.rst", "troubleshooting.rst", "usage.rst"], "titles": ["Configuration and presets", "config_parser module", "Available filters with parameters", "Filtering images", "filters module", "Generating fingerprint models", "Generov\u00e1n\u00ed 3D modelu otisku prstu", "Installation", "log module", "main module", "src", "stl_parser module", "Troubleshooting", "Usage"], "terms": {"There": [0, 3], "i": [0, 1, 2, 3, 4, 5, 7, 9, 12], "an": [0, 2, 6, 9, 12], "option": [0, 5, 13], "input": [0, 3, 6, 9, 12, 13], "filter": [0, 1, 6, 9, 10, 12, 13], "seri": 0, "from": [0, 1, 3, 4, 6, 7, 9, 12, 13], "json": [0, 3, 5], "file": [0, 1, 3, 9, 11, 12, 13], "here": 0, "ar": [0, 1, 3, 5, 7, 12], "store": [0, 1, 9, 13], "readi": [0, 3], "us": [0, 2, 3, 4, 5, 6, 7, 9, 13], "whenev": 0, "need": [0, 3, 5, 7, 9], "you": [0, 3, 7, 12, 13], "can": [0, 3, 6, 13], "usehow": 0, "mani": 0, "long": [0, 9], "like": 0, "output": [0, 3, 5, 9, 13], "It": [0, 5, 7], "therefor": 0, "highli": 0, "recommend": 0, "check": [0, 9, 12, 13], "after": 0, "everi": [0, 3], "chang": [0, 12], "exampl": [0, 3, 5, 7], "abov": 0, "list": [0, 1, 2, 3, 9, 13], "bellow": [0, 3, 7], "along": [0, 5], "gener": [0, 1, 6, 9, 12], "form": [0, 5, 13], "format": 0, "work": [0, 5, 7], "name": [0, 1, 3, 12, 13], "filter_nam": 0, "paramet": [0, 1, 3, 4, 5, 6, 9, 12, 13], "valu": [0, 1, 2, 4, 9, 13], "git_exampl": 0, "denoise_tv_chambol": [0, 4], "weight": [0, 2, 3], "0": [0, 3, 5, 9], "01": 0, "iter": [0, 5, 9, 13], "1": 0, "median": [0, 2, 3, 4, 6, 10], "ksize": [0, 2, 3], "3": [0, 7], "To": [0, 7], "avoid": 0, "accident": 0, "loss": 0, "inform": [0, 6], "caus": 0, "modifi": [0, 3, 5], "have": [0, 12], "been": [0, 6, 7], "stl": [0, 5, 9, 11, 12, 13], "insid": [0, 7], "db": 0, "thi": [0, 4, 5, 6, 7, 9, 13], "serv": [0, 9], "simpl": 0, "databas": [0, 1, 13], "ad": [0, 2, 9], "hash": [0, 9], "all": [0, 2, 3, 4, 7, 9], "also": [0, 7, 9], "save": [0, 1, 9], "current": [0, 2, 9], "command": [0, 1, 3, 5, 9, 11, 12], "line": [0, 1, 3, 4, 5, 9, 12], "set": [0, 1, 5, 7], "d": [0, 13], "switch": [0, 5, 13], "": [0, 6, 13], "new": [0, 3], "parse_conf": [1, 6, 10], "preset_nam": 1, "param": [1, 4, 8], "config_fil": [1, 5, 13], "pars": [1, 9, 11], "configur": [1, 3, 6], "one": [1, 4, 9], "wa": [1, 6], "specifi": 1, "preset": [1, 3, 5, 6, 12, 13], "load": [1, 3, 12], "dictionari": 1, "path": [1, 3, 13], "config": [1, 3, 5, 12, 13], "parse_param": [1, 6, 10], "none": [1, 9], "These": [1, 5], "later": [1, 7, 9], "default": 1, "method": 1, "appli": [1, 4, 6, 9, 10], "save_preset": [1, 6, 10], "store_to_db": [1, 6, 10], "overview": 2, "implement": [2, 4], "descript": 2, "below": 2, "blur": [2, 4], "int": 2, "kernel": [2, 4], "size": 2, "determin": 2, "how": [2, 7], "larg": 2, "area": 2, "process": [2, 6, 9, 12, 13], "gaussian": [2, 4, 6, 10], "sigma": [2, 4], "standart": 2, "deviat": 2, "further": 2, "pixel": [2, 4], "bilater": [2, 4, 6, 10], "diamet": 2, "neighborhood": 2, "sigmacolor": 2, "differ": 2, "color": [2, 4, 9], "sigmaspac": 2, "bilateral_scikit": [2, 4, 6, 10], "float": 2, "nlmean": [2, 4, 6, 10], "non": [2, 4], "local": [2, 4], "mean": [2, 4], "patch_siz": 2, "patch": 2, "denois": [2, 4], "patch_dist": 2, "distanc": [2, 4], "where": 2, "search": 2, "h": [2, 13], "cut": 2, "off": [2, 7], "higher": [2, 5], "more": [2, 5], "smooth": 2, "imag": [2, 4, 6, 9, 12, 13], "total_vari": [2, 3, 4, 6, 10], "much": [2, 4], "block_match": [2, 4, 6, 10], "unsharp_mask_scikit": [2, 4, 6, 10], "radiu": [2, 4], "amount": [2, 4], "strength": [2, 4], "unsharp": [2, 4], "mask": [2, 4], "farid": [2, 4, 6, 10], "meijer": [2, 4, 6, 10], "sato": [2, 4, 6, 10], "hessian": [2, 4, 6, 10], "invert": [2, 4, 6, 10], "scale_valu": [2, 4, 6, 10], "binar": [2, 4, 6, 10], "threshold": 2, "differenti": 2, "binarize_otsu": [2, 4, 6, 10], "add_margin": [2, 4, 6, 10], "margin": [2, 4], "number": [2, 5], "add": [2, 4, 9], "side": [2, 12], "newli": 2, "erod": [2, 4, 6, 10], "numpi": [2, 9], "matrix": 2, "shape": [2, 5], "dilat": [2, 4, 6, 10], "onc": 3, "requir": [3, 5, 6, 12], "instal": [3, 6], "applic": [1, 3, 4, 6, 7, 8, 9], "fingerprint": [1, 3, 6, 9, 12, 13], "sampl": 3, "locat": [3, 5], "re": [3, 5, 12], "its": [3, 5, 7, 12], "palec_p4": [3, 5], "tif": [3, 5, 12], "enter": [3, 7], "virtual": [3, 7], "enviro": [3, 7], "time": 3, "want": [3, 5, 12], "sourc": [3, 7], "venv": [3, 7], "bin": [3, 7], "activ": [3, 6, 7], "The": [3, 5, 6, 12], "filenam": [3, 5, 9, 12], "includ": [3, 7, 12], "root": 3, "project": [3, 6, 9], "directori": [3, 7], "dpi": [3, 5, 12, 13], "shown": 3, "python3": [3, 5, 7, 13], "src": [3, 5, 6, 13], "main": [3, 5, 6, 10, 11, 12, 13], "py": [3, 5, 11, 12, 13], "input_fil": [3, 5, 12, 13], "output_fil": [3, 5, 12, 13], "two": [3, 6], "wai": 3, "manual": 3, "palec_p4_from_clin": 3, "png": [3, 5], "600": [3, 5], "15": 3, "5": 3, "them": 3, "tune": 3, "exist": [3, 6, 12], "creat": [3, 7, 9, 13], "ones": 3, "palec_p4_from_preset": [3, 5], "conf": [3, 5], "brief": [], "librari": [4, 6, 9, 12], "author": [], "xlanro00": 7, "class": [4, 9], "img": 4, "base": [4, 5, 9, 12], "img_filt": [4, 6, 10], "init": [4, 6, 10], "opencv": [4, 9], "skimag": 4, "denoise_bilater": 4, "averag": 4, "similar": 4, "preserv": 4, "edg": 4, "while": 4, "remov": 4, "unwant": 4, "nois": 4, "slower": 4, "than": [4, 12], "otsu": 4, "_": 4, "block": 4, "match": 4, "bm3d": 4, "veri": 4, "slow": 4, "should": [4, 7, 9, 12], "onli": [4, 5, 7, 12], "small": 4, "morpholog": 4, "oper": 4, "eros": 4, "find": 4, "scikit": 4, "easier": 4, "version": [4, 7], "object": 4, "parent": 4, "bitwise_not": 4, "over": [4, 9], "limit": 4, "5x5": 4, "continu": 4, "ridg": 4, "exctract": 4, "scale": [4, 9], "entir": 4, "rang": [4, 12], "data": [4, 9], "type": [4, 5], "height": [4, 5, 9, 12], "issu": 4, "perform": 4, "total": 4, "variat": 4, "techniqu": 4, "origin": [4, 9], "chambol": 4, "paper": 4, "fine": 4, "detail": 4, "unsharp_mask_pil": [4, 6, 10], "pil": 4, "subtract": 4, "regul": 4, "better": [4, 5], "result": [4, 5], "possibl": [5, 7], "first": [5, 6, 12], "which": [5, 7, 9, 13], "If": [5, 9], "mode": [5, 9, 12], "c": [5, 9, 12, 13], "follow": [5, 12, 13], "control": 5, "papilar": [5, 9], "height_lin": [5, 13], "second": [5, 6], "thick": [5, 12], "height_bas": [5, 13], "third": 5, "rate": 5, "curvatur": 5, "x": 5, "axi": 5, "curv_rate_x": [5, 13], "y": 5, "curv_rate_i": [5, 13], "curvature_x": 5, "curvature_i": 5, "2": 5, "10": [5, 7], "p": [5, 12, 13], "make": [5, 6], "flat": 5, "m": [5, 12, 13], "preexist": 5, "contain": [5, 9], "mesh": [5, 9], "denser": 5, "itert": 5, "last": 5, "three": 5, "offset": [5, 9], "finger_x": [5, 12, 13], "finger_i": [5, 12, 13], "finger_z": [5, 12, 13], "thei": 5, "user": 5, "move": 5, "core": 5, "print": [5, 6, 8, 9, 11, 13], "closer": 5, "center": 5, "ha": [6, 7, 9], "develop": 6, "part": 6, "bachelor": 6, "thesi": 6, "brno": 6, "univers": 6, "technologi": 6, "faculti": 6, "topic": 6, "model": [1, 6, 9, 12, 13], "consist": 6, "custom": [5, 6], "enhanc": 6, "sever": [6, 7], "import": 6, "modul": [6, 7, 10], "accur": 6, "represent": 6, "human": 6, "printer": 6, "either": 6, "planar": [6, 12], "curv": [6, 9, 12], "map": [6, 9, 12], "finger": [6, 9, 12], "still": 6, "under": 6, "get": [6, 9], "start": 6, "avail": 6, "usag": 6, "troubleshoot": 6, "config_pars": [6, 10], "log": [6, 10], "error_exit": [6, 8, 10], "print_messag": [6, 8, 10], "fingerprint_app": [6, 9, 10], "__init__": [6, 9, 10], "parse_argu": [6, 9, 10], "parse_stl": [6, 9, 10], "run_filt": [6, 9, 10], "get_empty_figur": [6, 9, 10], "mirror_imag": [6, 9, 10], "apply_filt": [6, 9, 10], "save_imag": [6, 9, 10], "run_stl": [6, 9, 10], "prepare_heightmap": [6, 9, 10], "write_stl_head": [6, 9, 10], "get_id": [6, 9, 10], "append_fac": [6, 9, 10], "engrave_text": [6, 9, 10], "create_stl_mesh": [6, 9, 10], "create_fac": [6, 9, 10], "make_stl_planar": [6, 9, 10], "make_stl_curv": [6, 9, 10], "make_stl_map": [6, 9, 10], "save_stl": [6, 9, 10], "stl_parser": [6, 10], "test": 7, "ubuntu": 7, "gnu": [], "linux": 7, "machin": 7, "howev": [], "most": 7, "distribut": 7, "wsl": 7, "succesfulli": 7, "python": 7, "might": 7, "earlier": 7, "sudo": 7, "apt": 7, "virtualenv": 7, "packag": 7, "creation": 7, "other": [7, 12], "automat": 7, "pip": 7, "compon": 7, "document": 7, "go": 7, "suitabl": 7, "folder": 7, "cd": 7, "home": 7, "usernam": 7, "clone": 7, "repositori": 7, "git": 7, "ssh": [], "strade": 7, "fit": [7, 9], "vutbr": 7, "cz": 7, "3022": [], "bp_dp": 7, "txt": 7, "r": 7, "now": 7, "run": [7, 11], "do": 7, "listedin": 7, "section": 7, "function": [8, 9], "error_messag": 8, "given": [8, 9], "error": [8, 12], "messag": [8, 12, 13], "exit": [8, 13], "arg": 8, "kwarg": 8, "stderr": 8, "argument": [9, 11, 12, 13], "argpars": 9, "read": 9, "arrai": 9, "uint8": 9, "grayscal": 9, "call": 9, "return": 9, "empti": 9, "figur": 9, "ax": 9, "dimens": 9, "mirror": [9, 13], "we": [], "posit": [12, 13], "In": [9, 12], "case": 9, "were": 9, "pass": 9, "fig": 9, "render": 9, "heightmap": 9, "255": 9, "Then": 9, "comput": 9, "valid": 9, "prepar": 9, "meshgrid": 9, "point": 9, "coordin": 9, "write": 9, "string": 9, "header": [9, 11], "80": 9, "byte": 9, "so": 9, "shorten": 9, "too": 9, "warn": 9, "truncat": 9, "uniqu": 9, "id": 9, "backsid": 9, "md5": 9, "face": 9, "indic": 9, "engrav": 9, "text": 9, "back": 9, "fill": 9, "draw": 9, "bottom_vert_arr": 9, "bottom": 9, "vertex": 9, "top_vert_arr": 9, "top": 9, "vertic": 9, "vector": 9, "append": 9, "depth": 12, "surfac": 9, "final": 9, "util": 11, "preformat": 11, "solut": 12, "probabl": 12, "forgot": 12, "some": 12, "palec_p14": 12, "doe": 12, "again": 12, "found": 12, "present": 12, "select": 12, "correct": [9, 12], "undefined_filt": 12, "One": 12, "defin": 12, "unrecogn": 12, "must": 12, "less": 12, "plate": 12, "when": [12, 13], "cast": 12, "thckness": 12, "otherwis": 12, "would": 12, "hole": 12, "cannot": 12, "neg": 12, "order": 12, "both": 12, "ani": 12, "outsid": 12, "noth": 12, "try": 12, "doubt": 13, "alwai": 13, "help": 13, "out": 13, "stl_file": [], "database_filenam": 13, "program": 13, "2d": 13, "3d": [1, 13], "scanner": 13, "filter_name1": 13, "param1": 13, "param2": 13, "filter_name2": 13, "show": 13, "pair": 13, "parser": 1, "cancel": 9, "implicit": 9, "choos": [5, 9], "code": 9, "z": 9, "new_ridg": [3, 5], "next": 5, "finger_model": [5, 13], "allow": 5, "finger_backup": 5, "http": 7, "For": 7, "22": 7, "04": 7, "fedora": 7, "37": 7}, "objects": {"": [[1, 0, 0, "-", "config_parser"], [4, 0, 0, "-", "filters"], [8, 0, 0, "-", "log"]], "config_parser": [[1, 1, 1, "", "parse_conf"], [1, 1, 1, "", "parse_params"], [1, 1, 1, "", "save_preset"], [1, 1, 1, "", "store_to_db"]], "filters": [[4, 2, 1, "", "add_margin"], [4, 2, 1, "", "bilateral"], [4, 2, 1, "", "bilateral_scikit"], [4, 2, 1, "", "binarize"], [4, 2, 1, "", "binarize_otsu"], [4, 2, 1, "", "block_match"], [4, 2, 1, "", "dilate"], [4, 2, 1, "", "erode"], [4, 2, 1, "", "farid"], [4, 2, 1, "", "gaussian"], [4, 2, 1, "", "hessian"], [4, 2, 1, "", "img_filter"], [4, 2, 1, "", "invert"], [4, 2, 1, "", "median"], [4, 2, 1, "", "meijering"], [4, 2, 1, "", "nlmeans"], [4, 2, 1, "", "sato"], [4, 2, 1, "", "scale_values"], [4, 2, 1, "", "total_variation"], [4, 2, 1, "", "unsharp_mask_pil"], [4, 2, 1, "", "unsharp_mask_scikit"]], "filters.add_margin": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.bilateral": [[4, 3, 1, "", "apply"]], "filters.bilateral_scikit": [[4, 3, 1, "", "apply"]], "filters.binarize": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.binarize_otsu": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.block_match": [[4, 3, 1, "", "apply"]], "filters.dilate": [[4, 3, 1, "", "apply"]], "filters.erode": [[4, 3, 1, "", "apply"]], "filters.farid": [[4, 3, 1, "", "apply"]], "filters.gaussian": [[4, 3, 1, "", "apply"]], "filters.hessian": [[4, 3, 1, "", "apply"]], "filters.invert": [[4, 3, 1, "", "apply"]], "filters.median": [[4, 3, 1, "", "apply"]], "filters.meijering": [[4, 3, 1, "", "apply"]], "filters.nlmeans": [[4, 3, 1, "", "apply"]], "filters.sato": [[4, 3, 1, "", "apply"]], "filters.scale_values": [[4, 3, 1, "", "apply"]], "filters.total_variation": [[4, 3, 1, "", "apply"]], "filters.unsharp_mask_pil": [[4, 3, 1, "", "apply"]], "filters.unsharp_mask_scikit": [[4, 3, 1, "", "apply"]], "log": [[8, 1, 1, "", "error_exit"], [8, 1, 1, "", "print_message"]], "main": [[9, 1, 1, "", "__init__"], [9, 1, 1, "", "append_faces"], [9, 1, 1, "", "apply_filters"], [9, 1, 1, "", "create_faces"], [9, 1, 1, "", "create_stl_mesh"], [9, 1, 1, "", "engrave_text"], [9, 2, 1, "", "fingerprint_app"], [9, 1, 1, "", "get_ID"], [9, 1, 1, "", "get_empty_figure"], [9, 1, 1, "", "make_stl_curved"], [9, 1, 1, "", "make_stl_map"], [9, 1, 1, "", "make_stl_planar"], [9, 1, 1, "", "mirror_image"], [9, 1, 1, "", "parse_arguments"], [9, 1, 1, "", "parse_stl"], [9, 1, 1, "", "prepare_heightmap"], [9, 1, 1, "", "run_filtering"], [9, 1, 1, "", "run_stl"], [9, 1, 1, "", "save_image"], [9, 1, 1, "", "save_stl"], [9, 1, 1, "", "write_stl_header"]], "stl_parser": [[11, 1, 1, "", "stl_parser"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"configur": 0, "preset": 0, "config_pars": 1, "modul": [1, 4, 8, 9, 11], "avail": 2, "filter": [2, 3, 4], "paramet": 2, "imag": 3, "gener": 5, "fingerprint": 5, "model": 5, "curv": 5, "planar": 5, "finger": 5, "map": 5, "exist": 5, "generov\u00e1n\u00ed": 6, "3d": 6, "modelu": 6, "otisku": 6, "prstu": 6, "content": 6, "instal": 7, "requir": 7, "get": 7, "start": 7, "log": 8, "main": 9, "src": 10, "stl_parser": 11, "troubleshoot": 12, "usag": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"Configuration and presets": [[0, "configuration-and-presets"]], "Available filters with parameters": [[2, "available-filters-with-parameters"]], "Generov\u00e1n\u00ed 3D modelu otisku prstu": [[6, "generovani-3d-modelu-otisku-prstu"]], "Contents": [[6, "contents"]], "src": [[10, "src"]], "Troubleshooting": [[12, "troubleshooting"]], "config_parser module": [[1, "module-config_parser"]], "filters module": [[4, "module-filters"]], "log module": [[8, "module-log"]], "main module": [[9, "main-module"]], "stl_parser module": [[11, "stl-parser-module"]], "Filtering images": [[3, "filtering-images"]], "Generating fingerprint models": [[5, "generating-fingerprint-models"]], "Generating curved fingerprint model": [[5, "generating-curved-fingerprint-model"]], "Generating planar finger model": [[5, "generating-planar-finger-model"]], "Mapping fingerprint to existing finger model": [[5, "mapping-fingerprint-to-existing-finger-model"]], "Usage": [[13, "usage"]], "Installation": [[7, "installation"]], "Requirements": [[7, "requirements"]], "Getting started": [[7, "getting-started"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/docs/source/installation.rst b/docs/source/installation.rst index ef7aa60..e58ad1a 100644 --- a/docs/source/installation.rst +++ b/docs/source/installation.rst @@ -9,8 +9,8 @@ Installation Requirements ------------ -The application has only been tested on Ubuntu gnu/linux machines. -It should however be possible to use it in on most linux distributions, WSLs and also virtual machines of most linux distributions. +For now this has only been tested on Ubuntu 22.04, Fedora 37 and virtual machine with Ubuntu. +It should be possible to use it in on most linux distributions, WSLs and also virtual machines of most linux distributions. To start off, you need these to succesfully use the application.