LSSTDESC / snmag

BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Questions for the octant lensing maps #1

Open linan7788626 opened 6 years ago

linan7788626 commented 6 years ago
  1. If I understand correctly, a00, a01, a10, a11 in your example stand for alphax_x, alphax_y, alphay_x, alphay_y. Is it right? Thus:

    • kappa = (a00+a11)/2
    • shear1 = (a00-a11)/2
    • shear2 = (a01+a10)/2
    • magnification = 1.0/(a00a11-(a00+a11)-a10a01+1.0)
  2. I tried to visualize the the convergence map by using healpy, but the output (see the figure below) show that there seems to be a lot of ones filling the empty eara, can you please let me know to make the plot with lowlight the empty ereas? Thanks a lot.

    hp.visufunc.mollview(0.5*(a00+a11), title='Convergence Map', nest=False)

    download-2

  3. I think the source plane is around redshift zs = 1.0 for this case, need your confirmation.

  4. To generate the positions of SNe, we need to know the HEALPix IDs, NSide (known), so can you please tell me know how to read out HEALPix IDs from your fits file?

patricialarsen commented 6 years ago
  1. okay, the easiest way to mask out the non-octant area is to make a masked array, try something like: map1 = hp.ma(map1) map1.mask = np.logical_not(mask_octant)

  2. But your kappa is actually 1-kappa so the outer areas should be zeros. The a00 area the elements of the distortion matrix, not the differences from unity. In the add_shears code I put on the nersc directory it has the appropriate sums to create the convergence and shear. In this case: conv = 1.- (a00_gals+a11_gals)/2. shear_1 = (a11_gals-a00_gals)/2. shear_2 = -(a01_gals+a10_gals)/2.

  3. Source redshift is = 0.98, I can get more accuracy if you need it.

  4. What do you mean by the healpix IDs here - the nside 32 ids, the nside 4096 ids? Do you just need the positions or values of the pixels?

linan7788626 commented 6 years ago
  1. okay, the easiest way to mask out the non-octant area is to make a masked array, try something like: map1 = hp.ma(map1) map1.mask = np.logical_not(mask_octant)

Great, with your generous help, I just fixed it. Thanks a lot.

  1. But your kappa is actually 1-kappa so the outer areas should be zeros. The a00 area the elements of the distortion matrix, not the differences from unity. In the add_shears code I put on the nersc directory it has the appropriate sums to create the convergence and shear. In this case: conv = 1.- (a00_gals+a11_gals)/2. shear_1 = (a11_gals-a00_gals)/2. shear_2 = -(a01_gals+a10_gals)/2.

Ah... it makes sense now, it is the distortion matrix, but not the gradient of the lensing potential naively...Thanks a lot.

  1. Source redshift is = 0.98, I can get more accuracy if you need it.

Fair enough, I may try zs = 1.0

  1. What do you mean by the healpix IDs here - the nside 32 ids, the nside 4096 ids? Do you just need the positions or values of the pixels?

I am going to generate Random Ra and Dec within the field you give us, I may need to know which healpixes are involved in your field. If you have any ideas about this, please feel free to let me know, I just have limited experience that working in HEALPix space.

patricialarsen commented 6 years ago

Exactly, the gradient of the lensing potential is also provided separately (those are the gradphi files).

For the other point, I'm still not sure what you mean with the pixels - whether you're referring to the low resolution pixel numbers from the DC2 catalog or the high resolution maps for the lensing quantities, or perhaps to the limits of the DC2 field or image simulation field. The pixel number in the map is simply the index of the array, so pixel 0 is map[0], pixel 1 is map[1] etc. and the python reader converts everything to ring ordering in read in so these will all be ring-ordered.

You can compute ra and dec from pixel number easily using pix2ang and setting lonlat=True (python3 only). Use hp.pix2ang(4096, np.arange(hp.nside2npix(4096))[mask_octant],lonlat=True) and you should get the output ra,dec values for the pixels.