{"adoption": {"forks": 610, "observed_at": "2026-08-28T04:08:32.205036+00:00", "stars": 4007}, "canonical_url": "https://ross.abutalabs.com/products/seglossodyssey", "card": {"archived": false, "artifact_type": "library", "description": "A collection of loss functions for medical image segmentation", "domain": ["deep-learning", "computer-vision", "healthcare", "image-processing"], "enriched": true, "function": ["machine-learning", "deep-learning"], "health_score": 20, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["JunMa11/SegLossOdyssey"], "name": "JunMa11/SegLossOdyssey", "platform": ["python"], "pushed_at": "2023-11-01T23:10:13+00:00", "repo": "JunMa11/SegLossOdyssey", "stars": 4007, "tags": ["loss-functions", "medical-imaging", "segmentation", "pytorch", "research-collection"], "topics": [], "urls": [], "use_cases": ["find loss functions for medical image segmentation", "compare segmentation loss functions for imbalanced datasets", "choose a loss for training a U-Net on medical scans", "implement Dice or focal loss variants in PyTorch", "survey recent research on segmentation losses", "improve segmentation performance on small-structure classes"], "what_it_is": "A curated collection of loss functions for medical image segmentation, accompanying the 'Loss Odyssey in Medical Image Segmentation' survey paper. It catalogs and links implementations of segmentation losses, highlighting compound losses for imbalanced tasks.", "when_to_avoid": ["you need a maintained training framework rather than a loss catalog", "your task is general object detection or classification", "you need non-PyTorch implementations out of the box"], "when_to_choose": ["you are training deep learning models for medical image segmentation", "you need to benchmark or select among many segmentation losses", "your segmentation dataset is highly class-imbalanced"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/seglossodyssey", "repo": "JunMa11/SegLossOdyssey", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.205036+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:24:03.143874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfcaf8263b62e3f4fe2b02457ad65bbf04635d60668a4843c0b0f4065f4a62f0", "fetched_at": "2026-08-28T04:08:32.205036+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JunMa11/SegLossOdyssey"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.205036+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:24:03.143874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfcaf8263b62e3f4fe2b02457ad65bbf04635d60668a4843c0b0f4065f4a62f0", "fetched_at": "2026-08-28T04:08:32.205036+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JunMa11/SegLossOdyssey"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:24:03.143874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfcaf8263b62e3f4fe2b02457ad65bbf04635d60668a4843c0b0f4065f4a62f0", "fetched_at": "2026-08-28T04:08:32.205036+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JunMa11/SegLossOdyssey"}], "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:08:32.205036+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.205036+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.205036+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:24:03.143874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfcaf8263b62e3f4fe2b02457ad65bbf04635d60668a4843c0b0f4065f4a62f0", "fetched_at": "2026-08-28T04:08:32.205036+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JunMa11/SegLossOdyssey"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.205036+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.205036+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:24:03.143874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfcaf8263b62e3f4fe2b02457ad65bbf04635d60668a4843c0b0f4065f4a62f0", "fetched_at": "2026-08-28T04:08:32.205036+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JunMa11/SegLossOdyssey"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.205036+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.205036+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.205036+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:24:03.143874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfcaf8263b62e3f4fe2b02457ad65bbf04635d60668a4843c0b0f4065f4a62f0", "fetched_at": "2026-08-28T04:08:32.205036+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JunMa11/SegLossOdyssey"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.205036+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.205036+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:24:03.143874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfcaf8263b62e3f4fe2b02457ad65bbf04635d60668a4843c0b0f4065f4a62f0", "fetched_at": "2026-08-28T04:08:32.205036+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JunMa11/SegLossOdyssey"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:24:03.143874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfcaf8263b62e3f4fe2b02457ad65bbf04635d60668a4843c0b0f4065f4a62f0", "fetched_at": "2026-08-28T04:08:32.205036+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JunMa11/SegLossOdyssey"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:24:03.143874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfcaf8263b62e3f4fe2b02457ad65bbf04635d60668a4843c0b0f4065f4a62f0", "fetched_at": "2026-08-28T04:08:32.205036+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JunMa11/SegLossOdyssey"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:24:03.143874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfcaf8263b62e3f4fe2b02457ad65bbf04635d60668a4843c0b0f4065f4a62f0", "fetched_at": "2026-08-28T04:08:32.205036+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JunMa11/SegLossOdyssey"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2652, "days_push": 1036, "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}}