Release Notes#
Unreleased#
Timestamp correction and compatibility
Butler timestamps now use the native
VisitInfoexposure midpoint converted to UTC MJD. The previous extraexposureTime / 2 + 0.5seconds is removed;mjd_startis now the nominal midpoint minus half the exposure duration.ImageCollection.toWorkUnit()now rejects image/metadata epoch disagreement greater than 1 ms, invalid epochs, and image-count mismatches. This applies to all standardizers, including FITS collections with manually edited timestamps. Historical files remain readable, but loading does not migrate their epochs.Rebuild affected collections, injection catalogs, dependent WorkUnits and reprojections, and time-dependent matches together. Preserve original artifacts and audit downstream manual offsets to avoid applying a correction twice. See Module: butler_standardizer for the time-scale contract and migration details.
Version 1.1.0 (2023-04-20)#
New Features
Create extensible framework for post-search filtering, including enabling user-created filters (265, 283, 304)
Provide ability to track results filtered at different stages (263)
Improve determination of visit ID (260)
Create stamp plotting class (259)
Provide ability to load from saved results (256)
Removed hardcoded stamp size (255)
Allow trajectories that start off the chip (245)
Testing Improvements
Bug Fixes
Version 1.0.0 (2023-02-23)#
Version 1.0.0 represents a full refactoring and redesign of KBMOD, including major changes to the features, functionality, and performance. Significant testing and documentation have also been added to facilitate future maintenance and collaboration. Below we detail many of the individual changes included since the v0.5.0 release.
New Features
Add ability to compare results to known objects looked up from SkyBoT or JPL (133, 198)
Add JointFit functions (135)
Add the ability to load per-image PSFs from an auxiliary file (139, 161)
Add ability to pass 8-bit or 16-bit images to GPU functions to save memory (152)
Make external time file optional (165)
Rework build system to make package pip installable (169)
Add Sphinx documentation (184)
Remove unused filtering options to simplify configuration (197)
Testing Improvements
Many unit tests added (Various PRs)
Add a diff test (124)
Add a regression test (144)
Add continuous integration tests (201)
Efficiency Improvements
Speed up grow_mask function (129)
Move grow_mask to GPU (153)
Improve handling of single/multi-threading in post processing filtering (155)
Skip masking functions if there are no masking keys (164)
Bug Fixes
Update DBSCAN parameters (116)
Fix initial value bug in GPU Max Pooling (120)
Correctly account for number of good images in median stamp creation (123)
Fix unwanted append when saving layered images (136)
Fix median computation with masked images (137)
Drop masked pixels before conducting sigmaG filtering on GPU (142, 180, 181)
Reset global mask when create_global_mask is created ((164)
Correctly apply mask_threshold (164)
Account for masked pixels in createAveTemplate and simpleDifference (164)
Fix bugs in on-GPU stamp generation (182)
Add bounds checking in get_results (192)
Check for divide by zero in clustering function (215)
Update pybind version (217)
Ignore invalidly named files during file loading (233)