ratt-ru / bullseye

A GPU-based facet imager
GNU General Public License v2.0
1 stars 1 forks source link

Compute uv coordinates on the fly for a gpu version #34

Closed bennahugo closed 9 years ago

bennahugo commented 9 years ago

I've played around with computing the uv coordinates from the antenna coordinates specified in the ANTENNA table, and I've found that the actual uv coordinates fits the parametric curve pretty well (refer to Fundamentals of Radio Interferometry, pp 25-26 in Synthesis Imaging II). Now all I need to do is generate the coordinates based on the time column in the measurement set and see if they are still a good fit. Not sure if there are any moral objections to this? It doesn't seem the uv coordinates are corrected for in any way in the measurement sets I've been using. This should hopefully save about ((N(N-1)/2+N)_2 - N_3)*4 bytes of GPU memory in the end since we need to have the TIME column stored on the GPU

griffinfoster commented 9 years ago

I think that is fine for the case that a measurement set contains a single, continuous observation, which is going to be the majority of measurement sets. But, there is the case where an MS contains multiple observations (over multiple days, weeks,...) of the same source. In that case, the time needs to be converted to LST and ordered that way, instead of absolute time?

On Tue, Sep 23, 2014 at 5:10 PM, bennahugo notifications@github.com wrote:

I've played around with computing the uv coordinates from the antenna coordinates specified in the ANTENNA table, and I've found that the actual uv coordinates fits the parametric curve pretty well (refer to Fundamentals of Radio Interferometry, pp 25-26 in Synthesis Imaging II). Now all I need to do is generate the coordinates based on the time column in the measurement set and see if they are still a good fit. Not sure if there are any moral objections to this? It doesn't seem the uv coordinates are corrected for in any way in the measurement sets I've been using. This should hopefully save about ((N(N-1)/2+N)_2 - N_3)*4 bytes of GPU memory in the end since we need to have the TIME column stored on the GPU

— Reply to this email directly or view it on GitHub https://github.com/ratt-ru/bullseye/issues/34.

bennahugo commented 9 years ago

Hi griffin, thanks for the advise! I will play around with it a bit more. I've also added the ability to specify a continuous band of facets in either l and m, so feel free try and incorporate some of those facets onto your HEALpix map. It may be necessary to do background matching (I'm assuming you're using something like Montage?)

bennahugo commented 9 years ago

Never mind... there seems to be some slight differences between the predicted and actual uv coordinates. I've also tested against a wider number of measurement sets and sometimes there are outlier uv coordinates. This will still come in handy when benchmarking GPU performance though, so it was a good exercise at least.

o-smirnov commented 9 years ago

Yep, "for UVW, MS knows best" is a good rule to follow...