Skip to main content
https://img.shields.io/pypi/v/xarray-ms.svg https://img.shields.io/travis/ska-sa/xarray-ms.svg Documentation Status

Constructs xarray Datasets from CASA Tables via python-casacore. The DataArrays contained in the Dataset are dask arrays backed by deferred calls to pyrap.tables.table.getcol.

Supports writing DataArrays back to the respective column in the Table.

The intention behind this package is to support the Measurement Set as a data source and sink for the purposes of writing parallel, distributed Radio Astronomy algorithms.

import dask.array as da
from xarrayms import xds_from_table, xds_to_table

# Create xarray dataset from Measurement Set "WSRT.MS"
ds = xds_from_table("WSRT.MS")
# Set the flag DataArray to it's inverse
ds['flag'] = (ds.flag.dims, da.logical_not(ds.flag))
# Write the flag column back to the Measurement Set
xds_to_table(ds, "WSRT.MS", "FLAG").compute()

print ds

<xarray.Dataset>
Dimensions:         ((u,v,w): 3, chan: 64, corr: 4, row: 6552, table_row: 6552)
Coordinates:
  * row             (row) int32 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
  * table_row       (table_row) int32 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
Dimensions without coordinates: (u,v,w), chan, corr
Data variables:
    ANTENNA1        (row) int32 dask.array<shape=(6552,), chunksize=(1000,)>
    ANTENNA2        (row) int32 dask.array<shape=(6552,), chunksize=(1000,)>
    ARRAY_ID        (row) int32 dask.array<shape=(6552,), chunksize=(1000,)>
    CORRECTED_DATA  (row, chan, corr) complex64 dask.array<shape=(6552, 64, 4), chunksize=(1000, 64, 4)>
    DATA            (row, chan, corr) complex64 dask.array<shape=(6552, 64, 4), chunksize=(1000, 64, 4)>
    EXPOSURE        (row) float64 dask.array<shape=(6552,), chunksize=(1000,)>
    FEED1           (row) int32 dask.array<shape=(6552,), chunksize=(1000,)>
    FEED2           (row) int32 dask.array<shape=(6552,), chunksize=(1000,)>
    FLAG            (row, chan, corr) bool dask.array<shape=(6552, 64, 4), chunksize=(1000, 64, 4)>
    FLAG_ROW        (row) bool dask.array<shape=(6552,), chunksize=(1000,)>
    IMAGING_WEIGHT  (row, chan) float32 dask.array<shape=(6552, 64), chunksize=(1000, 64)>
    INTERVAL        (row) float64 dask.array<shape=(6552,), chunksize=(1000,)>
    MODEL_DATA      (row, chan, corr) complex64 dask.array<shape=(6552, 64, 4), chunksize=(1000, 64, 4)>
    OBSERVATION_ID  (row) int32 dask.array<shape=(6552,), chunksize=(1000,)>
    PROCESSOR_ID    (row) int32 dask.array<shape=(6552,), chunksize=(1000,)>
    SCAN_NUMBER     (row) int32 dask.array<shape=(6552,), chunksize=(1000,)>
    SIGMA           (row, corr) float32 dask.array<shape=(6552, 4), chunksize=(1000, 4)>
    STATE_ID        (row) int32 dask.array<shape=(6552,), chunksize=(1000,)>
    TIME            (row) float64 dask.array<shape=(6552,), chunksize=(1000,)>
    TIME_CENTROID   (row) float64 dask.array<shape=(6552,), chunksize=(1000,)>
    UVW             (row, (u,v,w)) float64 dask.array<shape=(6552, 3), chunksize=(1000, 3)>
    WEIGHT          (row, corr) float32 dask.array<shape=(6552, 4), chunksize=(1000, 4)>
Attributes:
    FIELD_ID:      0
    DATA_DESC_ID:  0

Documentation

https://xarray-ms.readthedocs.io.

Limitations

  1. Many Measurement Sets columns are defined as variably shaped, but the actual data is fixed. xarray-ms will infer the shape of the data from the first row and must be consistent with that of other rows. For example, this may be issue where multiple Spectral Windows are present in the Measurement Set with differing channels per SPW.

    xarray-ms works around this by partitioning the Measurement Set into multiple datasets. The first row’s shape is used to infer the shape of the partition. Thus, in the case of multiple Spectral Window’s, we can partition the Measurement Set by DATA_DESC_ID to create a dataset for each Spectral Window.

Metadata

Release files for xarray-ms 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xarray-ms 0.1.7
File Size Uploaded
xarray-ms-0.1.7.tar.gz 33.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xarray-ms 0.1.7
File Interpreter ABI Platform
xarray_ms-0.1.7-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 62.6 kB

Release files / xarray-ms-0.1.7.tar.gz

Download URL xarray-ms-0.1.7.tar.gz
Size 33.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1a9436523eda0bb469c6be01019b81a1b5ad5b6eafb32ced3e4f29ea6fa57c8b
BLAKE2b-256 checksum
How to use checksums
23146af4fb132bd1f73fc243054ff404f6c5e69a3a89e777b796538728fc6f89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.3

Release files / xarray_ms-0.1.7-py2.py3-none-any.whl

Download URL xarray_ms-0.1.7-py2.py3-none-any.whl
Size 28.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
84e4171a16ebeea803fe9074fb8862da27eaa8b222584303600134430fd2bf82
BLAKE2b-256 checksum
How to use checksums
9b69499d0306f147cb43b026d9f3ae9ff745b3430977edae7739773334e8137a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.3

Release history Release notifications | RSS feed

0.5.11

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.5

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page