{"id":23893805,"url":"https://github.com/trflorian/image-processing","last_synced_at":"2025-04-15T05:17:50.706Z","repository":{"id":270110267,"uuid":"900322792","full_name":"trflorian/image-processing","owner":"trflorian","description":"Explore multiprocessing for an image processing task ","archived":false,"fork":false,"pushed_at":"2025-01-19T09:53:38.000Z","size":57,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-15T05:17:43.398Z","etag":null,"topics":["data-science","opencv-python","python"],"latest_commit_sha":null,"homepage":"https://medium.com/towards-data-science/how-to-process-10k-images-in-seconds-e99661f5c2b5","language":"Python","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/trflorian.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-08T13:40:19.000Z","updated_at":"2025-01-19T09:53:40.000Z","dependencies_parsed_at":"2025-01-19T10:26:58.756Z","dependency_job_id":"246e0a03-34a5-4c71-963d-cffcf1a76576","html_url":"https://github.com/trflorian/image-processing","commit_stats":null,"previous_names":["trflorian/image-processing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trflorian%2Fimage-processing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trflorian%2Fimage-processing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trflorian%2Fimage-processing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trflorian%2Fimage-processing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trflorian","download_url":"https://codeload.github.com/trflorian/image-processing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249010222,"owners_count":21197796,"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":["data-science","opencv-python","python"],"created_at":"2025-01-04T14:39:47.525Z","updated_at":"2025-04-15T05:17:50.690Z","avatar_url":"https://github.com/trflorian.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Image Proceesing\n\nA small image processing project exploring how to use multiprocessing to optimize a data procesisng pipeline by parallelizing a CPU bound task on multiple cores.\n\n![Comparison of processing time for different workers](timing.png)\n\n## Quickstart\nTo get started, simply clone the repo, make sure that you have uv installed and then snyc the project dependencies.\n```\nuv sync\n```\n\nPlace some images in `./images/` folder or specify a custom input image directory with the `--input_path` argument. Then run the program, it will show a progress bar in the terminal indicating the progress and the iteration speed. \n\n```\nuv run main.py\n```\n\nBy default the program will run on a single core. If you specify e.g. `--num_workers 10` it will use a pool of 10 processes and parallelize the task across them. \n\n## Usage\n```\nusage: main.py [-h] [--input_path INPUT_PATH] [--output_path OUTPUT_PATH] [--image_extensions IMAGE_EXTENSIONS [IMAGE_EXTENSIONS ...]]\n               [--num_workers NUM_WORKERS] [--timing] [--subset SUBSET]\n\noptions:\n  -h, --help            show this help message and exit\n  --input_path INPUT_PATH\n                        Path to a folder with images\n  --output_path OUTPUT_PATH\n                        Path where the processed images will be stored\n  --image_extensions IMAGE_EXTENSIONS [IMAGE_EXTENSIONS ...]\n                        Extensions of image files to look for\n  --num_workers NUM_WORKERS\n                        Specify number of workers to use. If not specified, will use a single process for loop.\n  --timing              Enable timing of the process and save results to a `timing.txt` file\n  --subset SUBSET       Specify a subset of the images to process\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrflorian%2Fimage-processing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrflorian%2Fimage-processing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrflorian%2Fimage-processing/lists"}