astropy / astropy/photutils

Consider making `_DAOStarFinderCatalog` and `_StarFinderKernel` public

Open
#2,067 0 comments 0 reactions 0 assignees View on GitHub
detection feature request
Dominant language
Python
Stars
307
Forks
156
Avg merge
56m
Merged PRs (30d)
58

Description

We wanted to use some photutils functionality in the `jwst` repository to avoid repeating code. See https://github.com/spacetelescope/jwst/pull/9671/ for details of that attempted refactor.

Specifically, the goal was to replace the JWST source catalog's methods for computing DAOFind sharpness and roundness with photutils methods, as well as to use photutils for handling the DAOFind kernel and making the cutouts.

The JWST source catalog uses a segmentation algorithm by default, so we didn't want to inherit the whole `DAOStarFinder`, just some methods - and even if we did use `DAOStarFinder` as a parent class, it doesn't have direct access to the necessary `sharpness` and `roundness1` methods: only the private `_DAOStarFinderCatalog` has them.

Would you consider making `_DAOStarFinderCatalog` and `_StarFinderKernel` public (or making their methods accessible via public API in some other way) such that we could re-use photutils methods instead of maintaining our own versions?

Contributor guide

Open the contributing guide

Research direction

Review the private _DAOStarFinderCatalog and _StarFinderKernel APIs in photutils alongside the attempted refactor in https://github.com/spacetelescope/jwst/pull/9671/. Determine whether these classes or equivalent methods can be exposed for JWST's sharpness, roundness, kernel, and cutout use without requiring the full DAOStarFinder; done means JWST can reuse the supported photutils API instead of maintaining duplicate implementations.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.