Skip to content

Dev#9

Merged
NCastro-Segura merged 31 commits into
mainfrom
dev
Jun 22, 2026
Merged

Dev#9
NCastro-Segura merged 31 commits into
mainfrom
dev

Conversation

@zairving

Copy link
Copy Markdown
Collaborator

Notable changes:

  • Added a pick_sources() method to Reducer allowing users to manually identify sources that were not automatically catalogued (e.g., if they were too faint).
  • Scintillation noise is now accounted for.
  • Instrument classes now take a diameter parameter giving the diameter of the telescope aperture as an astropy Quantity (i.e., including units). This is used to determine the relative scintillation noise.
  • Instrument classes now take an airmass_kw parameter giving the header keyword corresponding to the observation's airmass. This is used to determine the relative scintillation noise. This can be "faked" by defining a custom get_airmass() method for a particular instrument if the airmass is not listed but can be calculated from other keywords (e.g., the RA, DEC, and observation timestamp). In the case of OPTICAM, the airmass given in the image headers is a fixed quantity, so we instead use a custom get_airmass() method as described above.
  • In addition to saving the average background as a function of time during Reducer.create_catalogs(), we now save the average PSF FWHM and the airmass for each timestamp.
  • Added support for passing custom convolution kernels/image filters to Reducer and all Corrector classes. This enables support for the 3x3 median filtering recommended by Praez+2026: https://ui.adsabs.harvard.edu/abs/2026RASTI...5ag021P/abstract for long exposures (> 10 s) with OPTICAM.

Smaller changes (no impact to users):

  • Made some functions in noise.py methods of Reducer and streamlined the code in plotting.plots.plot_noise() as a result.
  • Changed utils.helpers.propagate_errors() to utils.helpers.combine_variances() to more straightforwardly account for scintillation noise.
  • utils.fits_handlers.get_data() now returns the image, the corresponding header, and a dictionary of noise parameters. This makes it easier to keep track of the various noise contributions.

zairving added 15 commits April 23, 2026 11:20
…uments to enable new scintillation noise calculation method. Also added get methods for all keywords for consistency
…turns the total variance instead of its square root
…er visualisation of faint sources. Also added scintillation noise to plot_noise()
…re now saved to file and plotted during Reducer.create_catalogs(). Previously, only the time-varying background was saved. In addition, get_data() now returns the image header, and noise variances are returned in a dictionary
…e class. Also corrected the read noise value for OPTICAM from 1.1 (slow read; not used) to 1.3 (fast read; default)
…tion of the method. Now, arbitrary filters can be passed to Reducer and all Corrector classes to apply custom filters/kernels as desired. Also made some functions in noise.py methods of Reducer
@zairving

Copy link
Copy Markdown
Collaborator Author

A much-needed update to the docs is also incoming...

@zairving zairving requested a review from NCastro-Segura June 16, 2026 13:09

@NCastro-Segura NCastro-Segura left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all good

@NCastro-Segura NCastro-Segura merged commit 27840eb into main Jun 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants