Changelog#
0.8.0 - January 16, 2024#
✨ Improved#
Cast output
exposure_time
to float.
⚙️ Engineering#
Lint using
ruff
.Update workflows.
Update RTD config and docs building.
0.7.2 - April 27, 2023#
✨ Improved#
Improved overwritting of
BSCALE
andBZERO
for compressed headers.Cast data to
float32
before stacking multiple exposures.
0.7.1 - March 10, 2023#
✨ Improved#
Updated to using
sdss-clu 2.0.0
.
0.7.1b1 - March 10, 2023#
✨ Improved#
Updated to using
sdss-clu 2.0.0b2
.
0.7.0 - December 22, 2022#
💥 Breaking changes#
Dropped Python 3.7 to allow newer versions of
numpy
andscipy
.numpy
is not explicitely in the requirements and is installed byastropy
(see #31).
✨ Improved#
Compress gzipped FITS file in temporary directory before moving it to the final location.
0.6.3 - June 29, 2022#
🔧 Fixed#
Fix the use of
--count
with theexpose
command.#28 Deal with
numpy.asscalar
being deprecated innumpy
1.23. Restrictednumpy<1.22.0
to preventastropy
4 running along withnumpy
1.23.
0.6.2 - June 4, 2022#
✨ New#
Adjust dependencies to support Python 3.10
🔧 Fixed#
Force
sdsstools>=0.5.2
to fix the calculation of SJD.
0.6.1 - June 4, 2022#
✨ Improved#
Support defining a card in
HeaderModel
with a list(name, value, [comment])
, e.g.,header_model.append(("BIASFILE", "/data/bias.fits"))
.
0.6.0 - June 4, 2022#
🚀 New#
#26 The
dirname
in anImageNamer
now accepts the{sjd}
placeholder which will be filled out with the SDSS-style MJD (as returned by sdsstoolsget_sjd()
).
🔧 Fixed#
Prevent a problem in which if an exposure fails with an uncaught error the listener callback was not removed, which would cause duplicate messages being output in successive exposures.
Try and except when saving exposures to disk.
Fix case in actor when camera fails to return status.
Issues with zero seconds exposure time.
0.5.4 - January 7, 2022#
🚀 New#
Allow to list available cameras.
Make expose command unique.
🔧 Fixed#
Really (I hope) fixed the issue with compressed headers.
0.5.3 - December 14, 2021#
🚀 New#
Added a
--count
flag to theexpose
command to issue a number of continous exposures.It’s now possible to pass a
-n
flag toexpose
to se the sequence number of the exposure. Useful when commanding multiple cameras that one wants to keep in sync.
🔧 Fixed#
Finally (?) fixed the problem of compressed headers not being read by some software like JS9. The solution is a bit of a hack that requires updating the file headers after writing them, but seems to work fine.
0.5.2 - November 24, 2021#
✨ Improved#
Add
basecam
version to default header.Prevent isse when multiple cameras try to create the same directory at once.
0.5.1 - August 2, 2021#
✨ Improved#
Use
furo
andmyst-parser
for the documentation.ImageNamer
: allow to reset the sequence number when the directory changes.
0.5.0 - May 16, 2021#
🚀 New#
#19
Extension
now acceptscompression_params
that are passed toCompImageHDU
.#20 Allow to dynamically add extra HDUs to
Exposure
.#21 Allow to pass extra arguments to
_expose_internal
from the actor command.Make
BaseCamera.notify
a public method.#22 Add optional post-process step during exposure.
Add hook to invoke a post-process callback coroutine in the
expose
actor command.Add
get_schema
to retrieve the actor schema as a dictionary.
✨ Improved#
Update CLU to
^1.0.0
.
0.4.2 - February 16, 2021#
🚀 New#
#16 Use JSONSchema validation for actor keyword datamodel. The datamodel of the actor has been updated. The schema should work for all CLU actors, including
LegacyActor
although in this case the keywords will be flattened into a list.CardGroup
now accepts string items that are evaluated to default cards.Complete version of the documentation.
✨ Improved#
#18 Improve notifications during an exposure.
0.4.1 - February 13, 2021#
🚀 New#
#13 Add a
WCSCards
macro that expands into full WCS header information.Allow
MacroCard.macro
to returnCard
orCardGroup
.Allow
HeaderModel
to acceptNone
as an item. This is useful to programmatically define cards that in some cases may not be added.
0.4.0 - February 12, 2021#
🚀 New#
Card
now accepts atype
to which to be cast. By defaultautocast=True
will try to cast the value to the correct type after evaluating.Card
now accepts a default value to which it reverts if the value cannot be evaluated correctly.Allow re-setting the
ImageNamer
basename dynamically. CallImageNamer
with the camera by default.
✨ Improved#
Simplify default cards.
Format using
black
and add type hinting to most of the codebase.
0.3.3 - December 7, 2020#
🔧 Fixed#
Retag of 0.3.2 with syntax error fixed.
0.3.2 - December 7, 2020#
🔧 Fixed#
Do not try to set logger format if it failed to create the file logger.
0.3.1 - October 31, 2020#
✨ Improved#
When
verbose=False
set theStreamHandler
level toWARNING
.
0.3.0 - August 1, 2020#
🚀 New#
#11 Breaking change.
Exposure.write
is now a coroutine and must be awaited if called directly.HDUList.writeto()
is run in an executor.
🔧 Fixed#
When
verbose=False
set theStreamHandler
level toERROR
to allow tracebacks.
0.2.0 - July 31, 2020#
✨ Improved#
Significant refactor. Most functionality is not affected but things are handled a bit differently, with some simplifications.
Use GitHub Workflows.
🔧 Fixed#
Fix
CameraWarning
when used from aCameraSystem
instance.
0.1.1 - January 24, 2020#
✨ Improved#
Allow to use
camera
substitutions inImageNamer
.Use asyncio exception handler in
Poller
.Create intermediate directories when writing file.
Run
exposure.write()
in executor.
0.1.0 - January 20, 2020#
🚀 New#
Initial release.