These draft notes cover the major updates made by Data Release Production to the LSST stack since release 10.1 (Winter 2015). Please record significant updates here so that they can ultimately be incorporated into the notes accompanying the Summer 2015 release.
Major Functionality and Interface Changes
Improved semantics for loading Exposure
s and MaskedImage
s from arbitrary FITS files
The Exposure
and MaskedImage
represent image data with associated mask and variance information. When serialized to FITS, these are stored as three consecutive extensions in the FITS files. It is possible to load Exposure
s and MaskedImage
s from multi-extension FITS files which were not generated by LSST, but, due to the limitations of the FITS data model, it is not possible to ensure that the creator of the file adhered to the LSST convention: while an image object may be successfully instantiated, its contents may not be logically consistent.
We now go to greater lengths to check that the information in the file is consistent with the LSST standard, warning the user – and in some cases refusing to proceed – if it does not.
(DM-2599)
Bug Fixes
The following fixes resolve problems visible to end users.
Doxygen documentation now correctly includes LaTeX formatting
Correctly referring to MathJax means that LaTeX markup in documentation is nicely formatted.
(DM-2545)
Performance regression in Footprint
dilation resolved
The previous release included improved algorithms for dilating Footprint
s. Unfortunately, in some circumstances (notably when dealing with particularly large Footprint
s) this code could actually perform more slowly than the previous implementation. This could have significant performance implications for many image processing operations. This regression has now been rectified, and the new dilation operations are significantly faster than the old ones in all circumstances tested.
(DM-2787)
Build and code improvements
These improvements should not usually be visible to end users. They may be important for developers, however.
Backend-agnostic interface to displays
The image display code no longer makes the assumption that display is carried out using ds9. Rather, an API is available which is independent of the the particular image viewer is in use. A backwards compatibility layer ensures that display through ds9 is still supported, while other backends will be added in future.
(RFC-42, DM-2709, DM-2849)
Measurement framework compiler warnings resolved
The measurement framework was refactored to avoid a series of warnings produced by the clang compiler.
(DM-2131)
Unsanctioned access to the display by tests suppressed
Some unit tests were attempting to write to a display, even when no display was available. On some systems, this directly caused test failures; on others, it could obscure the true cause of failures when a test did fail.
(DM-2492, DM-2494)