{"adoption": {"forks": 491, "observed_at": "2026-08-28T04:04:54.464520+00:00", "stars": 1502}, "canonical_url": "https://ross.abutalabs.com/products/openisp", "card": {"archived": false, "artifact_type": "library", "description": "Image Signal Processor", "domain": ["image-processing", "computer-vision", "hardware"], "enriched": true, "function": ["image-processing", "simulation"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["cruxopen/openISP"], "name": "cruxopen/openISP", "platform": ["python", "cross-platform"], "pushed_at": "2023-02-01T14:06:04+00:00", "repo": "cruxopen/openISP", "stars": 1502, "tags": ["isp", "raw-image", "demosaicing", "camera-pipeline", "image-signal-processing"], "topics": ["isp", "image-processing", "image-signal-processor"], "urls": [], "use_cases": ["simulate a camera ISP pipeline in python", "convert RAW bayer images to RGB", "learn how image signal processing modules work", "prototype ISP tuning parameters", "implement demosaicing and white balance algorithms", "study camera image processing for embedded vision"], "what_it_is": "An open-source Python implementation of an Image Signal Processor (ISP) pipeline that converts RAW sensor images to RGB/YUV. It simulates hardware ISP modules such as dead pixel correction, black level compensation, auto white balance, demosaicing, gamma correction, and edge enhancement for learning and tuning purposes.", "when_to_avoid": ["you need a production real-time ISP for hardware deployment", "you need GPU-accelerated or high-throughput image processing", "you need HDR or temporal noise filtering, which are not yet implemented"], "when_to_choose": ["you want to understand or prototype an ISP pipeline in software", "you need a reference implementation of ISP modules like AWB, CCM, or denoising", "you are tuning or evaluating ISP parameters for camera hardware"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openisp", "repo": "cruxopen/openISP", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:32:52.444784+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06c9a06e1217c8ed3f69d043aeae1e7a96ab748ab550bfa220aaabe644682de0", "fetched_at": "2026-08-28T04:04:54.464520+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cruxopen/openISP"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:32:52.444784+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06c9a06e1217c8ed3f69d043aeae1e7a96ab748ab550bfa220aaabe644682de0", "fetched_at": "2026-08-28T04:04:54.464520+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cruxopen/openISP"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:32:52.444784+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06c9a06e1217c8ed3f69d043aeae1e7a96ab748ab550bfa220aaabe644682de0", "fetched_at": "2026-08-28T04:04:54.464520+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cruxopen/openISP"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:32:52.444784+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06c9a06e1217c8ed3f69d043aeae1e7a96ab748ab550bfa220aaabe644682de0", "fetched_at": "2026-08-28T04:04:54.464520+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cruxopen/openISP"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:32:52.444784+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06c9a06e1217c8ed3f69d043aeae1e7a96ab748ab550bfa220aaabe644682de0", "fetched_at": "2026-08-28T04:04:54.464520+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cruxopen/openISP"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:32:52.444784+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06c9a06e1217c8ed3f69d043aeae1e7a96ab748ab550bfa220aaabe644682de0", "fetched_at": "2026-08-28T04:04:54.464520+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cruxopen/openISP"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.464520+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:32:52.444784+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06c9a06e1217c8ed3f69d043aeae1e7a96ab748ab550bfa220aaabe644682de0", "fetched_at": "2026-08-28T04:04:54.464520+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cruxopen/openISP"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:32:52.444784+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06c9a06e1217c8ed3f69d043aeae1e7a96ab748ab550bfa220aaabe644682de0", "fetched_at": "2026-08-28T04:04:54.464520+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cruxopen/openISP"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:32:52.444784+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06c9a06e1217c8ed3f69d043aeae1e7a96ab748ab550bfa220aaabe644682de0", "fetched_at": "2026-08-28T04:04:54.464520+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cruxopen/openISP"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:32:52.444784+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06c9a06e1217c8ed3f69d043aeae1e7a96ab748ab550bfa220aaabe644682de0", "fetched_at": "2026-08-28T04:04:54.464520+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cruxopen/openISP"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2478, "days_push": 1309, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}