xradio 0.0.28__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 (48) 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/zarr.py +4 -1
  5. xradio/schema/__init__.py +24 -6
  6. xradio/schema/bases.py +440 -2
  7. xradio/schema/check.py +96 -55
  8. xradio/schema/dataclass.py +123 -27
  9. xradio/schema/metamodel.py +21 -4
  10. xradio/schema/typing.py +33 -18
  11. xradio/vis/__init__.py +5 -2
  12. xradio/vis/_processing_set.py +28 -20
  13. xradio/vis/_vis_utils/_ms/_tables/create_field_and_source_xds.py +710 -0
  14. xradio/vis/_vis_utils/_ms/_tables/load.py +23 -10
  15. xradio/vis/_vis_utils/_ms/_tables/load_main_table.py +145 -64
  16. xradio/vis/_vis_utils/_ms/_tables/read.py +747 -172
  17. xradio/vis/_vis_utils/_ms/_tables/read_main_table.py +173 -44
  18. xradio/vis/_vis_utils/_ms/_tables/read_subtables.py +79 -28
  19. xradio/vis/_vis_utils/_ms/_tables/write.py +102 -45
  20. xradio/vis/_vis_utils/_ms/_tables/write_exp_api.py +127 -65
  21. xradio/vis/_vis_utils/_ms/chunks.py +58 -21
  22. xradio/vis/_vis_utils/_ms/conversion.py +536 -67
  23. xradio/vis/_vis_utils/_ms/descr.py +52 -20
  24. xradio/vis/_vis_utils/_ms/msv2_to_msv4_meta.py +70 -35
  25. xradio/vis/_vis_utils/_ms/msv4_infos.py +0 -59
  26. xradio/vis/_vis_utils/_ms/msv4_sub_xdss.py +76 -9
  27. xradio/vis/_vis_utils/_ms/optimised_functions.py +0 -46
  28. xradio/vis/_vis_utils/_ms/partition_queries.py +308 -119
  29. xradio/vis/_vis_utils/_ms/partitions.py +82 -25
  30. xradio/vis/_vis_utils/_ms/subtables.py +32 -14
  31. xradio/vis/_vis_utils/_utils/partition_attrs.py +30 -11
  32. xradio/vis/_vis_utils/_utils/xds_helper.py +136 -45
  33. xradio/vis/_vis_utils/_zarr/read.py +60 -22
  34. xradio/vis/_vis_utils/_zarr/write.py +83 -9
  35. xradio/vis/_vis_utils/ms.py +48 -29
  36. xradio/vis/_vis_utils/zarr.py +44 -20
  37. xradio/vis/convert_msv2_to_processing_set.py +106 -32
  38. xradio/vis/load_processing_set.py +38 -61
  39. xradio/vis/read_processing_set.py +62 -96
  40. xradio/vis/schema.py +687 -0
  41. xradio/vis/vis_io.py +75 -43
  42. {xradio-0.0.28.dist-info → xradio-0.0.29.dist-info}/LICENSE.txt +6 -1
  43. {xradio-0.0.28.dist-info → xradio-0.0.29.dist-info}/METADATA +10 -5
  44. xradio-0.0.29.dist-info/RECORD +73 -0
  45. {xradio-0.0.28.dist-info → xradio-0.0.29.dist-info}/WHEEL +1 -1
  46. xradio/vis/model.py +0 -497
  47. xradio-0.0.28.dist-info/RECORD +0 -71
  48. {xradio-0.0.28.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
  ]
@@ -61,32 +61,40 @@ class processing_set(dict):
61
61
 
62
62
  summary_data["shape"].append(value[data_name].shape)
63
63
 
64
- summary_data["field_id"].append(
65
- value[data_name].attrs["field_info"]["field_id"]
66
- )
64
+ summary_data["field_id"].append(value.attrs["partition_info"]["field_id"])
67
65
  summary_data["field_name"].append(
68
- value[data_name].attrs["field_info"]["name"]
66
+ value[data_name].attrs["field_and_source_xds"].attrs["field_name"]
69
67
  )
70
68
  summary_data["start_frequency"].append(value["frequency"].values[0])
71
69
  summary_data["end_frequency"].append(value["frequency"].values[-1])
72
70
 
73
- ra_dec_rad = value[data_name].attrs["field_info"]["phase_direction"]["data"]
74
- frame = (
75
- value[data_name]
76
- .attrs["field_info"]["phase_direction"]["attrs"]["frame"]
77
- .lower()
78
- )
79
- coord = SkyCoord(
80
- ra=ra_dec_rad[0] * u.rad, dec=ra_dec_rad[1] * u.rad, frame=frame
81
- )
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
+ )
82
97
 
83
- summary_data["field_coords"].append(
84
- [
85
- frame,
86
- coord.ra.to_string(unit=u.hour),
87
- coord.dec.to_string(unit=u.deg),
88
- ]
89
- )
90
98
  summary_df = pd.DataFrame(summary_data)
91
99
  return summary_df
92
100