xradio 0.0.27__py3-none-any.whl → 0.0.29__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.
Files changed (51) hide show
  1. xradio/__init__.py +5 -4
  2. xradio/_utils/array.py +90 -0
  3. xradio/_utils/zarr/common.py +48 -3
  4. xradio/image/_util/_fits/xds_from_fits.py +10 -5
  5. xradio/image/_util/_zarr/zarr_low_level.py +27 -24
  6. xradio/image/_util/common.py +4 -1
  7. xradio/image/_util/zarr.py +4 -1
  8. xradio/schema/__init__.py +24 -6
  9. xradio/schema/bases.py +440 -2
  10. xradio/schema/check.py +96 -55
  11. xradio/schema/dataclass.py +123 -27
  12. xradio/schema/metamodel.py +21 -4
  13. xradio/schema/typing.py +33 -18
  14. xradio/vis/__init__.py +5 -2
  15. xradio/vis/_processing_set.py +30 -9
  16. xradio/vis/_vis_utils/_ms/_tables/create_field_and_source_xds.py +710 -0
  17. xradio/vis/_vis_utils/_ms/_tables/load.py +23 -10
  18. xradio/vis/_vis_utils/_ms/_tables/load_main_table.py +145 -64
  19. xradio/vis/_vis_utils/_ms/_tables/read.py +782 -156
  20. xradio/vis/_vis_utils/_ms/_tables/read_main_table.py +176 -45
  21. xradio/vis/_vis_utils/_ms/_tables/read_subtables.py +79 -28
  22. xradio/vis/_vis_utils/_ms/_tables/write.py +102 -45
  23. xradio/vis/_vis_utils/_ms/_tables/write_exp_api.py +127 -65
  24. xradio/vis/_vis_utils/_ms/chunks.py +58 -21
  25. xradio/vis/_vis_utils/_ms/conversion.py +536 -67
  26. xradio/vis/_vis_utils/_ms/descr.py +52 -20
  27. xradio/vis/_vis_utils/_ms/msv2_to_msv4_meta.py +70 -35
  28. xradio/vis/_vis_utils/_ms/msv4_infos.py +0 -59
  29. xradio/vis/_vis_utils/_ms/msv4_sub_xdss.py +76 -9
  30. xradio/vis/_vis_utils/_ms/optimised_functions.py +0 -46
  31. xradio/vis/_vis_utils/_ms/partition_queries.py +308 -119
  32. xradio/vis/_vis_utils/_ms/partitions.py +82 -25
  33. xradio/vis/_vis_utils/_ms/subtables.py +32 -14
  34. xradio/vis/_vis_utils/_utils/partition_attrs.py +30 -11
  35. xradio/vis/_vis_utils/_utils/xds_helper.py +136 -45
  36. xradio/vis/_vis_utils/_zarr/read.py +60 -22
  37. xradio/vis/_vis_utils/_zarr/write.py +83 -9
  38. xradio/vis/_vis_utils/ms.py +48 -29
  39. xradio/vis/_vis_utils/zarr.py +44 -20
  40. xradio/vis/convert_msv2_to_processing_set.py +106 -32
  41. xradio/vis/load_processing_set.py +38 -61
  42. xradio/vis/read_processing_set.py +62 -96
  43. xradio/vis/schema.py +687 -0
  44. xradio/vis/vis_io.py +75 -43
  45. {xradio-0.0.27.dist-info → xradio-0.0.29.dist-info}/LICENSE.txt +6 -1
  46. {xradio-0.0.27.dist-info → xradio-0.0.29.dist-info}/METADATA +10 -5
  47. xradio-0.0.29.dist-info/RECORD +73 -0
  48. {xradio-0.0.27.dist-info → xradio-0.0.29.dist-info}/WHEEL +1 -1
  49. xradio/vis/model.py +0 -497
  50. xradio-0.0.27.dist-info/RECORD +0 -71
  51. {xradio-0.0.27.dist-info → xradio-0.0.29.dist-info}/top_level.txt +0 -0
xradio/vis/__init__.py CHANGED
@@ -4,10 +4,13 @@ from .convert_msv2_to_processing_set import convert_msv2_to_processing_set
4
4
 
5
5
  from .vis_io import read_vis, load_vis_block, write_vis
6
6
 
7
- from .model import VisibilityXds
7
+ from .schema import VisibilityXds
8
8
 
9
9
  __all__ = [
10
10
  "read_vis",
11
11
  "load_vis_block",
12
- "write_vis" "VisibilityXds",
12
+ "write_vis",
13
+ "VisibilityXds",
14
+ "PointingXds",
15
+ "AntennaXds",
13
16
  ]
@@ -43,10 +43,11 @@ class processing_set(dict):
43
43
  "start_frequency": [],
44
44
  "end_frequency": [],
45
45
  "shape": [],
46
- "field_coords": []
46
+ "field_coords": [],
47
47
  }
48
48
  from astropy.coordinates import SkyCoord
49
49
  import astropy.units as u
50
+
50
51
  for key, value in self.items():
51
52
  summary_data["name"].append(key)
52
53
  summary_data["ddi"].append(value.attrs["ddi"])
@@ -60,20 +61,40 @@ class processing_set(dict):
60
61
 
61
62
  summary_data["shape"].append(value[data_name].shape)
62
63
 
63
- summary_data["field_id"].append(
64
- value[data_name].attrs["field_info"]["field_id"]
65
- )
64
+ summary_data["field_id"].append(value.attrs["partition_info"]["field_id"])
66
65
  summary_data["field_name"].append(
67
- value[data_name].attrs["field_info"]["name"]
66
+ value[data_name].attrs["field_and_source_xds"].attrs["field_name"]
68
67
  )
69
68
  summary_data["start_frequency"].append(value["frequency"].values[0])
70
69
  summary_data["end_frequency"].append(value["frequency"].values[-1])
71
70
 
72
- ra_dec_rad = value[data_name].attrs["field_info"]['phase_direction']['data']
73
- frame = value[data_name].attrs["field_info"]['phase_direction']['attrs']['frame'].lower()
74
- coord = SkyCoord(ra=ra_dec_rad[0]*u.rad, dec=ra_dec_rad[1]*u.rad, frame=frame)
71
+ if value[data_name].attrs["field_and_source_xds"].is_ephemeris:
72
+ summary_data["field_coords"].append("Ephemeris")
73
+ else:
74
+ ra_dec_rad = (
75
+ value[data_name]
76
+ .attrs["field_and_source_xds"]["FIELD_PHASE_CENTER"]
77
+ .values
78
+ )
79
+ frame = (
80
+ value[data_name]
81
+ .attrs["field_and_source_xds"]["FIELD_PHASE_CENTER"]
82
+ .attrs["frame"]
83
+ .lower()
84
+ )
85
+
86
+ coord = SkyCoord(
87
+ ra=ra_dec_rad[0] * u.rad, dec=ra_dec_rad[1] * u.rad, frame=frame
88
+ )
89
+
90
+ summary_data["field_coords"].append(
91
+ [
92
+ frame,
93
+ coord.ra.to_string(unit=u.hour),
94
+ coord.dec.to_string(unit=u.deg),
95
+ ]
96
+ )
75
97
 
76
- summary_data["field_coords"].append([frame, coord.ra.to_string(unit=u.hour), coord.dec.to_string(unit=u.deg)])
77
98
  summary_df = pd.DataFrame(summary_data)
78
99
  return summary_df
79
100