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

Make full-sky spectra agnostic to pixelization and/or add support for rectangular pixels #21

Closed
damonge opened this issue Sep 24, 2018 · 9 comments
Assignees

Comments

@damonge
Copy link
Collaborator

damonge commented Sep 24, 2018

Copying an issue initially opened by @msyriac in the old NaMaster repo:

David, do you have an idea of how much work this would involve? It does look like key modules like nmt_mask.c are explicitly written for healpix pixels, at least in terms of function arguments. Would adapting these modules require converting logic that is hard-coded for healpix?

@damonge
Copy link
Collaborator Author

damonge commented Sep 24, 2018

@msyriac thanks for opening this one.
This is at the top of my list once the NaMaster paper is out.
I think the main roadblock would be to understand how libsharp uses other pixelization schemes. The rest should be relatively simple to rewrite, since only a few very specific functions make use of built-in healpix subroutines (e.g. the mask apodizers).
In the meantime you have the flat-sky version...

@xzackli
Copy link
Collaborator

xzackli commented Sep 28, 2018

I'd like to work on this issue, for the purpose of working with ACT maps! I've talked a little to @msyriac about this already.

@damonge
Copy link
Collaborator Author

damonge commented Sep 28, 2018

OK, great! It'd be great if you guys can have a chat with either Sigurd or Steve Choi at some point. I know there are some subtleties regarding how CAR is interpreted by libsharp, but once those are clarified, it should be easy.

I'd like to be involved in this, although I'll be crazy busy for at least the next week. I can answer any questions you have though.

All the pixel manipulation, currently done in healpix, is taken care of at the C level by healpix_extra.c.

@xzackli
Copy link
Collaborator

xzackli commented Dec 17, 2018

The rectpix_both branch now has CAR support for both spin 0 and 2. Three main things still need doing,

  1. I have to add nmt_workspace_CAR read/write functions.
  2. Neither mask apodization nor templates/deprojection are tested.
  3. Unit tests! Documentation!

@xzackli xzackli self-assigned this Dec 17, 2018
@msyriac
Copy link
Member

msyriac commented Dec 17, 2018

Nice! Is your implementation really specific to CAR, or is it perhaps more general to cylindrical projections or rectangular pixels?

@xzackli
Copy link
Collaborator

xzackli commented Dec 18, 2018

It would be easy to use any ring weight scheme that libsharp already supports. This is actually more limited than general CAR -- libsharp supports equidistant cylindrical projection grids (ECP), i.e. the colatitude rings must be evenly spaced and divide the sphere with no remainder, see libsharp paper.

@damonge
Copy link
Collaborator Author

damonge commented Dec 24, 2018

This is amazing @xzackli ! I'll try to work on this a bit over the break.
Quick question: can we get rid of the rectpix branch then? Or is there anything there that isn't in rectpix_both?

@xzackli
Copy link
Collaborator

xzackli commented Dec 27, 2018

You're right, I've deleted rectpix since it doesn't have anything useful anymore!

@xzackli
Copy link
Collaborator

xzackli commented Feb 6, 2019

Solved by PR #39

@xzackli xzackli closed this as completed Feb 6, 2019
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

No branches or pull requests

3 participants