Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add nucal calibrator class #920

Merged
merged 62 commits into from
Feb 7, 2024
Merged

Add nucal calibrator class #920

merged 62 commits into from
Feb 7, 2024

Conversation

tyler-a-cox
Copy link
Contributor

@tyler-a-cox tyler-a-cox commented Nov 15, 2023

This PR implements a new class, SpectrallyRedundantCalibrator, for calibrating spatially redundant degeneracies using spectrally redundant calibration. This class uses gradient descent to solve for a smooth DPSS-based, sky model and redundant baseline degeneracies using the method detailed here and is intended to be an easy-to-use implementation of spectrally redundant calibration, like redcal.RedundantCalibrator is for spatially redundant calibration.

Copy link

codecov bot commented Nov 15, 2023

Codecov Report

Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (0a26da5) 97.15% compared to head (259f4e7) 97.16%.

Files Patch % Lines
hera_cal/nucal.py 97.76% 3 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##             main     #920    +/-   ##
========================================
  Coverage   97.15%   97.16%            
========================================
  Files          23       23            
  Lines       10520    10638   +118     
========================================
+ Hits        10221    10336   +115     
- Misses        299      302     +3     
Flag Coverage Δ
unittests 97.16% <97.76%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@tyler-a-cox tyler-a-cox changed the title Add nucal calibrator Add nucal calibrator class Nov 15, 2023
@HERA-Team HERA-Team deleted a comment from jsdillon Jan 21, 2024
hera_cal/nucal.py Outdated Show resolved Hide resolved
hera_cal/nucal.py Outdated Show resolved Hide resolved
Copy link
Member

@jsdillon jsdillon left a comment

Choose a reason for hiding this comment

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

Just a few small tweaks and then you're good to go

gradient descent steps.
spectral_filter_half_width : float, default=20e-9
Fourier half-width of the spectral axis DPSS filters in units of seconds.
spatial_filter_half_width : float, default=1
Copy link
Member

Choose a reason for hiding this comment

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

This remains an issue

hera_cal/nucal.py Outdated Show resolved Hide resolved
class TestGradientDescent:
def setup_method(self):
self.freqs = np.linspace(50e6, 250e6, 200)
self.antpos = linear_array(10, sep=2)
Copy link
Member

Choose a reason for hiding this comment

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

As a compromise, let's do two linear arms

setup.py Outdated Show resolved Hide resolved
hera_cal/tests/test_nucal.py Outdated Show resolved Hide resolved
@tyler-a-cox tyler-a-cox merged commit b045b6e into main Feb 7, 2024
10 checks passed
@tyler-a-cox tyler-a-cox deleted the nucal_optimization branch February 7, 2024 18:29
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