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

Hybrid map maker #65

Merged
merged 13 commits into from
Jan 21, 2021
Merged

Hybrid map maker #65

merged 13 commits into from
Jan 21, 2021

Conversation

jrs65
Copy link
Contributor

@jrs65 jrs65 commented Dec 13, 2019

This is now ready for review. There's a few broader fixes in here, but the biggest change is the introduction of the componentised ring map maker.

I have tested this against the current ring map maker and it gives nearly identical maps, that differ at the 10^-3 level. Here is a comparison of the maps using uniform weighting:
Unknown-33
The top panel is the map from the new map maker (from -10 Jy to 10 Jy), the middle panel is the difference between the old and new maps with the colour scale multiplied by 1000x (i.e. it's from +/- 10 mJy). The third is the difference if I apply a ~10^-3 level scale to the new map to get them to match better.

This is the same comparison but for natural weighting
Unknown-34

One obvious question is: why is there any difference at all? Essentially it all comes down to how the different maps are renormalised for missing baselines. The original map maker constructs the weights for all baselines initially, and normalises by the sum of all the weights to guarantee that the output units are faithfully Jy / beam (i.e. if you take the pixel containing CygA it will have the value of the flux of CygA). The new map maker first constructs a grid of NS beams, and each column of EW visibilities is normalised independently. This guarantees that the hybrid visibilities (i.e. localised NS beam, fourier mode EW) which come out of the BeamformNS stage are in units of Jy. However, because the EW transform is done separately it's tough (and not clearly desirable) for this to give each cylinder separation the same relative weighting that they are given in the old map maker.

If the missing NS baselines were identical for each cylinder separation the map makers would give the same result. However, when the missing NS baselines are different the map makers will give different results. The biggest thing which breaks this is the masking of the autocorrelations, which is why the differences are at the ~1/1024 level.

Given that we never really sorted out the most theoretically desirable scheme for the old map maker, I don't think this difference is very problematic, but it would be good to hear if any one else (e.g. @ashill and @ssiegelx who aren't tagged for review) can think of any objections.

@jrs65 jrs65 force-pushed the hybrid-beamform branch 2 times, most recently from 56523cd to 7d64211 Compare January 7, 2021 02:03
@jrs65 jrs65 changed the title [WIP] hybrid beamform Hybrid map maker Jan 7, 2021
Copy link

@wulfda02 wulfda02 left a comment

Choose a reason for hiding this comment

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

Looks good to me!

Copy link
Contributor

@tristpinsm tristpinsm left a comment

Choose a reason for hiding this comment

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

Looks great! I found a few little things that might need attention.

draco/analysis/ringmapmaker.py Outdated Show resolved Hide resolved
draco/analysis/ringmapmaker.py Show resolved Hide resolved
draco/analysis/ringmapmaker.py Show resolved Hide resolved
draco/core/containers.py Outdated Show resolved Hide resolved
draco/core/containers.py Outdated Show resolved Hide resolved
draco/core/containers.py Show resolved Hide resolved
@lgtm-com
Copy link

lgtm-com bot commented Jan 20, 2021

This pull request introduces 5 alerts when merging 62dcffb into 89b0947 - view on LGTM.com

new alerts:

  • 5 for Conflicting attributes in base classes

@jrs65 jrs65 merged commit bc83b56 into master Jan 21, 2021
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.

4 participants