Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-15038

Update TransformMap to use ast::FrameDict

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: To Do
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: afw

      Description

      lsst::afw::cameraGeom::TransformMap presently uses ast::FrameSet internally and keeps track of frame indices itself. However, ast::FrameDict (which was added after TransformMap was written) does all this itself, so simplify the TransformMap code by using FrameDict internally.

        Attachments

          Activity

          Hide
          rowen Russell Owen added a comment -

          There is a trade-off required to do this: the coordinate system name and detector name must be combined into a single string that becomes the key used by FrameDict. Thus we need a separator that cannot be used by either the coordinate system name or the detector name and a bit of trivial code to combine them. This is only a minor nuisance, as we have to document the separator. However, TransformMap can return a list of supported CameraSys, so we also must be able to efficiently split the keys into system name and detector name. This is a bit more work, but C++ does provide appropriate calls. (We could avoid this by keeping a separate map of key: CameraSys, but that adds sufficient complexity that I do not think it would be worth making the proposed change.)

          Show
          rowen Russell Owen added a comment - There is a trade-off required to do this: the coordinate system name and detector name must be combined into a single string that becomes the key used by FrameDict . Thus we need a separator that cannot be used by either the coordinate system name or the detector name and a bit of trivial code to combine them. This is only a minor nuisance, as we have to document the separator. However, TransformMap can return a list of supported CameraSys , so we also must be able to efficiently split the keys into system name and detector name. This is a bit more work, but C++ does provide appropriate calls. (We could avoid this by keeping a separate map of key: CameraSys , but that adds sufficient complexity that I do not think it would be worth making the proposed change.)

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            rowen Russell Owen
            Watchers:
            Russell Owen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:

                Jenkins

                No builds found.