[Difx-users] structure of fits-idi files
Franz Kirsten
franz.kirsten at curtin.edu.au
Wed Oct 26 03:58:11 EDT 2016
Hi Adam, Harro,
Thanks a lot for your explanations! We'll look into this and let you
know how we go.
Cheers,
Franz
On 26.10.2016 15:49, harro verkouter wrote:
>
> Hi Adam,
>
> That is exactly how things should work. But probably for the FITS-IDI
> files from DiFX it's not entirely true. I know that we (=JIVE/SFXC)
> write all the MAXIS, MAXISn and CTYPEn keywords and this allows
> astropy.fits to correctly decompose the matrix column elements into
> properly shaped n-dimensional arrays instead of one big blob per row as
> from a DiFX FITS file.
>
> To me it is clear that some keywords are missing from the DiFX FITS-IDI
> that prevent the FITS library from doing that; that's what Franz is seeing.
>
> Cheers,
> h
>
> On 26 October 2016 at 09:17, Adam Deller <adeller at astro.swin.edu.au
> <mailto:adeller at astro.swin.edu.au>> wrote:
>
> Hi Franz,
>
> I looked up the FITS-IDI standard, and I think it describes how to
> extract this information. See Section 4.1 of
> http://www.aoc.nrao.edu/~egreisen/AIPSMEM114.PDF
> <http://www.aoc.nrao.edu/%7Eegreisen/AIPSMEM114.PDF>. Basically,
> you need to look at the CTYPE# keywords, where # runs from 1 through
> to 5 or 6. CTYPE1 describes the fastest varying parameter, CTYPE2
> the next fastest, and so on. Corresponding keywords MAXIS# give the
> number of entries along that axis. CTYPE1 is constrained to be of
> type COMPLEX (i.e., the re/im[/weight] values) but the other ones
> can come in whatever order, you need to look at the keywords. They
> are STOKES for polarisation, FREQ for frequency channel, and BAND
> for the subband.
>
> These should all be accessible via astropy.
>
> Cheers,
> Adam
>
> On 25 October 2016 at 17:57, harro verkouter <hverkouter at gmail.com
> <mailto:hverkouter at gmail.com>> wrote:
>
>
> Hi Franz,
>
> FITS dates from the era of FORTRAN and thus the first axis
> should go fastest, then the 2nd etc.
> But it depends a bit on what the (implied) order of the axes is
> in the difx FITS-IDI array. You may want to take a closer look
> at the full header for the 'UV_DATA' table - there may be hints
> in there what the order of the axes is within the 'FLUX' column.
> The logical choice would indeed be IF * CHANNELS * POL * 2
> values / complex number (or 3, in sfxc's case; we record a
> weight per spectral point too: (re, im, wgt)), thus IF goes
> first, then channel etc.
>
> In sfxc those axes have been made explicit - as you can tell, so
> there's no ambiguity of how to interpret them.
>
> Cheers,
> h
>
>
> On 25 October 2016 at 06:28, Franz Kirsten
> <franz.kirsten at curtin.edu.au
> <mailto:franz.kirsten at curtin.edu.au>> wrote:
>
> Hi all,
>
> I am currently looking at the fits-idi files as they are
> spit out by DiFX -- and noticed a difference in the
> structure of the visibility array compared to that produced
> by SFXC**. I'd mostly like to know how those visibilities
> are structured/ordered in the 'FLUX' field of the UV_DATA table.
>
> Just so you know what I look at (in python):
> import astropy.io.fits as fits
> hdulist=fits.open('./difx-file.idifits')
> vis=hdulist['UV_DATA'].data['FLUX']
> vis.shape
> > (n_times * n_baselines, some_number)
>
> Now, in my case, some_number = 4096. I have 8 IFs, 128
> channels/IF and 2 polarisations. Assuming I have a pair of
> numbers (amp + phase, or real+imaginary?) for each
> visibility, 8 * 128 * 2 * 2 = 4096. But how are the data
> ordered? Are the, say, first 256 entries amp+phase for IF1,
> chan1-chan128, pol 1? In this logic the next 256 entries
> would be that of IF1, chan1-128, pol2. And then I'd jump to
> IF2 and repeat. Is this correct?
>
> Many thanks for your help!
>
> Regards,
> Franz
>
> **In fits-idi files that come out of SFXC:
> vis.shape = (n_times * n_baselines, 1, 1, n_IF, n_chan,
> n_pol, 3), where the three entries in the last index are
> amp, phase, weight.
>
> _______________________________________________
> Difx-users mailing list
> Difx-users at listmgr.nrao.edu <mailto:Difx-users at listmgr.nrao.edu>
> https://listmgr.nrao.edu/mailman/listinfo/difx-users
> <https://listmgr.nrao.edu/mailman/listinfo/difx-users>
>
>
>
> _______________________________________________
> Difx-users mailing list
> Difx-users at listmgr.nrao.edu <mailto:Difx-users at listmgr.nrao.edu>
> https://listmgr.nrao.edu/mailman/listinfo/difx-users
> <https://listmgr.nrao.edu/mailman/listinfo/difx-users>
>
>
>
>
> --
> !=============================================================!
> Dr. Adam Deller
> ARC Future Fellow, Senior Lecturer
> Centre for Astrophysics & Supercomputing
> Swinburne University of Technology
> John St, Hawthorn VIC 3122 Australia
> phone: +61 3 9214 5307 <tel:%2B61%203%209214%205307>
> fax: +61 3 9214 8797 <tel:%2B61%203%209214%208797>
> !=============================================================!
>
>
More information about the Difx-users
mailing list