Consider making `_DAOStarFinderCatalog` and `_StarFinderKernel` public
- 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
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