Skip to content

Commit

Permalink
Merge pull request #361 from lsst/tickets/DM-42472
Browse files Browse the repository at this point in the history
DM-42472: Add minimum valid annulus fraction as a configuration parameter in StackBrightStarsTas
  • Loading branch information
bazkiaei committed Jan 19, 2024
2 parents 6770999 + a7b1da5 commit 20694e4
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions python/lsst/meas/algorithms/brightStarStamps.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ class BrightStarStamp(AbstractStamp):
archive_element: Persistable | None = None
annularFlux: float | None = None
minValidAnnulusFraction: float = 0.0
validAnnulusFraction: float | None = None
optimalInnerRadius: int | None = None
optimalOuterRadius: int | None = None

Expand Down Expand Up @@ -114,6 +115,7 @@ def factory(cls, stamp_im, metadata, idx, archive_element=None, minValidAnnulusF
archive_element=archive_element,
annularFlux=metadata.getArray("ANNULAR_FLUXES")[idx],
minValidAnnulusFraction=minValidAnnulusFraction,
validAnnulusFraction=metadata.getArray("VALID_PIXELS_FRACTION")[idx],
)

def measureAndNormalize(
Expand Down Expand Up @@ -158,6 +160,7 @@ def measureAndNormalize(
annulusStat = makeStatistics(annulusImage, statsFlag, statsControl)
# Determine the number of valid (unmasked) pixels within the annulus.
unMasked = annulusMask.array.size - np.count_nonzero(annulusMask.array)
self.validAnnulusFraction = unMasked / annulus.getArea()
logger.info(
"The Star's annulus contains %s valid pixels and the annulus itself contains %s pixels.",
unMasked,
Expand Down Expand Up @@ -458,6 +461,7 @@ def _refresh_metadata(self):
self._metadata["X0S"] = [xy0[0] for xy0 in positions]
self._metadata["Y0S"] = [xy0[1] for xy0 in positions]
self._metadata["ANNULAR_FLUXES"] = self.getAnnularFluxes()
self._metadata["VALID_PIXELS_FRACTION"] = self.getValidPixelsFraction()
self._metadata["NORMALIZED"] = self.normalized
self._metadata["INNER_RADIUS"] = self._innerRadius
self._metadata["OUTER_RADIUS"] = self._outerRadius
Expand Down Expand Up @@ -588,6 +592,18 @@ def getAnnularFluxes(self):
"""
return [stamp.annularFlux for stamp in self._stamps]

def getValidPixelsFraction(self):
"""Retrieve the fraction of valid pixels within the normalization
annulus for each star.
Returns
-------
validPixelsFractions : `list` [`float`]
Fractions of valid pixels within the normalization annulus for each
star.
"""
return [stamp.validAnnulusFraction for stamp in self._stamps]

def selectByMag(self, magMin=None, magMax=None):
"""Return the subset of bright star stamps for objects with specified
magnitude cuts (in Gaia G).
Expand Down

0 comments on commit 20694e4

Please sign in to comment.