xradio 0.0.43__py3-none-any.whl → 0.0.44__py3-none-any.whl

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.
@@ -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
@@ -12,13 +12,13 @@ xradio/image/_util/__init__.py,sha256=M9lxD1Gc7kv0ucDEDbjLRuIEuESev-IG8j9EaCKUAk
12
12
  xradio/image/_util/casacore.py,sha256=DmBTHUQ6870N5ARuFnYSfjZSLniJYgsjrsICUlCREYM,4234
13
13
  xradio/image/_util/common.py,sha256=gCVIq547PZMOM7urkdwPXyKcfstD-loJFcf6YGa8CGM,9039
14
14
  xradio/image/_util/fits.py,sha256=gyGm06fuCKqVGK7uv-ObvQNfFawUDsIOa_nQyklM3Aw,329
15
- xradio/image/_util/image_factory.py,sha256=-ZCDkCg25HMN4ubDxeBPv24HsEpYB5_zJYajgPx6_pg,10514
15
+ xradio/image/_util/image_factory.py,sha256=9BwW1pDxv1XaJqbQKwO03kwQyXqNwtIfIyqabHATF5A,10448
16
16
  xradio/image/_util/zarr.py,sha256=lhQqVRC1GEWClG3zRbuDr2IlQBfXeDqaLUJIN-MVMxA,1652
17
17
  xradio/image/_util/_casacore/__init__.py,sha256=OlsiRE40o1jSbBI4khgQQzgfDYbAlOMKIhO4UFlbGhg,41
18
18
  xradio/image/_util/_casacore/common.py,sha256=ky999eTCWta8w-uIs-7P7rPhZRLuh9yTuQXAxPvaPm4,1579
19
- xradio/image/_util/_casacore/xds_from_casacore.py,sha256=o03KTPEyJpG78GJJeT2gqYZWe7gqqWQ9ned0UEQw710,42596
20
- xradio/image/_util/_casacore/xds_to_casacore.py,sha256=qSoKemfH4wX7-7QrEQa_y3Qitn7NCIoCV7fLfDhaaUM,15427
21
- xradio/image/_util/_fits/xds_from_fits.py,sha256=MNlZfW0exYBlCoMCA_Nd84eggNw_W8WhjSICgAihyLk,28543
19
+ xradio/image/_util/_casacore/xds_from_casacore.py,sha256=gLZq0XAjeB4SDzE5nR1p3W-nmopshn_kA5l7kUbl9jo,42490
20
+ xradio/image/_util/_casacore/xds_to_casacore.py,sha256=U21bCfJMm0SYEO-VyTnysjS2qnPY8yiHCnqKaBZ87Bw,15424
21
+ xradio/image/_util/_fits/xds_from_fits.py,sha256=t1HefZZqKnG_G9a6soMiMbDXJA3Kt0aSStp1CnSuUrw,28461
22
22
  xradio/image/_util/_zarr/common.py,sha256=apMX_bF4Hr3pFGjnDFpp36KgmhTYAPBZquNkjBHrsXk,307
23
23
  xradio/image/_util/_zarr/xds_from_zarr.py,sha256=4b6KHmAcnrhBbCi-Z7e3Lm6l6wziJL1zaNIohmPAYDk,3601
24
24
  xradio/image/_util/_zarr/xds_to_zarr.py,sha256=wogXbwX8n3Sl9PHoc3_Y_LBowQsQ-94HZQFZ5NcxUZA,1624
@@ -26,9 +26,9 @@ xradio/image/_util/_zarr/zarr_low_level.py,sha256=fVaPnxYazz6UDLBZuyUOekZKQ945Ow
26
26
  xradio/measurement_set/__init__.py,sha256=0M0Zl5uKozIp5mgPhNaIoal_UuZc1HCA6_zQOhLFo8A,567
27
27
  xradio/measurement_set/convert_msv2_to_processing_set.py,sha256=FC54AApYh0WtQrK4Z5b7MiuRE0X99oziYEnDu4BOjMw,6591
28
28
  xradio/measurement_set/load_processing_set.py,sha256=RedC4i4dOHzgYiz_C0P-3F0PwvEGUomvq_ilpcfUCco,5540
29
- xradio/measurement_set/measurement_set_xds.py,sha256=WevpUY13ie43ji8gNZ73NAxExtnlCRJCEWhwgFIwyoE,4442
29
+ xradio/measurement_set/measurement_set_xds.py,sha256=slZ4Nj3io3WkspjUqY4E-JO3LR2X7g9w2e88yjxcDQ8,4621
30
30
  xradio/measurement_set/open_processing_set.py,sha256=533fwEP4pJIBB-NdwFttbobVb8zEXsblvDTjF4ptTDU,3831
31
- xradio/measurement_set/processing_set.py,sha256=QisdrFKt-At9jGNDcpD2rOa5UonQ3npW8XzfMjCURAs,29898
31
+ xradio/measurement_set/processing_set.py,sha256=uVc8PpG_7ivGYqTZpDCLCfuXBOwTLMFj3TebbEpKMRI,29904
32
32
  xradio/measurement_set/schema.py,sha256=OPAliKAdZt9oblyGW-CHnEzl-1hMj3-9I8G220XArXM,76439
33
33
  xradio/measurement_set/_utils/__init__.py,sha256=XE-h1yMfr6tVD6gdUwXO1CVq5SQ6kD_oj-e5TFwslds,97
34
34
  xradio/measurement_set/_utils/msv2.py,sha256=7hnZMFoQ-s1g0ATjEupLvtdqQCdroPv-Rl5OwjqXjh8,4430
@@ -69,8 +69,8 @@ xradio/schema/metamodel.py,sha256=WjtW7pAVzcjLRWifRH3sQoOiN6TV810hARpOIz1M_gw,38
69
69
  xradio/schema/typing.py,sha256=8-o6fZd99kJ4FVdgBYRTIRJ-wDqpcUNXzCTfJvl3TIw,10439
70
70
  xradio/sphinx/__init__.py,sha256=VGY-7Ty3q67qpnBee0-znbiJ-Iy0F93UO--IpjEdHXc,380
71
71
  xradio/sphinx/schema_table.py,sha256=YTQvK-VOBIpFtcx7sjcaMod4OSbl0uowelYIcdP3oVg,11878
72
- xradio-0.0.43.dist-info/LICENSE.txt,sha256=9CYIJt7riOXo9AD0eXBZviLxo_HebD-2JJI8oiWtzfg,1807
73
- xradio-0.0.43.dist-info/METADATA,sha256=U887ZEkZ5FtkAADWgz1tSwoWfMBN1yVqsVxCa61GRfI,4488
74
- xradio-0.0.43.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
75
- xradio-0.0.43.dist-info/top_level.txt,sha256=dQu27fGBZJ2Yk-gW5XeD-dZ76Xa4Xcvk60Vz-dwXp7k,7
76
- xradio-0.0.43.dist-info/RECORD,,
72
+ xradio-0.0.44.dist-info/LICENSE.txt,sha256=9CYIJt7riOXo9AD0eXBZviLxo_HebD-2JJI8oiWtzfg,1807
73
+ xradio-0.0.44.dist-info/METADATA,sha256=VAhya80uIfNOmDf2YCuAV-5px8TAaijN4zanDk1-_6A,4488
74
+ xradio-0.0.44.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
75
+ xradio-0.0.44.dist-info/top_level.txt,sha256=dQu27fGBZJ2Yk-gW5XeD-dZ76Xa4Xcvk60Vz-dwXp7k,7
76
+ xradio-0.0.44.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.2.0)
2
+ Generator: setuptools (75.5.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5