xradio 0.0.43__tar.gz → 0.0.44__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.
Files changed (82) hide show
  1. {xradio-0.0.43/src/xradio.egg-info → xradio-0.0.44}/PKG-INFO +1 -1
  2. {xradio-0.0.43 → xradio-0.0.44}/pyproject.toml +1 -1
  3. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/_casacore/xds_from_casacore.py +5 -7
  4. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/_casacore/xds_to_casacore.py +1 -1
  5. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/_fits/xds_from_fits.py +0 -2
  6. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/image_factory.py +0 -1
  7. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/measurement_set_xds.py +10 -3
  8. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/processing_set.py +2 -2
  9. {xradio-0.0.43 → xradio-0.0.44/src/xradio.egg-info}/PKG-INFO +1 -1
  10. {xradio-0.0.43 → xradio-0.0.44}/LICENSE.txt +0 -0
  11. {xradio-0.0.43 → xradio-0.0.44}/MANIFEST.in +0 -0
  12. {xradio-0.0.43 → xradio-0.0.44}/README.md +0 -0
  13. {xradio-0.0.43 → xradio-0.0.44}/setup.cfg +0 -0
  14. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/__init__.py +0 -0
  15. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/_utils/__init__.py +0 -0
  16. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/_utils/_casacore/tables.py +0 -0
  17. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/_utils/coord_math.py +0 -0
  18. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/_utils/list_and_array.py +0 -0
  19. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/_utils/schema.py +0 -0
  20. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/_utils/zarr/__init__.py +0 -0
  21. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/_utils/zarr/common.py +0 -0
  22. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/__init__.py +0 -0
  23. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/__init__.py +0 -0
  24. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/_casacore/__init__.py +0 -0
  25. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/_casacore/common.py +0 -0
  26. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/_zarr/common.py +0 -0
  27. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/_zarr/xds_from_zarr.py +0 -0
  28. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/_zarr/xds_to_zarr.py +0 -0
  29. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/_zarr/zarr_low_level.py +0 -0
  30. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/casacore.py +0 -0
  31. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/common.py +0 -0
  32. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/fits.py +0 -0
  33. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/_util/zarr.py +0 -0
  34. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/image/image.py +0 -0
  35. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/__init__.py +0 -0
  36. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/__init__.py +0 -0
  37. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/_tables/load.py +0 -0
  38. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/_tables/load_main_table.py +0 -0
  39. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/_tables/read.py +0 -0
  40. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/_tables/read_main_table.py +0 -0
  41. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/_tables/read_subtables.py +0 -0
  42. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/_tables/table_query.py +0 -0
  43. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/_tables/write.py +0 -0
  44. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/_tables/write_exp_api.py +0 -0
  45. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/chunks.py +0 -0
  46. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/conversion.py +0 -0
  47. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/create_antenna_xds.py +0 -0
  48. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/create_field_and_source_xds.py +0 -0
  49. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/descr.py +0 -0
  50. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/msv2_msv3.py +0 -0
  51. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/msv2_to_msv4_meta.py +0 -0
  52. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/msv4_info_dicts.py +0 -0
  53. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/msv4_sub_xdss.py +0 -0
  54. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/optimised_functions.py +0 -0
  55. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/partition_queries.py +0 -0
  56. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/partitions.py +0 -0
  57. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_msv2/subtables.py +0 -0
  58. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_utils/cds.py +0 -0
  59. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_utils/partition_attrs.py +0 -0
  60. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_utils/stokes_types.py +0 -0
  61. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_utils/xds_helper.py +0 -0
  62. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_zarr/encoding.py +0 -0
  63. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_zarr/read.py +0 -0
  64. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/_zarr/write.py +0 -0
  65. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/msv2.py +0 -0
  66. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/_utils/zarr.py +0 -0
  67. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/convert_msv2_to_processing_set.py +0 -0
  68. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/load_processing_set.py +0 -0
  69. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/open_processing_set.py +0 -0
  70. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/measurement_set/schema.py +0 -0
  71. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/schema/__init__.py +0 -0
  72. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/schema/bases.py +0 -0
  73. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/schema/check.py +0 -0
  74. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/schema/dataclass.py +0 -0
  75. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/schema/metamodel.py +0 -0
  76. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/schema/typing.py +0 -0
  77. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/sphinx/__init__.py +0 -0
  78. {xradio-0.0.43 → xradio-0.0.44}/src/xradio/sphinx/schema_table.py +0 -0
  79. {xradio-0.0.43 → xradio-0.0.44}/src/xradio.egg-info/SOURCES.txt +0 -0
  80. {xradio-0.0.43 → xradio-0.0.44}/src/xradio.egg-info/dependency_links.txt +0 -0
  81. {xradio-0.0.43 → xradio-0.0.44}/src/xradio.egg-info/requires.txt +0 -0
  82. {xradio-0.0.43 → xradio-0.0.44}/src/xradio.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xradio
3
- Version: 0.0.43
3
+ Version: 0.0.44
4
4
  Summary: Xarray Radio Astronomy Data IO
5
5
  Author-email: Jan-Willem Steeb <jsteeb@nrao.edu>
6
6
  License: BSD 3-Clause License
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "xradio"
3
- version = "0.0.43"
3
+ version = "0.0.44"
4
4
  description = " Xarray Radio Astronomy Data IO"
5
5
  authors = [
6
6
  {name = "Jan-Willem Steeb", email="jsteeb@nrao.edu"},
@@ -174,15 +174,13 @@ def _casa_image_to_xds_attrs(img_full_path: str, history: bool = True) -> dict:
174
174
  "type": "sky_coord",
175
175
  "equinox": ap_equinox if ap_equinox else None,
176
176
  "value": [0.0, 0.0],
177
- "cdelt": [0.0, 0.0],
178
177
  "units": ["rad", "rad"],
179
178
  }
180
- for c, r in zip(["crval", "cdelt"], ["value", "cdelt"]):
181
- for i in range(2):
182
- unit = u.Unit(_get_unit(coord_dir_dict["units"][i]))
183
- q = coord_dir_dict[c][i] * unit
184
- x = q.to("rad")
185
- dir_dict["reference"][r][i] = x.value
179
+ for i in range(2):
180
+ unit = u.Unit(_get_unit(coord_dir_dict["units"][i]))
181
+ q = coord_dir_dict["crval"][i] * unit
182
+ x = q.to("rad")
183
+ dir_dict["reference"]["value"][i] = x.value
186
184
  k = "latpole"
187
185
  if k in coord_dir_dict:
188
186
  for j in (k, "longpole"):
@@ -24,7 +24,7 @@ def _compute_direction_dict(xds: xr.Dataset) -> dict:
24
24
  direction["projection_parameters"] = xds_dir["projection_parameters"]
25
25
  direction["units"] = np.array(xds_dir["reference"]["units"], dtype="<U16")
26
26
  direction["crval"] = np.array(xds_dir["reference"]["value"])
27
- direction["cdelt"] = np.array(xds_dir["reference"]["cdelt"])
27
+ direction["cdelt"] = np.array((xds.l.cdelt, xds.m.cdelt))
28
28
  direction["crpix"] = _compute_sky_reference_pixel(xds)
29
29
  direction["pc"] = np.array(xds_dir["pc"])
30
30
  direction["axes"] = ["Right Ascension", "Declination"]
@@ -176,7 +176,6 @@ def _xds_direction_attrs_from_header(helpers: dict, header) -> dict:
176
176
  "equinox": ref_eqx,
177
177
  "units": ["rad", "rad"],
178
178
  "value": [0.0, 0.0],
179
- "cdelt": [0.0, 0.0],
180
179
  }
181
180
  dir_axes = helpers["dir_axes"]
182
181
  for i in dir_axes:
@@ -185,7 +184,6 @@ def _xds_direction_attrs_from_header(helpers: dict, header) -> dict:
185
184
  direction["reference"]["value"][i] = x.value
186
185
  x = helpers["cdelt"][i] * u.Unit(_get_unit(helpers["cunit"][i]))
187
186
  x = x.to("rad")
188
- direction["reference"]["cdelt"][i] = x.value
189
187
  direction["latpole"] = {
190
188
  "value": header["LATPOLE"] * _deg_to_rad,
191
189
  "units": "rad",
@@ -68,7 +68,6 @@ def _add_common_attrs(
68
68
  "equinox": "J2000",
69
69
  "value": list(phase_center),
70
70
  "units": ["rad", "rad"],
71
- "cdelt": [-abs(cell_size[0]), abs(cell_size[1])],
72
71
  },
73
72
  "longpole": {"type": "quantity", "value": np.pi, "units": "rad"},
74
73
  "latpole": {"type": "quantity", "value": 0.0, "units": "rad"},
@@ -47,7 +47,7 @@ class MeasurementSetXds(xr.Dataset):
47
47
  if "xds" in attrs_name:
48
48
  del copy_cor_xds.attrs[attrs_name]
49
49
  xr.Dataset.to_zarr(
50
- self.attrs[attrs_name], os.path.join(store, attrs_name, **kwargs)
50
+ self.attrs[attrs_name], os.path.join(store, attrs_name), **kwargs
51
51
  )
52
52
 
53
53
  # Save copy_cor_xds as zarr file.
@@ -78,10 +78,11 @@ class MeasurementSetXds(xr.Dataset):
78
78
  >>> # Select data group 'corrected' and polarization 'XX' using a dict.
79
79
  >>> selected_ms_xds = ms_xds.sel({'data_group_name':'corrected', 'polarization':'XX')
80
80
  """
81
+
81
82
  if "data_group_name" in indexers_kwargs:
82
83
  data_group_name = indexers_kwargs["data_group_name"]
83
84
  del indexers_kwargs["data_group_name"]
84
- if (indexers is not None) and ("data_group_name" in indexers):
85
+ elif (indexers is not None) and ("data_group_name" in indexers):
85
86
  data_group_name = indexers["data_group_name"]
86
87
  del indexers["data_group_name"]
87
88
  else:
@@ -99,11 +100,17 @@ class MeasurementSetXds(xr.Dataset):
99
100
 
100
101
  data_variables_to_drop = list(set(data_variables_to_drop))
101
102
 
102
- return MeasurementSetXds(
103
+ sel_ms_xds = MeasurementSetXds(
103
104
  super()
104
105
  .sel(indexers, method, tolerance, drop, **indexers_kwargs)
105
106
  .drop_vars(data_variables_to_drop)
106
107
  )
108
+
109
+ sel_ms_xds.attrs["data_groups"] = {
110
+ data_group_name: self.attrs["data_groups"][data_group_name]
111
+ }
112
+
113
+ return sel_ms_xds
107
114
  else:
108
115
  return MeasurementSetXds(
109
116
  super().sel(indexers, method, tolerance, drop, **indexers_kwargs)
@@ -193,10 +193,10 @@ class ProcessingSet(dict):
193
193
 
194
194
  spw_ids = []
195
195
  freq_axis_list = []
196
- frame = self.get(0).frequency.attrs["frame"]
196
+ frame = self.get(0).frequency.attrs["observer"]
197
197
  for ms_xds in self.values():
198
198
  assert (
199
- frame == ms_xds.frequency.attrs["frame"]
199
+ frame == ms_xds.frequency.attrs["observer"]
200
200
  ), "Frequency reference frame not consistent in Processing Set."
201
201
  if ms_xds.frequency.attrs["spectral_window_id"] not in spw_ids:
202
202
  spw_ids.append(ms_xds.frequency.attrs["spectral_window_id"])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xradio
3
- Version: 0.0.43
3
+ Version: 0.0.44
4
4
  Summary: Xarray Radio Astronomy Data IO
5
5
  Author-email: Jan-Willem Steeb <jsteeb@nrao.edu>
6
6
  License: BSD 3-Clause License
File without changes
File without changes
File without changes
File without changes
File without changes