xradio 0.0.54__tar.gz → 0.0.55__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {xradio-0.0.54/src/xradio.egg-info → xradio-0.0.55}/PKG-INFO +1 -1
- {xradio-0.0.54 → xradio-0.0.55}/pyproject.toml +1 -1
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/_casacore/xds_from_casacore.py +35 -44
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/casacore.py +16 -11
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/image.py +1 -1
- {xradio-0.0.54 → xradio-0.0.55/src/xradio.egg-info}/PKG-INFO +1 -1
- {xradio-0.0.54 → xradio-0.0.55}/LICENSE.txt +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/MANIFEST.in +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/README.md +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/setup.cfg +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/__init__.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/_utils/__init__.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/_utils/_casacore/tables.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/_utils/coord_math.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/_utils/dict_helpers.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/_utils/list_and_array.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/_utils/schema.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/_utils/zarr/__init__.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/_utils/zarr/common.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/__init__.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/__init__.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/_casacore/__init__.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/_casacore/common.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/_casacore/xds_to_casacore.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/_fits/xds_from_fits.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/_zarr/common.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/_zarr/xds_from_zarr.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/_zarr/xds_to_zarr.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/_zarr/zarr_low_level.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/common.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/fits.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/image_factory.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/image/_util/zarr.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/__init__.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/__init__.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/load.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/load_main_table.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/read.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/read_main_table.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/read_subtables.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/table_query.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/write.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/write_exp_api.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/chunks.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/conversion.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/create_antenna_xds.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/create_field_and_source_xds.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/descr.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/msv2_msv3.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/msv2_to_msv4_meta.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/msv4_info_dicts.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/msv4_sub_xdss.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/optimised_functions.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/partition_queries.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/partitions.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/subtables.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_utils/cds.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_utils/partition_attrs.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_utils/stokes_types.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_utils/xds_helper.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_zarr/encoding.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_zarr/read.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_zarr/write.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/msv2.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/zarr.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/convert_msv2_to_processing_set.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/load_processing_set.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/measurement_set_xdt.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/open_processing_set.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/processing_set_xdt.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/schema.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/schema/__init__.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/schema/bases.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/schema/check.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/schema/dataclass.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/schema/metamodel.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/schema/typing.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/sphinx/__init__.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio/sphinx/schema_table.py +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio.egg-info/SOURCES.txt +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio.egg-info/dependency_links.txt +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio.egg-info/requires.txt +0 -0
- {xradio-0.0.54 → xradio-0.0.55}/src/xradio.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: xradio
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.55
|
|
4
4
|
Summary: Xarray Radio Astronomy Data IO
|
|
5
5
|
Author-email: Jan-Willem Steeb <jsteeb@nrao.edu>, Federico Montesino Pouzols <pouzols@eso.edu>, Dave Mehringer <dmehring@nrao.edu>, Peter Wortmann <peter.wortmann@skao.int>
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -599,36 +599,6 @@ def _get_mask_names(infile: str) -> list:
|
|
|
599
599
|
return mymasks
|
|
600
600
|
|
|
601
601
|
|
|
602
|
-
def _get_beam(imageinfo: dict, nchan: int, npol: int) -> Union[np.ndarray, None]:
|
|
603
|
-
"""Returns None if the image has no beam(s)"""
|
|
604
|
-
x = ["perplanebeams", "restoringbeam"]
|
|
605
|
-
r = None
|
|
606
|
-
for z in x:
|
|
607
|
-
if z in imageinfo:
|
|
608
|
-
r = z
|
|
609
|
-
break
|
|
610
|
-
if r is None:
|
|
611
|
-
return None
|
|
612
|
-
beam = imageinfo[r]
|
|
613
|
-
beam_array = np.zeros([1, nchan, npol, 3])
|
|
614
|
-
if r == "perplanebeams":
|
|
615
|
-
for c in range(nchan):
|
|
616
|
-
for p in range(npol):
|
|
617
|
-
k = nchan * p + c
|
|
618
|
-
b = _casacore_q_to_xradio_q(beam["*" + str(k)])
|
|
619
|
-
beam_dict = _convert_beam_to_rad(b)
|
|
620
|
-
beam_array[0][c][p][0] = beam_dict["major"]["data"]
|
|
621
|
-
beam_array[0][c][p][1] = beam_dict["minor"]["data"]
|
|
622
|
-
beam_array[0][c][p][2] = beam_dict["pa"]["data"]
|
|
623
|
-
elif r == "restoringbeam":
|
|
624
|
-
b = _casacore_q_to_xradio_q(beam)
|
|
625
|
-
beam_dict = _convert_beam_to_rad(b)
|
|
626
|
-
beam_array[0, :, :, 0] = beam_dict["major"]["data"]
|
|
627
|
-
beam_array[0, :, :, 1] = beam_dict["minor"]["data"]
|
|
628
|
-
beam_array[0, :, :, 2] = beam_dict["pa"]["data"]
|
|
629
|
-
return beam_array
|
|
630
|
-
|
|
631
|
-
|
|
632
602
|
def _get_persistent_block(
|
|
633
603
|
infile: str,
|
|
634
604
|
shapes: tuple,
|
|
@@ -834,25 +804,46 @@ def _get_velocity_values_attrs(
|
|
|
834
804
|
)
|
|
835
805
|
|
|
836
806
|
|
|
837
|
-
def
|
|
838
|
-
|
|
807
|
+
def _get_beam(
|
|
808
|
+
img_full_path: str, nchan: int, npol: int, as_dask_array: bool
|
|
839
809
|
) -> Union[xr.DataArray, None]:
|
|
840
810
|
# the image may have multiple beams
|
|
841
811
|
with _open_image_ro(img_full_path) as casa_image:
|
|
842
812
|
imageinfo = casa_image.info()["imageinfo"]
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
xdb = xdb.rename("BEAM")
|
|
851
|
-
xdb = xdb.assign_coords(beam_param=["major", "minor", "pa"])
|
|
852
|
-
xdb.attrs["units"] = "rad"
|
|
853
|
-
return xdb
|
|
854
|
-
else:
|
|
813
|
+
x = ["perplanebeams", "restoringbeam"]
|
|
814
|
+
r = None
|
|
815
|
+
for z in x:
|
|
816
|
+
if z in imageinfo:
|
|
817
|
+
r = z
|
|
818
|
+
break
|
|
819
|
+
if r is None:
|
|
855
820
|
return None
|
|
821
|
+
beam = imageinfo[r]
|
|
822
|
+
beam_array = np.zeros([1, nchan, npol, 3])
|
|
823
|
+
if r == "perplanebeams":
|
|
824
|
+
for c in range(nchan):
|
|
825
|
+
for p in range(npol):
|
|
826
|
+
k = nchan * p + c
|
|
827
|
+
b = _casacore_q_to_xradio_q(beam["*" + str(k)])
|
|
828
|
+
beam_dict = _convert_beam_to_rad(b)
|
|
829
|
+
beam_array[0][c][p][0] = beam_dict["major"]["data"]
|
|
830
|
+
beam_array[0][c][p][1] = beam_dict["minor"]["data"]
|
|
831
|
+
beam_array[0][c][p][2] = beam_dict["pa"]["data"]
|
|
832
|
+
elif r == "restoringbeam":
|
|
833
|
+
b = _casacore_q_to_xradio_q(beam)
|
|
834
|
+
beam_dict = _convert_beam_to_rad(b)
|
|
835
|
+
beam_array[0, :, :, 0] = beam_dict["major"]["data"]
|
|
836
|
+
beam_array[0, :, :, 1] = beam_dict["minor"]["data"]
|
|
837
|
+
beam_array[0, :, :, 2] = beam_dict["pa"]["data"]
|
|
838
|
+
if as_dask_array:
|
|
839
|
+
beam_array = da.array(beam_array)
|
|
840
|
+
xdb = xr.DataArray(
|
|
841
|
+
beam_array, dims=["time", "frequency", "polarization", "beam_param"]
|
|
842
|
+
)
|
|
843
|
+
xdb = xdb.rename("BEAM")
|
|
844
|
+
xdb = xdb.assign_coords(beam_param=["major", "minor", "pa"])
|
|
845
|
+
xdb.attrs["units"] = "rad"
|
|
846
|
+
return xdb
|
|
856
847
|
|
|
857
848
|
|
|
858
849
|
###########################################################################
|
|
@@ -21,7 +21,7 @@ from ._casacore.xds_from_casacore import (
|
|
|
21
21
|
_get_persistent_block,
|
|
22
22
|
_get_starts_shapes_slices,
|
|
23
23
|
_get_transpose_list,
|
|
24
|
-
|
|
24
|
+
_get_beam,
|
|
25
25
|
_read_image_array,
|
|
26
26
|
)
|
|
27
27
|
from ._casacore.xds_to_casacore import (
|
|
@@ -42,6 +42,8 @@ def _load_casa_image_block(infile: str, block_des: dict, do_sky_coords) -> xr.Da
|
|
|
42
42
|
cshape = casa_image.shape()
|
|
43
43
|
ret = _casa_image_to_xds_coords(image_full_path, False, do_sky_coords)
|
|
44
44
|
xds = ret["xds"].isel(block_des)
|
|
45
|
+
nchan = ret["xds"].dims["frequency"]
|
|
46
|
+
npol = ret["xds"].dims["polarization"]
|
|
45
47
|
starts, shapes, slices = _get_starts_shapes_slices(block_des, coords, cshape)
|
|
46
48
|
dimorder = _get_xds_dim_order(ret["sphr_dims"])
|
|
47
49
|
transpose_list, new_axes = _get_transpose_list(coords)
|
|
@@ -60,13 +62,14 @@ def _load_casa_image_block(infile: str, block_des: dict, do_sky_coords) -> xr.Da
|
|
|
60
62
|
# data vars are all caps by convention
|
|
61
63
|
xds = _add_mask(xds, m.upper(), block, dimorder)
|
|
62
64
|
xds.attrs = _casa_image_to_xds_attrs(image_full_path)
|
|
63
|
-
|
|
64
|
-
if
|
|
65
|
-
selectors = {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
beam = _get_beam(image_full_path, nchan, npol, False)
|
|
66
|
+
if beam is not None:
|
|
67
|
+
selectors = {
|
|
68
|
+
k: block_des[k]
|
|
69
|
+
for k in ("time", "frequency", "polarization")
|
|
70
|
+
if k in block_des
|
|
71
|
+
}
|
|
72
|
+
xds["BEAM"] = beam.isel(selectors)
|
|
70
73
|
return xds
|
|
71
74
|
|
|
72
75
|
|
|
@@ -97,9 +100,11 @@ def _read_casa_image(
|
|
|
97
100
|
# data var names are all caps by convention
|
|
98
101
|
xds = _add_mask(xds, m.upper(), ary, dimorder)
|
|
99
102
|
xds.attrs = _casa_image_to_xds_attrs(img_full_path)
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
+
beam = _get_beam(
|
|
104
|
+
img_full_path, xds.dims["frequency"], xds.dims["polarization"], True
|
|
105
|
+
)
|
|
106
|
+
if beam is not None:
|
|
107
|
+
xds["BEAM"] = beam
|
|
103
108
|
# xds = _add_coord_attrs(xds, ret["icoords"], ret["dir_axes"])
|
|
104
109
|
xds = _dask_arrayize_dv(xds)
|
|
105
110
|
return xds
|
|
@@ -159,7 +159,7 @@ def load_image(infile: str, block_des: dict = {}, do_sky_coords=True) -> xr.Data
|
|
|
159
159
|
do_casa = False
|
|
160
160
|
if do_casa:
|
|
161
161
|
# comment next line when done debugging
|
|
162
|
-
# return _load_casa_image_block(infile,
|
|
162
|
+
# return _load_casa_image_block(infile, selection, do_sky_coords)
|
|
163
163
|
try:
|
|
164
164
|
return _load_casa_image_block(infile, selection, do_sky_coords)
|
|
165
165
|
except Exception as e:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: xradio
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.55
|
|
4
4
|
Summary: Xarray Radio Astronomy Data IO
|
|
5
5
|
Author-email: Jan-Willem Steeb <jsteeb@nrao.edu>, Federico Montesino Pouzols <pouzols@eso.edu>, Dave Mehringer <dmehring@nrao.edu>, Peter Wortmann <peter.wortmann@skao.int>
|
|
6
6
|
License: BSD 3-Clause License
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/load_main_table.py
RENAMED
|
File without changes
|
|
File without changes
|
{xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/read_main_table.py
RENAMED
|
File without changes
|
{xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/read_subtables.py
RENAMED
|
File without changes
|
{xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/table_query.py
RENAMED
|
File without changes
|
|
File without changes
|
{xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/_tables/write_exp_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/create_antenna_xds.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/msv2_to_msv4_meta.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/optimised_functions.py
RENAMED
|
File without changes
|
{xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/_utils/_msv2/partition_queries.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xradio-0.0.54 → xradio-0.0.55}/src/xradio/measurement_set/convert_msv2_to_processing_set.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|