{"id":26480547,"url":"https://github.com/christianbator/mosaic","last_synced_at":"2025-03-20T02:35:17.838Z","repository":{"id":281878421,"uuid":"946294943","full_name":"christianbator/mosaic","owner":"christianbator","description":"An open source computer vision library in Mojo","archived":false,"fork":false,"pushed_at":"2025-03-18T19:24:34.000Z","size":634,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T19:39:15.351Z","etag":null,"topics":["computer-vision","image-processing","mojo","opencv"],"latest_commit_sha":null,"homepage":"https://mosaiclib.org","language":"Mojo","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/christianbator.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":"2025-03-10T23:16:36.000Z","updated_at":"2025-03-18T19:24:38.000Z","dependencies_parsed_at":"2025-03-12T09:31:52.399Z","dependency_job_id":null,"html_url":"https://github.com/christianbator/mosaic","commit_stats":null,"previous_names":["christianbator/mosaic"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christianbator%2Fmosaic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christianbator%2Fmosaic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christianbator%2Fmosaic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christianbator%2Fmosaic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/christianbator","download_url":"https://codeload.github.com/christianbator/mosaic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244539124,"owners_count":20468851,"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":["computer-vision","image-processing","mojo","opencv"],"created_at":"2025-03-20T02:35:17.193Z","updated_at":"2025-03-20T02:35:17.826Z","avatar_url":"https://github.com/christianbator.png","language":"Mojo","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.png\" alt=\"Mosaic Logo\" width=\"280\" height=\"100\"\u003e\n  \u003cp\u003e\n    An open source computer vision library in Mojo\n    \n  ![Language Badge](https://img.shields.io/badge/language-mojo-orange)\n  ![GitHub License Badge](https://img.shields.io/github/license/christianbator/mosaic)\n  ![CodeQL](https://github.com/christianbator/mosaic/workflows/CodeQL/badge.svg)\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#overview\"\u003eOverview\u003c/a\u003e •\n  \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"#examples\"\u003eExamples\u003c/a\u003e\n\u003c/p\u003e\n\n## Overview\n#### Description\nMosaic is a cross-platform (currently only macOS) computer vision library for prototyping and production.\n\nBy transparently leveraging hardware acceleration and using the latest MLIR compiler technology, Mosaic is the first computer vision library built specifically for heterogenous compute: CPUs, GPUs, XPUs.\n\nIt unifies the computer vision workflow into one language that runs on any hardware.\n\n#### Principles\n1. Easy to use\n2. Type-safe, memory-safe\n3. Performant\n\n#### Features\n- Image representation\n  - Image file encoding and decoding\n  - Data type specification (at compile time)\n  - Color space specification (at compile time)\n- Image processing\n  - Filtering\n  - Geometric transforms\n  - Fourier transforms\n- Video capture\n  - Coming soon...\n- Video processing\n  - Coming soon...\n- Visualization\n  - Native image and video rendering\n- Hardware acceleration\n  - Parallelization and SIMD on CPUs\n  - GPU acceleration when available\n\n## Installation\n#### Prerequisites\n- [Magic](https://docs.modular.com/magic/) (the Mojo environment and package manager)\n\n#### Using the magic cli\n```bash\nmagic add mosaic\n```\n\n#### After installation\nThe `mojoproject.toml` file should include the Modular community channel and the Mosaic dependency:\n```toml\n[project]\nchannels = [\"https://repo.prefix.dev/modular-community\"]\n\n[dependencies]\nmosaic = \"*\"\n```\n\n## Examples\n#### Prerequisites\nClone the repo and build Mosaic:\n```bash\ngit clone git@github.com:christianbator/mosaic.git\ncd mosaic\nmagic run build\n```\n\n#### Running an example\nRun an example file from the `examples/` directory like so:\n```zsh\ncd examples\nmagic run mojo show_image.mojo\n```\n\n#### Show image\n- Reads an image file and displays it in the visualizer\n- Source: [examples/show_image.mojo](examples/show_image.mojo)\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/mandrill.png\" alt=\"Mandrill\" width=\"256\" height=\"256\"\u003e\n\u003c/div\u003e\n\n#### Blur image\n- Reads an image file, converts it to a `float32` representation, and applies a box filter to blur the image\n- Source: [examples/blur_image.mojo](examples/blur_image.mojo)\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/mandrill-blurred.png\" alt=\"Mandrill blurred\" width=\"256\" height=\"256\"\u003e\n\u003c/div\u003e\n\n#### Slice image\n- Reads an image file, creates an image slice of the top half, and displays it in the visualizer\n- Source: [examples/slice_image.mojo](examples/slice_image.mojo)\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/mandrill-top-half.png\" alt=\"Mandrill top half\" width=\"256\" height=\"128\"\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristianbator%2Fmosaic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristianbator%2Fmosaic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristianbator%2Fmosaic/lists"}