Uploaded image for project: 'Request For Comments'
  1. Request For Comments
  2. RFC-289

New spatially-variant PhotoCalib object

    XMLWordPrintable

    Details

    • Type: RFC
    • Status: Implemented
    • Resolution: Done
    • Component/s: DM
    • Labels:
      None

      Description

      To improve jointcal's photometric fitting, we need a way to represent a spatially-varying photometric model. Our current Calib object is a constant flux/magnitude zero point (fluxMag0) per ccd/visit. We expect to want to handle a spatially varying component (whether due to sky, optical system, filters, a shift across a CCD, or some combination thereof), and jointcal should be able to fit such a model. As an example, HSC's meas_mosaic fits a 7th order polynomial on the focal plane, plus a fluxMag0 per CCD.

      I propose a replacement for lsst::afw::image::Calib that is built on top of an lsst::afw::math::BoundedField, defined in terms of the conversion from counts to flux in maggies. It will have countsToMaggies() and countsToMagnitudes() methods (replacing the current getMagnitude()) that take counts and/or a point, as well as a SourceRecord or SourceCatalog. The new PhotoCalib will behave the same as the old Calib for spatially invariant scaling (i.e. only fluxMag0 is defined).

      The class docstring for the new PhotoCalib object is as follows:

      /**
       * @brief      The photometric calibration of an exposure.
       *
       * A PhotoCalib is a BoundedField (a function with a specified domain) that converts between calibrated
       * counts-on-chip (ADU) to flux and magnitude. It is defined in terms of "maggies", which are a linear
       * unit defined in SDSS: http://www.sdss.org/dr12/algorithms/magnitudes/#nmgy
       *
       * PhotoCalib is immutable.
       *
       * The spatially varying flux/magnitude zero point is defined such that,
       * at a position (x,y) in the domain of the boundedField zeroPoint
       * and for a given measured source counts:
       *     zeroPoint(x,y) * counts = flux (in maggies)
       * while the errors (constant on the domain) are defined as:
       *     sqrt(countsSigma^2 + zeroPointSigma^2) = fluxSigma (in maggies)
       */
      

      You can see the full API for the new PhotoCalib on this gist.

        Attachments

          Issue Links

            Activity

            Parejkoj John Parejko created issue -
            Parejkoj John Parejko made changes -
            Field Original Value New Value
            Link This issue relates to DM-9184 [ DM-9184 ]
            Parejkoj John Parejko made changes -
            Link This issue relates to DM-9193 [ DM-9193 ]
            Parejkoj John Parejko made changes -
            Description To improve jointcal's photometric fitting, we need a way to represent a spatially-varying photometric model. Our current Calib object is a constant flux/magnitude zero point (fluxMag0) per ccd/visit. We expect to want to handle a spatially varying component (whether due to sky, optical system, filters, a shift across a CCD, or some combination thereof), and jointcal should be able to fit such a model. As an example, HSC's meas_mosaic fits a 7th order polynomial on the focal plane, plus a fluxMag0 per CCD.

            I propose a replacement for {{lsst::afw::image::Calib}} that is built on top of an {{lsst::afw::math::BoundedField}}, defined in terms of the conversion from counts to flux in maggies. It will have {{countsToMaggies()}} and {{countsToMagnitudes()}} methods (replacing the current {{getMagnitude()}}) that take counts and/or a point, as well as a SourceRecord or SourceCatalog. The new Calib will behave the same as the old Calib for spatially invariant scaling (i.e. only fluxMag0 is defined).

            The class docstring for the new Calib object is as follows:
            {code}
            /**
             * @brief The photometric calibration of an exposure.
             *
             * A Calib is a BoundedField (a function with a specified domain) that converts between calibrated
             * counts-on-chip (ADU) to flux and magnitude. It is defined in terms of "maggies", which are a linear
             * unit defined in SDSS: http://www.sdss.org/dr12/algorithms/magnitudes/#nmgy
             *
             * Calib is immutable.
             *
             * The spatially varying flux/magnitude zero point is defined such that,
             * at a position (x,y) in the domain of the boundedField zeroPoint
             * and for a given measured source counts:
             * zeroPoint(x,y) * counts = flux (in maggies)
             * while the errors (constant on the domain) are defined as:
             * sqrt(countsSigma^2 + zeroPointSigma^2) = fluxSigma (in maggies)
             */
            {code}

            You can see the full API for the new Calib [on this gist|https://gist.github.com/parejkoj/a1f16579a5561fa59df04a6a4ba40e45].
            To improve jointcal's photometric fitting, we need a way to represent a spatially-varying photometric model. Our current Calib object is a constant flux/magnitude zero point (fluxMag0) per ccd/visit. We expect to want to handle a spatially varying component (whether due to sky, optical system, filters, a shift across a CCD, or some combination thereof), and jointcal should be able to fit such a model. As an example, HSC's meas_mosaic fits a 7th order polynomial on the focal plane, plus a fluxMag0 per CCD.

            I propose a replacement for {{lsst::afw::image::Calib}} that is built on top of an {{lsst::afw::math::BoundedField}}, defined in terms of the conversion from counts to flux in maggies. It will have {{countsToMaggies()}} and {{countsToMagnitudes()}} methods (replacing the current {{getMagnitude()}}) that take counts and/or a point, as well as a SourceRecord or SourceCatalog. The new PhotoCalib will behave the same as the old Calib for spatially invariant scaling (i.e. only fluxMag0 is defined).

            The class docstring for the new PhotoCalib object is as follows:
            {code}
            /**
             * @brief The photometric calibration of an exposure.
             *
             * A PhotoCalib is a BoundedField (a function with a specified domain) that converts between calibrated
             * counts-on-chip (ADU) to flux and magnitude. It is defined in terms of "maggies", which are a linear
             * unit defined in SDSS: http://www.sdss.org/dr12/algorithms/magnitudes/#nmgy
             *
             * PhotoCalib is immutable.
             *
             * The spatially varying flux/magnitude zero point is defined such that,
             * at a position (x,y) in the domain of the boundedField zeroPoint
             * and for a given measured source counts:
             * zeroPoint(x,y) * counts = flux (in maggies)
             * while the errors (constant on the domain) are defined as:
             * sqrt(countsSigma^2 + zeroPointSigma^2) = fluxSigma (in maggies)
             */
            {code}

            You can see the full API for the new PhotoCalib [on this gist|https://gist.github.com/parejkoj/a1f16579a5561fa59df04a6a4ba40e45].
            Parejkoj John Parejko made changes -
            Summary New spatially-variant Calib object New spatially-variant PhotoCalib object
            Parejkoj John Parejko made changes -
            Status Proposed [ 10805 ] Adopted [ 10806 ]
            Parejkoj John Parejko made changes -
            Link This issue is triggering DM-9192 [ DM-9192 ]
            Parejkoj John Parejko made changes -
            Link This issue relates to DM-10153 [ DM-10153 ]
            Parejkoj John Parejko made changes -
            Resolution Done [ 10000 ]
            Status Adopted [ 10806 ] Implemented [ 11105 ]
            Parejkoj John Parejko made changes -
            Link This issue relates to DM-11905 [ DM-11905 ]
            tjenness Tim Jenness made changes -
            Link This issue relates to RFC-549 [ RFC-549 ]
            Parejkoj John Parejko made changes -
            Link This issue relates to RFC-573 [ RFC-573 ]

              People

              Assignee:
              Parejkoj John Parejko
              Reporter:
              Parejkoj John Parejko
              Watchers:
              Dominique Boutigny, Jim Bosch, John Parejko, John Swinbank, Michael Wood-Vasey [X] (Inactive), Pierre Astier, Robert Lupton, Russell Owen, Simon Krughoff, Yusra AlSayyad
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Planned End:

                  CI Builds

                  No builds found.