{"id":17526997,"url":"https://github.com/ideasman42/raster-retrace","last_synced_at":"2025-04-13T13:42:07.082Z","repository":{"id":62443646,"uuid":"91228090","full_name":"ideasman42/raster-retrace","owner":"ideasman42","description":"Image tracing command line utility.","archived":false,"fork":false,"pushed_at":"2023-02-07T12:40:12.000Z","size":51,"stargazers_count":52,"open_issues_count":0,"forks_count":5,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-06T12:42:58.898Z","etag":null,"topics":["command-line-tool","graphics","rust","vector-graphics"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ideasman42.png","metadata":{"files":{"readme":"readme.rst","changelog":"changelog.rst","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-05-14T07:48:43.000Z","updated_at":"2024-12-27T22:36:54.000Z","dependencies_parsed_at":"2022-11-01T22:16:44.988Z","dependency_job_id":"82a1d97c-b11f-4958-afd8-535b49363c4a","html_url":"https://github.com/ideasman42/raster-retrace","commit_stats":{"total_commits":25,"total_committers":1,"mean_commits":25.0,"dds":0.0,"last_synced_commit":"7da812876811d81b091abd58951c54090cb7183a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideasman42%2Fraster-retrace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideasman42%2Fraster-retrace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideasman42%2Fraster-retrace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideasman42%2Fraster-retrace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ideasman42","download_url":"https://codeload.github.com/ideasman42/raster-retrace/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248724489,"owners_count":21151557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line-tool","graphics","rust","vector-graphics"],"created_at":"2024-10-20T15:02:55.199Z","updated_at":"2025-04-13T13:42:07.057Z","avatar_url":"https://github.com/ideasman42.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\n**************\nRaster Retrace\n**************\n\nImage tracing utility.\n\n\nFeature Set\n===========\n\n- Curve (re)fitting, using an iterative simplification algorithm: see\n  `curve-fit-nd \u003chttps://github.com/ideasman42/curve-fit-nd\u003e`__ library.\n- Black and white image tracing.\n- Corner detection (with angle threshold).\n- SVG vector output.\n\n.. note::\n\n   This is an initial release,\n   currently this tool works but only loads ``PPM`` images and writes out ``SVG``.\n\n   Support for other image formats is planned.\n\n\nExamples\n========\n\nExamples below use ``TANGENT`` and ``PIXEL`` passes to show the curve fit.\n\n.. figure:: https://cloud.githubusercontent.com/assets/1869379/26520327/6cead016-4313-11e7-9a98-1ec17fdb5a23.png\n   :target: https://github.com/ideasman42/raster-retrace-samples/blob/master/output/tauro_2_only_bull.svg\n\n.. figure:: https://cloud.githubusercontent.com/assets/1869379/26520404/42cfb506-4315-11e7-9f76-a83edb73f868.png\n   :target: https://github.com/ideasman42/raster-retrace-samples/blob/master/output/tauro_2.svg\n\n.. figure:: https://cloud.githubusercontent.com/assets/1869379/26520321/6049d294-4313-11e7-82a8-9c29e40c3b43.png\n   :target: https://github.com/ideasman42/raster-retrace-samples/blob/master/output/jacqueline_face_i.svg\n\n.. figure:: https://cloud.githubusercontent.com/assets/1869379/26520354/1bd0f858-4314-11e7-9f78-604d0fab5f5d.png\n   :target: https://github.com/ideasman42/raster-retrace-samples/blob/master/output/blob_simple.svg\n\n.. figure:: https://cloud.githubusercontent.com/assets/1869379/26520322/62e16620-4313-11e7-9a2f-550c015776ee.png\n   :target: https://github.com/ideasman42/raster-retrace-samples/blob/master/output/old_guitarist.svg\n\n\n\nUsage\n=====\n\n.. Output of '--help'\n\n::\n   Bitmap image tracing utility\n\n   Options:\n       -h, --help   Print help text\n\n\n   File Options:\n\n       -i, --input FILEPATH   The file path to use for input\n       -o, --output FILEPATH  The file path to use for writing\n\n\n   Tracing Behavior:\n\n       -m, --mode MODE          The method used for tracing the image in [OUTLINE, CENTER], (defaults to OUTLINE).\n       -z, --turnpolicy POLICY  Method for extracting outlines [BLACK, WHITE, MAJORITY, MINORITY], (defaults to MAJORITY).\n\n\n   Curve Evaluation Options:\n\n       Parameters controlling curve evaluation behavior.\n\n       -e, --error PIXELS      The error threshold (defaults to 1.0)\n       -t, --simplify PIXELS   Simplify polygon before fitting (defaults to 2.0)\n       -c, --corner DEGREES    The corner threshold (`pi` or greater to disable, defaults to 30.0)\n       --optimize-exhaustive   When passed, perform exhaustive curve fitting (can be slow!)\n\n\n   Output Options:\n\n       Generic options for output (format agnostic).\n\n       -s, --scale SCALE    Scale for output, (defaults to 1).\n       -p, --passes PASSES  Write extra debug graphics, comma separated list of passes including [PIXEL, PRE_FIT, TANGENT], (defaults to []).\n       --pass-scale SCALE   Scale graphic details used in some debug passes, (defaults to 1).\n\n\nTODO\n====\n\nWhile the basics work, currently there are areas for improvement.\n\n- Support for multiple image formats *(most likely using the piston crate)*.\n- Improve bitmap outline extraction method.\n- Improve center-line extraction method.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fideasman42%2Fraster-retrace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fideasman42%2Fraster-retrace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fideasman42%2Fraster-retrace/lists"}