| 20 | = Scantable vs MS = |
| 21 | |
| 22 | Even though both containers are based on {{{casa::Table}}} they use different philosophies in terms of access. The main differences are: |
| 23 | |
| 24 | == Frequency handling == |
| 25 | |
| 26 | * MS has the '''SPECTRAL_WINDOW_ID''' for identifying similar frequency set-ups |
| 27 | * Scantable has a combination of '''IFNO''' and '''FREQUENCY_ID''' to group similar frequencies. |
| 28 | |
| 29 | The concept of an ''IF'' for grouping doesn't really exist in the MS (there are entries which can be used for this in the '''SPECTRAL_WINDOW''' table |
| 30 | An ''IF'' for example can have multiple '''FREQUENCY_ID'''s e.g. in case of doppler tracked data. Frequency alignment then unifies these. |
| 31 | |
| 32 | == Handling of spectral channels == |
| 33 | |
| 34 | * MS has two columns '''DATA''' and '''FLOAT_DATA''' containing {{{n_pol x n_channel}}} matrices of complex and float values respectively. In case of single-dish data the '''FLOAT_DATA''' column contains the spectra. |
| 35 | |
| 36 | * Scantable has only one column '''SPECTRA''' and one row per polarisation containing a float vector of {{{n_channel}}}. Cross-correlations are stored as real and imaginary parts in separate rows. For example for polarimetry data. we have four rows containing '''XX, YY, Real(XY), Imag(XY)''' |
| 37 | |
| 38 | asap relies on these structures in almost all access methods. As such, changing the internal format to MS would mean almost a complete reimplementation of asap. |
| 39 | |
| 40 | |