Skip to content

Releases: dgegen/astrafocus

Release for v0.1.3

27 Mar 16:02

Choose a tag to compare

The release of AstrAFocus v0.1.3 focuses on improving the robustness of the sweeping autofocus, refining improving documentation, and adding citation.

Highlights

  • Improved robustness of sweeping autofocus: failed measurements are skipped and NaN-heavy records trigger warnings.
  • Added FocusMeasureScan for batch FITS focus analysis.
  • Enhanced simulators & examples: added CabaretDeviceSimulator.default() and richer examples for the autofocuser, simulation, and star-fitter flows.

Enhancements

  • FocusMeasureOperator implementations accept constructor kwargs for flexible configuration.
  • Refactored StarFinder and integrated Cabaret simulators for streamlined testing/simulation.
  • Added registries and improved docstrings across modules to clarify APIs.
  • Added CITATION.cff to support citability.

Documentation & CI

  • Expanded API documentation and removed redundant files.
  • Added documentation dependencies and updated project metadata.
  • Updated Python publish workflow and removed the test.pypi workflow.
  • Adjusted pre-commit hooks to exclude uv.lock; added uv.lock to the repository.

Full Changelog: v0.1.3...v0.1.3

Release for v0.1.2

19 Mar 18:08

Choose a tag to compare

The release of AstrAFocus v0.1.2 focuses on improving the robustness of the autofocus estimation logic and refining the developer experience.

Core Improvements

  • Enhanced Focus Estimation: Improvements to the NonParametricResponseAutofocuser and analytic response models to better handle noisy data and provide more reliable point-of-optimal-focus estimates.
  • Device Interface Stability: Refinements to the Alpaca interface (via the alpaca extra) to ensure more consistent communication with telescope hardware and focusers.

Technical & Maintenance

  • Dependency Updates: Adjusted requirements to ensure compatibility with Python 3.11+ and updated internal math utilities for the focus measure operators.
  • Bug Fixes: Resolved edge cases in the ZenithNeighbourhoodQuery where specific sky regions could return empty results, causing the autofocus routine to hang.
  • Documentation: Add documentation page, cleaned up docstrings and type hints across the interface and models modules to improve IDE integration for users.

Full Changelog: v0.1.1...v0.1.2

Release for v0.1.1

21 Sep 09:12

Choose a tag to compare

  • Fix in LocalGaiaDatabaseQuery for queries with min_ra > max_ra.

Full Changelog: v0.1.0...v0.1.1

Release for v0.1.0

17 Sep 14:16

Choose a tag to compare

What's Changed

  • Add FocusMeasureOperatorRegistry and ExtremumEstimatorRegistry.
  • Removed autofocuser ValueError on bad conditions by @ppp-one in #1

New Contributors

Full Changelog: v0.0.4...v0.0.5

Pre-deployment release for PyPI v0.0.4

14 Jun 12:58

Choose a tag to compare

Pre-release

As the last version was tested in the field, this version aims to incorporate features that were deemed useful

  • GitHub Actions: Updated workflow to trigger on published releases
    for Test PyPI.
  • Project Metadata: Revised pyproject.toml.
  • ZenithNeighbourhoodQuery: Implemented a maximum star count limit
    to prevent excessive queries.
  • Query Refactoring:
    • Enhanced ShardwiseQuery and LocalGaiaDatabaseQuery with count
      methods to avoid memory overload.
    • Added magnitude filtering in SQL queries for better precision.
    • Adjusted zenith angle dynamically if star count exceeds the limit.
  • Logger Configuration: Refactored for improved clarity and removed
    unnecessary handlers.
  • StarFinder Adjustment: Lowered star finding threshold from 5.0 to
    3.0 to decrease the likelihood of not having any threshold crossings. Furthermore, now decrease star_finder threshold if no stars were found.
  • Autofocuser: Added relative_search_range flag to allow searching around the initial focus position instead of providing an absolute search_range
  • Documentation: Improved examples for better clarity on usage and functionality.

Pre-deployment release for PyPI v0.0.3

11 Dec 17:33

Choose a tag to compare

Pre-release

This version will be tested in the field with a telescope this week. This will give us more data and experience to refine the current implementation and make improvements accordingly.

The changes done prior to its first application are

  • Improve installation instructions and package description
  • Improve logging in AutofocuserBase.save_focus_record
  • Add more tests
  • Add extremum_estimators.py, a module that provides classes
    for robustly estimating the minimum or maximum values in a set of
    noisy measurements using various techniques. These are used by the
    non NonParametricResponseAutofocuser class to find the minimum or
    maximum of the focus measurements.
  • Add NonParametricResponseAutofocuser
  • Correct a bug in interface/simulation.py
  • Add smaller_is_better property to FocusMeasureOperator, indicating
    if smaller values correspond to better focus than larger for the given
    operator.

Pre-deployment release for PyPI

05 Dec 18:26

Choose a tag to compare

Pre-release

This version will be tested in practice with a telescope within the next week. This will give us more data and experience to refine the current implementation and make improvements accordingly.

It notably encompasses:

  1. ZenithNeighbourhoodQuery and ZenithNeighbourhoodQueryResult, to identify an area around the zenith that is suitable for focus calibration, given the chosen focus measurement operator.
  2. AnalyticResponseAutofocuser(SweepingAutofocuser), to perform an autofocusing procedure utilising the analytic nature of the focus response curve of a given focus measure, such as HFRStarFocusMeasure or GaussianStarFocusMeasure.