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

"Loose" (Ungridded) Visibility DataConnector #17

Closed
iancze opened this issue Apr 4, 2021 · 0 comments · Fixed by #78
Closed

"Loose" (Ungridded) Visibility DataConnector #17

iancze opened this issue Apr 4, 2021 · 0 comments · Fixed by #78
Assignees
Labels
enhancement New feature or request roadmap Planned development
Milestone

Comments

@iancze
Copy link
Collaborator

iancze commented Apr 4, 2021

Is your feature request related to a problem or opportunity? Please describe.
The gridding process within the current Gridder object makes assumptions about the data that, while fast to compute, obscure some potential calibration and processing subtleties.

  1. makes the assumption that the visibility function is constant across a u,v cell. This is technically something that could be improved within the GriddedDataset framework.
  2. by collapsing all of the loose visibilities within a u,v cell to a single, averaged summary statistic (the gridded mean and gridded weight) on that cell, we lose the ability to visualize and assess differences between the loose visibilities. For example, we might want to examine if the loose visibilities (or residuals to them) have any trends with time of observation (suggesting a calibration error).

Describe the solution you'd like
Provide a functionality to interpolate the dense Fourier grid to the loose visibilities, calculating a model visibility for every "loose" datapoint. This will allow us to implement things like spectral covariances (#18) and data self-calibration (#24).

Rather than bringing back the tried and true prolate spheroidal wavefunctions in earlier versions of MPoL and DiskJockey, I think it makes sense to try out torchkbnufft which uses Kaiser Bessel functions (similar to FINUFFT). MRI and medical imaging in general has driven the development of these tools, and they're likely to be better than something that we would code from scratch.

Describe alternatives you've considered
It's possible that PyTorch conv2D layers could be adapted for the convolutional resampling, either from dense grid -> loose visibilities or even loose visibilities -> dense grid.

@iancze iancze added enhancement New feature or request roadmap Planned development labels Apr 4, 2021
@iancze iancze added this to the Spectral Dimension milestone Apr 18, 2021
@iancze iancze changed the title Ungridded DataConnector "Loose" (Ungridded) Visibility DataConnector May 5, 2021
@iancze iancze modified the milestones: Spectral Dimension, v0.1.2 Jun 13, 2021
@iancze iancze self-assigned this Jun 13, 2021
iancze added a commit that referenced this issue Dec 25, 2022
The ability to interpolate to "loose" visibility points is implemented through the non-uniform FFT or NuFFT. 

Closes #17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request roadmap Planned development
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant