{"id":38694748,"url":"https://github.com/pmelchior/scarlet","last_synced_at":"2026-01-17T10:38:50.018Z","repository":{"id":39228988,"uuid":"90591102","full_name":"pmelchior/scarlet","owner":"pmelchior","description":"hyperspectral galaxy modeling and deblending","archived":false,"fork":false,"pushed_at":"2024-08-14T23:51:57.000Z","size":257770,"stargazers_count":54,"open_issues_count":33,"forks_count":21,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-09-13T11:46:43.734Z","etag":null,"topics":["component-separation","image-analysis","nmf","source-separation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmelchior.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-05-08T05:52:22.000Z","updated_at":"2025-05-29T16:17:45.000Z","dependencies_parsed_at":"2025-04-12T15:59:01.382Z","dependency_job_id":"33774483-8972-4a54-9ee9-1dd6e2991558","html_url":"https://github.com/pmelchior/scarlet","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/pmelchior/scarlet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmelchior%2Fscarlet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmelchior%2Fscarlet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmelchior%2Fscarlet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmelchior%2Fscarlet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmelchior","download_url":"https://codeload.github.com/pmelchior/scarlet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmelchior%2Fscarlet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28506593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T10:25:30.148Z","status":"ssl_error","status_checked_at":"2026-01-17T10:25:29.718Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["component-separation","image-analysis","nmf","source-separation"],"created_at":"2026-01-17T10:38:49.416Z","updated_at":"2026-01-17T10:38:50.000Z","avatar_url":"https://github.com/pmelchior.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![](https://travis-ci.org/pmelchior/scarlet.svg?branch=master)](https://travis-ci.org/pmelchior/scarlet)\n[![](https://img.shields.io/github/license/pmelchior/scarlet.svg)](https://github.com/pmelchior/scarlet/blob/master/LICENSE.md)\n[![DOI](https://img.shields.io/badge/DOI-10.1016%2Fj.ascom.2018.07.001-blue.svg)](https://doi.org/10.1016/j.ascom.2018.07.001)\n[![arXiv](https://img.shields.io/badge/arxiv-1802.10157-red.svg)](https://arxiv.org/abs/1802.10157)\n\n# Scarlet\n\nThis package performs source separation (aka \"deblending\") on multi-band images. It's geared towards optical astronomy, where scenes are composed of stars and galaxies, but it is straightforward to apply it to other imaging data.\n\n**For the full documentation see [the docs](https://pmelchior.github.io/scarlet/).**\n\nSeparation is achieved through a constrained matrix factorization, which models each source with a Spectral Energy Distribution (SED) and a non-parametric morphology, or multiple such components per source. In astronomy jargon, the code performs forced photometry (with PSF matching if needed) using an optimal weight function given by the signal-to-noise weighted morphology across bands. The approach works well if the sources in the scene have different colors and can be further strengthened by imposing various additional constraints/priors on each source.\n\nThe minimization itself uses the proximal gradient method (PGM). In short, we iteratively compute gradients of the likelihood (or of the posterior if priors are included), perform a downhill step, and project the outcome on a sub-manifold that satisfies one or multiple non-differentiable constraints for any of the sources.\n\nThis package provides a stand-alone implementation that contains the core components of the source separation algorithm. However, the development of this package is part of the [LSST Science Pipeline](https://pipelines.lsst.io);  the [meas_deblender](https://github.com/lsst/meas_deblender) package contains a wrapper to implement the algorithms here for the LSST stack.\n\nThe API is reasonably stable, but feel free to contact the authors [fred3m](https://github.com/fred3m) and [pmelchior](https://github.com/pmelchior) for guidance. For bug reports and feature request, open an issue.\n\nIf you make use of scarlet, please acknowledge [Melchior et al. (2018)](https://doi.org/10.1016/j.ascom.2018.07.001), which describes in detail the concepts and algorithms used in this package.\n\n## Prerequisites\n\nThe code runs on python\u003e=3.5. In addition, you'll need\n\n* numpy\n* pybind11\n* autograd\n* [proxmin](https://github.com/pmelchior/proxmin)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmelchior%2Fscarlet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmelchior%2Fscarlet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmelchior%2Fscarlet/lists"}