Release Notes ============= 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** * Added new end-to-end unit tests (`298 `_) * Improved CI tests (`244 `_) **Bug Fixes** * Fix stamp filtering incompatibility on some GPUs (`291 `_) * Allow stamp filters to handle square or flat stamps (`293 `_) * Update trajectory data during filtering (`284 `_) * Fix a bug when FileUtils tries to load a single trajectory (`258 `_) * Improve checks on image size (`277 `_) 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** * Reduce internal copies (`115 `_, `119 `_) * 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 `_) * Move coadded stamp generation to GPU (`179 `_, `189 `_) **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 `_)