Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The main entry point for the new measurement framework is the new SingleFrameMeasurementTask class (in meas_base), which is intended as an almost drop-in replacement for the current SourceMeasurementTask (in meas_algorithms).  It's not drop-in replacement, because it has different plugins, a slightly different slot system, and an entirely different output schema - so we will use it everywhere SourceMeasurementTask was used before, but many other additional configuration settings need to be modified when retargeting the measurement task to keep it all working.  We've provided configuration files instructions to make that easy, as described in the next section.

...

root.measurement.retarget(SourceMeasurementTask)

Please note that the original framework old measurement task writes tables with version=0 schemata, and expects the plugins and fieldnames to use the old naming conventions.  For example, you must refer to the SdssCentroid plugin as 'centroid.sdss' and the value it stores in the output table will be afw.geom.PointD type with the name 'centroid.sdss'.  See the section "Schema Changes and Versioning" below.

Some care has been taken to make all of the tasks called by processImage sensitive to which measurement framework and schema version are in use, so that the pipeline will work with either measurement task.  However, the developer should be careful when accessing or adding fields to the schemas to know which measurement task and which naming conventions are in effect.  For new code, we encourage the use of the meas_base measurement framework and schema version=1 tables.

NOTE:  If you are reading this document prior to the changeover to the end of Summer 14, just the opposite instructions will hold for using the New Framework.  That is, you must retargetted retarget the above 3 tasks using the SingleFrameMeasurementTask which resides in lsst.meas.base.sfm.

...

In version>0, we have stronger naming convention for fields generating by plugin algorithms, which tie the plugin name and location to its outputs.  These conventions are used by the as follows:

  • Names should start with "<package-abbr>_<class>", where "<package-abbr>" is an abbreviated version of the package name that provides enough information to specify the package location.  For instance, plugins in meas_base use "base" as their prefix, while those in ip_diffim would use simply "diffim".  The "class" part of the name is simply the name of the class that defines the algorithm, minus any explict "Plugin" or "Algorithm" suffix.  For instance, the field name prefix used by meas_base's SdssShapeAlgorithm class would be "base_SdssShape".
  • Flux measurements should end with "_flux", even if that's repetitive with the name of the class (e.g. "base_PsfFlux_flux").
  • Position measurements should consist of two fields, ending in "_x" and "_y".
  • Ellipse measurements should be saved using the "Quadrupole" parametrization (even if they aren't measured as moments), using fields ending with "_xx", "_yy", and "_xy".
  • Uncertainties on individual fields should be saved with names that end in "_<p>Sigma", where "<p>" is the suffix of the field the uncertainty corresponds to (e.g. "_fluxSigma" or "_xSigma").
  • Uncertainty covariances should be saved with names that end in "_<p1>_<p2>_Cov", such as "_x_y_Cov" for the uncertainty on "_x" and "_y".
  • Flag fields should have names like "_flag_<reason>", where "reason" is a camelCase string identifying what went wrong.  A special flag that is simply the algorithm prefix + "_flag" is additionally set for any fatal error (but this will likely be changed on
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId9da94fb6-5771-303d-a785-1b6c5ab0f2d2
    keyDM-464
    prior to the S14 release).

...