cubevis 0.5.2__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 (132) hide show
  1. cubevis/LICENSE.rst +500 -0
  2. cubevis/__icons__/20px/fast-backward.svg +13 -0
  3. cubevis/__icons__/20px/fast-forward.svg +13 -0
  4. cubevis/__icons__/20px/step-backward.svg +12 -0
  5. cubevis/__icons__/20px/step-forward.svg +12 -0
  6. cubevis/__icons__/add-chan.png +0 -0
  7. cubevis/__icons__/add-chan.svg +84 -0
  8. cubevis/__icons__/add-cube.png +0 -0
  9. cubevis/__icons__/add-cube.svg +186 -0
  10. cubevis/__icons__/drag.png +0 -0
  11. cubevis/__icons__/drag.svg +109 -0
  12. cubevis/__icons__/mask-selected.png +0 -0
  13. cubevis/__icons__/mask.png +0 -0
  14. cubevis/__icons__/mask.svg +1 -0
  15. cubevis/__icons__/new-layer-sm-selected.png +0 -0
  16. cubevis/__icons__/new-layer-sm-selected.svg +88 -0
  17. cubevis/__icons__/new-layer-sm.png +0 -0
  18. cubevis/__icons__/new-layer-sm.svg +15 -0
  19. cubevis/__icons__/reset.png +0 -0
  20. cubevis/__icons__/reset.svg +11 -0
  21. cubevis/__icons__/sub-chan.png +0 -0
  22. cubevis/__icons__/sub-chan.svg +71 -0
  23. cubevis/__icons__/sub-cube.png +0 -0
  24. cubevis/__icons__/sub-cube.svg +95 -0
  25. cubevis/__icons__/zoom-to-fit.png +0 -0
  26. cubevis/__icons__/zoom-to-fit.svg +21 -0
  27. cubevis/__init__.py +58 -0
  28. cubevis/__js__/bokeh-3.6.1.min.js +728 -0
  29. cubevis/__js__/bokeh-tables-3.6.1.min.js +119 -0
  30. cubevis/__js__/bokeh-widgets-3.6.1.min.js +141 -0
  31. cubevis/__js__/casalib.min.js +1 -0
  32. cubevis/__js__/cubevisjs.min.js +62 -0
  33. cubevis/__version__.py +1 -0
  34. cubevis/apps/__init__.py +44 -0
  35. cubevis/apps/_createmask.py +461 -0
  36. cubevis/apps/_createregion.py +513 -0
  37. cubevis/apps/_interactiveclean.py +3260 -0
  38. cubevis/apps/_interactiveclean_wrappers.py +130 -0
  39. cubevis/apps/_ms_raster.py +815 -0
  40. cubevis/apps/_plotants.py +286 -0
  41. cubevis/apps/_plotbandpass.py +7 -0
  42. cubevis/bokeh/__init__.py +29 -0
  43. cubevis/bokeh/annotations/__init__.py +1 -0
  44. cubevis/bokeh/annotations/_ev_poly_annotation.py +6 -0
  45. cubevis/bokeh/components/__init__.py +28 -0
  46. cubevis/bokeh/format/__init__.py +31 -0
  47. cubevis/bokeh/format/_time_ticks.py +44 -0
  48. cubevis/bokeh/format/_wcs_ticks.py +45 -0
  49. cubevis/bokeh/models/__init__.py +4 -0
  50. cubevis/bokeh/models/_edit_span.py +7 -0
  51. cubevis/bokeh/models/_ev_text_input.py +6 -0
  52. cubevis/bokeh/models/_tip.py +37 -0
  53. cubevis/bokeh/models/_tip_button.py +50 -0
  54. cubevis/bokeh/sources/__init__.py +35 -0
  55. cubevis/bokeh/sources/_data_pipe.py +258 -0
  56. cubevis/bokeh/sources/_image_data_source.py +83 -0
  57. cubevis/bokeh/sources/_image_pipe.py +581 -0
  58. cubevis/bokeh/sources/_spectra_data_source.py +55 -0
  59. cubevis/bokeh/sources/_updatable_data_source.py +189 -0
  60. cubevis/bokeh/state/__init__.py +34 -0
  61. cubevis/bokeh/state/_initialize.py +164 -0
  62. cubevis/bokeh/state/_javascript.py +53 -0
  63. cubevis/bokeh/state/_palette.py +58 -0
  64. cubevis/bokeh/state/_session.py +44 -0
  65. cubevis/bokeh/state/js/bokeh-2.4.1.min.js +596 -0
  66. cubevis/bokeh/state/js/bokeh-gl-2.4.1.min.js +74 -0
  67. cubevis/bokeh/state/js/bokeh-tables-2.4.1.min.js +132 -0
  68. cubevis/bokeh/state/js/bokeh-widgets-2.4.1.min.js +118 -0
  69. cubevis/bokeh/state/js/casaguijs-v0.0.4.0-b2.4.min.js +49 -0
  70. cubevis/bokeh/state/js/casaguijs-v0.0.5.0-b2.4.min.js +49 -0
  71. cubevis/bokeh/state/js/casaguijs-v0.0.6.0-b2.4.min.js +49 -0
  72. cubevis/bokeh/state/js/casalib-v0.0.1.min.js +1 -0
  73. cubevis/bokeh/tools/__init__.py +31 -0
  74. cubevis/bokeh/tools/_cbreset_tool.py +52 -0
  75. cubevis/bokeh/tools/_drag_tool.py +61 -0
  76. cubevis/bokeh/utils/__init__.py +35 -0
  77. cubevis/bokeh/utils/_axes_labels.py +94 -0
  78. cubevis/bokeh/utils/_svg_icon.py +136 -0
  79. cubevis/data/__init__.py +1 -0
  80. cubevis/data/casaimage/__init__.py +114 -0
  81. cubevis/data/measurement_set/__init__.py +7 -0
  82. cubevis/data/measurement_set/_ms_data.py +178 -0
  83. cubevis/data/measurement_set/processing_set/__init__.py +30 -0
  84. cubevis/data/measurement_set/processing_set/_ps_concat.py +98 -0
  85. cubevis/data/measurement_set/processing_set/_ps_coords.py +78 -0
  86. cubevis/data/measurement_set/processing_set/_ps_data.py +213 -0
  87. cubevis/data/measurement_set/processing_set/_ps_io.py +55 -0
  88. cubevis/data/measurement_set/processing_set/_ps_raster_data.py +154 -0
  89. cubevis/data/measurement_set/processing_set/_ps_select.py +91 -0
  90. cubevis/data/measurement_set/processing_set/_ps_stats.py +218 -0
  91. cubevis/data/measurement_set/processing_set/_xds_data.py +149 -0
  92. cubevis/plot/__init__.py +1 -0
  93. cubevis/plot/ms_plot/__init__.py +29 -0
  94. cubevis/plot/ms_plot/_ms_plot.py +242 -0
  95. cubevis/plot/ms_plot/_ms_plot_constants.py +22 -0
  96. cubevis/plot/ms_plot/_ms_plot_selectors.py +348 -0
  97. cubevis/plot/ms_plot/_raster_plot.py +292 -0
  98. cubevis/plot/ms_plot/_raster_plot_inputs.py +116 -0
  99. cubevis/plot/ms_plot/_xds_plot_axes.py +110 -0
  100. cubevis/private/__java__/xml-casa-assembly-1.86.jar +0 -0
  101. cubevis/private/_gclean.py +798 -0
  102. cubevis/private/casashell/createmask.py +332 -0
  103. cubevis/private/casashell/iclean.py +4432 -0
  104. cubevis/private/casatasks/__init__.py +140 -0
  105. cubevis/private/casatasks/createmask.py +86 -0
  106. cubevis/private/casatasks/createregion.py +83 -0
  107. cubevis/private/casatasks/iclean.py +1831 -0
  108. cubevis/readme.rst +16 -0
  109. cubevis/remote/__init__.py +10 -0
  110. cubevis/remote/_gclean.py +61 -0
  111. cubevis/remote/_local.py +287 -0
  112. cubevis/remote/_remote_kernel.py +80 -0
  113. cubevis/toolbox/__init__.py +32 -0
  114. cubevis/toolbox/_app_context.py +74 -0
  115. cubevis/toolbox/_cube.py +3457 -0
  116. cubevis/toolbox/_region_list.py +197 -0
  117. cubevis/utils/_ResourceManager.py +86 -0
  118. cubevis/utils/__init__.py +620 -0
  119. cubevis/utils/_contextmgrchain.py +84 -0
  120. cubevis/utils/_conversion.py +93 -0
  121. cubevis/utils/_copydoc.py +55 -0
  122. cubevis/utils/_docenum.py +25 -0
  123. cubevis/utils/_import_protected_module.py +35 -0
  124. cubevis/utils/_logging.py +85 -0
  125. cubevis/utils/_pkgs.py +77 -0
  126. cubevis/utils/_regions.py +40 -0
  127. cubevis/utils/_static.py +66 -0
  128. cubevis/utils/_tiles.py +167 -0
  129. cubevis-0.5.2.dist-info/METADATA +151 -0
  130. cubevis-0.5.2.dist-info/RECORD +132 -0
  131. cubevis-0.5.2.dist-info/WHEEL +4 -0
  132. cubevis-0.5.2.dist-info/licenses/LICENSE +504 -0
@@ -0,0 +1,151 @@
1
+ Metadata-Version: 2.1
2
+ Name: cubevis
3
+ Version: 0.5.2
4
+ Summary: visualization toolkit and apps for casa
5
+ License: LGPL
6
+ Author-email: Darrell Schiebel <darrell@schiebel.us>,Pam Harris <pharris@nrao.edu>
7
+ Requires-Python: >=3.10
8
+ Requires-Dist: astropy>=5.1
9
+ Requires-Dist: bokeh==3.6.1
10
+ Requires-Dist: certifi
11
+ Requires-Dist: matplotlib
12
+ Requires-Dist: regions>=0.6
13
+ Requires-Dist: websockets>=10.3
14
+ Description-Content-Type: text/x-rst
15
+
16
+ casagui - visualization tools and applications for CASA
17
+ =======================================================
18
+
19
+ This is a **pre-alpha**, **prototype** package. It is *not* useful for external users, and all
20
+ applications being built with it are currently in various phases of *prototyping*.
21
+
22
+ Introduction
23
+ ------------
24
+
25
+ For some time, the GUIs provided by `CASA <https://casadocs.readthedocs.io/en/latest/>`_ have
26
+ been based upon `Qt <https://www.qt.io/>`_. While Qt works well, the compiled nature of C++
27
+ code made building and distributing the GUIs for each architecture a hurdle. This in turn
28
+ caused the GUIs we developed to tend toward large, monolithic applications which were
29
+ difficult to integrate and control from Python. We first used
30
+ `DBus <https://www.freedesktop.org/wiki/Software/dbus/>`_ to control our Qt application.
31
+ Qt provides a nice interface to DBus, but it became clear that DBus development had slowed
32
+ and that DBus was unlikely to make major inroads outside of the Linux Desktop. At that
33
+ point, we switched to `gRPC <https://grpc.io/>`_. gRPC supports a variety of platforms
34
+ and languages. It also has significant support behind it. However despite the improved
35
+ technology, it was still difficult to incorporate a scripting interface which allowed a
36
+ stand-alone C++/Qt process to be controlled by a separate Python process at a low enough
37
+ level to be practically useful for control at the level of granularity we desire.
38
+
39
+ Similar to the CASA visualization development experience, the CASA framework as a whole
40
+ has experienced the ups and downs of the large C++ development experience. Experience
41
+ with a Python parallelization trade study which CASA conducted indicated that the loss
42
+ of CPU throughput in a switch from C++ to pure Python can be made up for in gains made
43
+ in the selection of parallelization framework like `Dask <https://www.dask.org/>`_ along
44
+ with just in time compilation with something like `Numba <http://numba.pydata.org/>`_.
45
+ In addition to the focus of the trade study, additional gains are possible by mixing
46
+ in GPU resources.
47
+
48
+ These experiences have led CASA to begin a multi-year transition from being a large
49
+ C++ framework attached to Python to being a pure-Python framework for processing
50
+ radio astronomy data. This package is visualization portion of that transition.
51
+
52
+ After an abbreviated trade study where we considered a few pure-Python visualization
53
+ frameworks, we selected `Bokeh <https://docs.bokeh.org/en/latest/>`_ as the basis
54
+ for creating new visualization infrastructure for CASA. The choice of Bokeh was made
55
+ based upon its extensibility, its community support (including
56
+ `NumFocus <https://numfocus.org/project/bokeh>`_), and its limited external dependencies
57
+ (just JavaScript and a modern web browser). A stand-alone application can be created
58
+ by using the
59
+ `Bokeh server <https://docs.bokeh.org/en/latest/docs/reference/command/subcommands/serve.html>`_.
60
+ These options allow for GUIs to be created and used interactively from a Python
61
+ command line session, as a stand-alone mini web server, integrated into a desktop
62
+ application (using `Electron <https://www.electronjs.org/>`_) or as part of a
63
+ `Jupyter Notebook <https://jupyter.org/>`_.
64
+
65
+ Beyond this architectural flexibility, our intention is to create a toolbox of
66
+ Bokeh based components which can be combined to create a collection of visualization
67
+ tools which can be used in each of these settings (Python command line, Notebook
68
+ and desktop application) so that we maintain smaller, reusable tools instead of very
69
+ large monolithic applications. *Interactive clean* is our path-finder application of
70
+ this approach and is currently the only example available.
71
+
72
+ Installation
73
+ ------------
74
+
75
+ casagui is available `from PyPI <https://pypi.org/project/casagui/>`_.
76
+
77
+ Interactive Clean
78
+ -----------------
79
+
80
+ Requirements
81
+ ````````````
82
+
83
+ - Python 3.8 or greater
84
+
85
+ - casatools and casatasks built from `CAS-13743 <https://open-jira.nrao.edu/browse/CAS-13743>`_
86
+
87
+ Install
88
+ ```````
89
+
90
+ - :code:`bash$ casa-CAS-13743-2-py3.8/bin/pip3 install casagui`
91
+
92
+ Caveats
93
+ ```````
94
+
95
+ - Remote access is slow, later a desktop application will be developed (using the same Bokeh
96
+ toolbox) to improve this situation, but for now if running remotely, it is best to pre-start
97
+ your preferred browser on the host where you will be running interactive clean. For example
98
+
99
+ * :code:`bash$ export BROWSER=/opt/local/bin/firefox`
100
+
101
+ * :code:`bash$ $BROWSER > /dev/null 2>&1 &`
102
+
103
+ - `Konqueror <https://apps.kde.org/konqueror/>`_ does **not** work. We only test with
104
+ `Chrome <https://www.google.com/chrome/>`_ and
105
+ `Firefox <https://www.mozilla.org/en-US/firefox/new/>`_.
106
+
107
+ - :code:`node.js` version 14.0.0 or higher is required
108
+
109
+ Simple Usage Example
110
+ ````````````````````
111
+
112
+ A simple example of the use of interactive clean is::
113
+
114
+ CASA <1>: from casagui.apps import InteractiveClean
115
+ CASA <2>: InteractiveClean( vis=ms_path, imagename=img, imsize=512, cell='12.0arcsec',
116
+ specmode='cube', interpolation='nearest', nchan=5, start='1.0GHz',
117
+ width='0.2GHz', pblimit=-1e-05, deconvolver='hogbom', threshold='0.001Jy',
118
+ niter=50, cycleniter=10, cyclefactor=3, scales=[0,3,10] )( )
119
+
120
+
121
+ In general, the :code:`InteractiveClean` constructor takes a subset of parameters accepted
122
+ by `tclean <https://casadocs.readthedocs.io/en/latest/api/tt/casatasks.imaging.tclean.html>`_.
123
+ All of the masks used in running interactive clean are available from the
124
+ :code:`InteractiveClean` object. To get access to the list of masks, you would create
125
+ the object as a separate statement::
126
+
127
+ CASA <2>: ic = InteractiveClean( vis=ms_path, imagename=img, imsize=512, cell='12.0arcsec',
128
+ specmode='cube', interpolation='nearest', nchan=5, start='1.0GHz',
129
+ width='0.2GHz', pblimit=-1e-05, deconvolver='hogbom', threshold='0.001Jy',
130
+ niter=50, cycleniter=10, cyclefactor=3, scales=[0,3,10] )( )
131
+ CASA <2>: ic( )
132
+ CASA <3>: print(ic.masks( ))
133
+
134
+ Visibility Plotting: MsRaster
135
+ -----------------------------
136
+
137
+ Install
138
+ ```````
139
+
140
+ See https://casagui.readthedocs.io/en/latest/applications/ms_raster.html#installation
141
+
142
+ Simple Usage Example
143
+ ````````````````````
144
+
145
+ A simple example of the use of MsRaster to create visibility raster plots::
146
+
147
+ >>> from casagui.apps import MsRaster
148
+ >>> msr = MsRaster(ms=myms)
149
+ >>> msr.plot() # default time vs. baseline plot
150
+ >>> msr.show() # open plot in browser tab
151
+
@@ -0,0 +1,132 @@
1
+ cubevis/LICENSE.rst,sha256=qzGpkvhDzf_MgF1PIn6rCmYPrcEhkfrBUchosLJj-U4,26371
2
+ cubevis/__icons__/20px/fast-backward.svg,sha256=lojLZbnHujJcGd3QzY93ftHDsBtFcxqdPBtvaj6IHdY,767
3
+ cubevis/__icons__/20px/fast-forward.svg,sha256=0oSnzzFSGKXOOtcns1QdOqMIElqthzbHxytQ17XlFrE,772
4
+ cubevis/__icons__/20px/step-backward.svg,sha256=kHWVOh9aIIgHZ5YhseK86Okb0H7Zq3oX7lPiEGMrb48,667
5
+ cubevis/__icons__/20px/step-forward.svg,sha256=x_Pon9gv-_Lqavd43DxH-QoT6lVTS9uTUf-hSBVt9OA,662
6
+ cubevis/__icons__/add-chan.png,sha256=i_Mw9inQvUX_dmWgTum7LeKhA91StXoVUa-humwDfyo,3422
7
+ cubevis/__icons__/add-chan.svg,sha256=g-cv2ZczrGtwekNRFFCd2wf34fFMWLoK1Tevmn_XI8k,2549
8
+ cubevis/__icons__/add-cube.png,sha256=xcu_C21B3ENFxBMSPIjAjVMNT_VZAm5kEFrm62Z1H08,13271
9
+ cubevis/__icons__/add-cube.svg,sha256=_p8H_NzuhCuIf4RIZPEWjiqaBeiGYe_D4Ywqw3sPJAA,7106
10
+ cubevis/__icons__/drag.png,sha256=IeaILw3CS0bJFXYcToEE250W4G96cL7QFZMzXIjUPWA,21946
11
+ cubevis/__icons__/drag.svg,sha256=xCh7ykZB6Yh4a4uQYxn6FsF3lVgkTZP-8JznlKbjaVE,3458
12
+ cubevis/__icons__/mask-selected.png,sha256=bUwBL9H4LT_-tKtI2gY-8BrnGf6Z2fCYgoieTGpiQPQ,15827
13
+ cubevis/__icons__/mask.png,sha256=hXaYPqEBpaupTecw3BugewuSBs1DWgTKX1mMJOAj2r0,59693
14
+ cubevis/__icons__/mask.svg,sha256=82GYoQ7h8zZyuamIyjTL2MluZOG-hc3--hpHvSDU7rQ,389117
15
+ cubevis/__icons__/new-layer-sm-selected.png,sha256=6Xrw85rtP33uSxu-4I6ltOld8XTMVc0JXQ1rVLLiHuo,395
16
+ cubevis/__icons__/new-layer-sm-selected.svg,sha256=Oq-bRHsvhnZ_Uqt-qeb3LjLx0YLmdkTfL-eWbmLM95c,3156
17
+ cubevis/__icons__/new-layer-sm.png,sha256=h2RmhTq-nY9F7HMOQtxSMwdmRc-ZWj3O9wZOtdBqRRE,304
18
+ cubevis/__icons__/new-layer-sm.svg,sha256=AJtLANRnyYt_Z7ggJhzYCZ9P-m5ZFTNdna10qMBIEfQ,1430
19
+ cubevis/__icons__/reset.png,sha256=e745QOPwCb6lQQ8hfHSJlZfR-U0i8_KWMmTgfyqm2zc,10925
20
+ cubevis/__icons__/reset.svg,sha256=9TmxBP9Ttwox3NC0he-BNNIJLYIkPa-5saEUXbKzOik,981
21
+ cubevis/__icons__/sub-chan.png,sha256=wQ-qasFXUIOTf2u1FYDlLw1sOGD9Lc8DxQlazxdvdw0,2674
22
+ cubevis/__icons__/sub-chan.svg,sha256=hEmxtj0ogChOCPPDud-Nki317jxa0mGk-GAjWqVOyj4,2563
23
+ cubevis/__icons__/sub-cube.png,sha256=mtv21frhc_GuXsfDlUa-0xQzym3Ii4TZiQGm4MFYjrY,10011
24
+ cubevis/__icons__/sub-cube.svg,sha256=tDCFZ2Es6b8HTiBpgLPG0cOOnlS8dI7LbE2KQxEWFw4,6391
25
+ cubevis/__icons__/zoom-to-fit.png,sha256=aozGbrkoBX1q9kV0p272bg0YKGje1gIfVBkFZRlLAXs,9592
26
+ cubevis/__icons__/zoom-to-fit.svg,sha256=NtYorWvH4s68iAMriqCPGuTBX5SsgVN310UXGKDM7i8,1802
27
+ cubevis/__init__.py,sha256=-j-68b97SOoKc_xToz5ESMr7RHOfy6b5vSHlQGJQ96k,2597
28
+ cubevis/__js__/bokeh-3.6.1.min.js,sha256=SPRs94Q-H-aj8MCsXNu4ok1ouQQLTgXxZnk0-BBAOl4,1092280
29
+ cubevis/__js__/bokeh-tables-3.6.1.min.js,sha256=wINufoBiINmP_PERwhN_1GkidJOsJQ_3vFKUDui7rl8,301216
30
+ cubevis/__js__/bokeh-widgets-3.6.1.min.js,sha256=NE3tFbbxoaMjnJ0XednWJxbAGl-vSR0fxE_kX8keuDQ,311821
31
+ cubevis/__js__/casalib.min.js,sha256=JLZ_3i5JlbNJw2nsx7pewysxzoD3sVpSiWdgJCLbhi0,91107
32
+ cubevis/__js__/cubevisjs.min.js,sha256=fU2O_iQAIKl79r8rfADaTq5R-tMy33YqimE3U-UHXGE,27545
33
+ cubevis/apps/__init__.py,sha256=1kwOspD7uL8SXSxnT-MBaA-wDxW5T8mJwxOmyrkTcww,2522
34
+ cubevis/apps/_createmask.py,sha256=bKFpME5MYhLh7HxlJZINBTwG25t0_T_d1nYrWYAWYPA,23527
35
+ cubevis/apps/_createregion.py,sha256=ujLQeXl-afooRU0YLcJ43FMMDMU37SoHtuPJnwNHcEw,26667
36
+ cubevis/apps/_interactiveclean.py,sha256=l_3xPNfCFL7bNmNL4C4x584hG7lj1BwB1vZrxy1cSD4,241438
37
+ cubevis/apps/_interactiveclean_wrappers.py,sha256=ALbIQBOyxKqKJy_MUIqIUVwcyVzNFDOjtI1ysx4Stkk,5065
38
+ cubevis/apps/_ms_raster.py,sha256=fAE3-qaqD4N2o6TyR_eD1r8IXDJL_tu03WpR2e4gMSM,36511
39
+ cubevis/apps/_plotants.py,sha256=top6VWVd_sE48IVPH_sIg3_sQeDl5tadi5DL7r5tUEI,10823
40
+ cubevis/apps/_plotbandpass.py,sha256=NwOgKSRnpLw9Pt3KIdBpoV78q1OnjCvj6lWFqeyICt8,185
41
+ cubevis/bokeh/__init__.py,sha256=XvuKcU9-bAv1CPb_O81VJTNLlHQC-zBg_Ig9_q4RkM4,1371
42
+ cubevis/bokeh/annotations/__init__.py,sha256=tjDIPKbg-rh7Iu3coFWvmX-j2yNj9KuKmRp1aTo71ww,50
43
+ cubevis/bokeh/annotations/_ev_poly_annotation.py,sha256=0ayX21gxNnm5-4s5VRKiaJ23DCSvbvpsU6oym9q2bk0,173
44
+ cubevis/bokeh/components/__init__.py,sha256=BQOqgBtlDpu6ENrY42nYeS73n2ZSMogJgM2LtJibfVM,1314
45
+ cubevis/bokeh/format/__init__.py,sha256=umNotXSRR23675c44x3h5h2ILbZX8xrDFCztvriYjEw,1424
46
+ cubevis/bokeh/format/_time_ticks.py,sha256=j-DcPh7RfGE8iX2bPjLQDQPIbiAbmjiEWQnKmdMWA3I,1773
47
+ cubevis/bokeh/format/_wcs_ticks.py,sha256=x-ObJiCxBvfqCEk8ySh0NU1ZQUPFUdHRHztjwPSPECI,1827
48
+ cubevis/bokeh/models/__init__.py,sha256=V6KjvlK24elu-Sij7nQkpwc0itgDBR2o18EODXNbGQI,130
49
+ cubevis/bokeh/models/_edit_span.py,sha256=7o59ZS0bF_Q_WtstvViWXP-2PiY_F7_zCecTqKcmz0E,196
50
+ cubevis/bokeh/models/_ev_text_input.py,sha256=SGtefXkWK6jHEk4EneZ_hEUGwoIWwVGjwqLjGsAXMpY,158
51
+ cubevis/bokeh/models/_tip.py,sha256=bnlCOYXsNdgEYKDbsQ6hEVrKOjCXEDxtuwE3sldOeEU,1396
52
+ cubevis/bokeh/models/_tip_button.py,sha256=Dw4aO37o0J3n6EoaJ3ui1y8d04qNn3x2dbKiwiQpArM,1577
53
+ cubevis/bokeh/sources/__init__.py,sha256=4FsudFuVU4o7VG5OG3K1tiMoxIXcJWNz_K9yzMDE8ls,1581
54
+ cubevis/bokeh/sources/_data_pipe.py,sha256=PI4vZ_4eywHJfGEanyx-eMJvoeuMrPdMcF_ZbScYSi8,13779
55
+ cubevis/bokeh/sources/_image_data_source.py,sha256=ezgTWHtHMpbT-jAd1F_xnq3jdcvIGbqNvN9MTbTOnNs,3537
56
+ cubevis/bokeh/sources/_image_pipe.py,sha256=4v1-fuE-2LnL18hArkvurQeIy0TsaiX0H0_3iN-n4Xw,27770
57
+ cubevis/bokeh/sources/_spectra_data_source.py,sha256=Tbq4JczbmWfW9OPTzY2OuCMPOrr9yGQ1xVB63QTHnOw,2200
58
+ cubevis/bokeh/sources/_updatable_data_source.py,sha256=KlEUTFI26tC7FLu5KF0U36CjjyBmNhSro0-PrLSi7i8,10709
59
+ cubevis/bokeh/state/__init__.py,sha256=pUzr7PWrFKhGa8G1ogrGqBywrT8nUJ5kh3vKr0z4Zao,1628
60
+ cubevis/bokeh/state/_initialize.py,sha256=J261daXAOnXkoTu5L8wnZL6cbQfxJmQFwQczZxSQ1F4,7488
61
+ cubevis/bokeh/state/_javascript.py,sha256=ZRFHQsXv-XJNPsAgxF0hCI8ne00dFVBDah_x2l1hwv0,2587
62
+ cubevis/bokeh/state/_palette.py,sha256=lPLgpKvc23mpNcaVu5nBAGdA_WBUK1HcxFJLu3CTvtg,2463
63
+ cubevis/bokeh/state/_session.py,sha256=5TK6pyQOUPZNwnyjd_XmkqE_qPNkQyXIKjpFsliBvgk,1761
64
+ cubevis/bokeh/state/js/bokeh-2.4.1.min.js,sha256=Yvo63pP3a5Vir2BzFUw8WPrW39N59ZSGwVzvTyoetcY,799179
65
+ cubevis/bokeh/state/js/bokeh-gl-2.4.1.min.js,sha256=BX-JQecSTD5uz_4yTXjogiLlueld3WIv2SLfaJrsCtg,185643
66
+ cubevis/bokeh/state/js/bokeh-tables-2.4.1.min.js,sha256=Hp3Gw1qaPSkvPzAD5qBp4sESeKj9Q5GLGdsO9hd-Syo,292438
67
+ cubevis/bokeh/state/js/bokeh-widgets-2.4.1.min.js,sha256=K9QrJH9MbQyglQR_cOV_iUNozzUwic2KQrDk9EyCkMQ,251390
68
+ cubevis/bokeh/state/js/casaguijs-v0.0.4.0-b2.4.min.js,sha256=_ZvenZ_UApl_C3bTUeuNajuBiEvj5lo5w30bpJZDRHU,8432
69
+ cubevis/bokeh/state/js/casaguijs-v0.0.5.0-b2.4.min.js,sha256=-9ejzM9tyj4C1amaOsHBOsKJU9SBk0bftGAqXveu2zg,8587
70
+ cubevis/bokeh/state/js/casaguijs-v0.0.6.0-b2.4.min.js,sha256=GCeFC1kJuuOX6SOeRJuxW8RyEn58gtolM6lXUe4d5Nc,8981
71
+ cubevis/bokeh/state/js/casalib-v0.0.1.min.js,sha256=-9ngLtBAQvvBMRIo3afLJOxrjMJgZ1AKCUD46u20N8w,384
72
+ cubevis/bokeh/tools/__init__.py,sha256=7-1ZmzrKBs9Snt2IdJyHiYnRi3yKYXQa0KJlZkWtjiM,1383
73
+ cubevis/bokeh/tools/_cbreset_tool.py,sha256=J4ARI436QWlzwHOv9ZikEvTVJLbzUFsXVtADYafjBVA,2208
74
+ cubevis/bokeh/tools/_drag_tool.py,sha256=vAlDu9t1vqL9W1Fq8YFiuqGzHvV4cfTV4Sr5hAzAtCA,2845
75
+ cubevis/bokeh/utils/__init__.py,sha256=sihpNvmWoq1IBUygZmbjT8L4PRs0fxKHMAtV4d_AWMk,1475
76
+ cubevis/bokeh/utils/_axes_labels.py,sha256=VBeFeYIJfjxGGHPM0r82P01y1pRrXg5j0Cbk6xPZUdA,4052
77
+ cubevis/bokeh/utils/_svg_icon.py,sha256=Q46oIZCh1TzhkKVMHHRIgU1HwX624z3C_M4Ko7vY__c,23331
78
+ cubevis/data/__init__.py,sha256=_j5cRA9l9Nl0ycL_SsbeLP1Uil_q1ldiVKJk5IeRFx8,77
79
+ cubevis/data/casaimage/__init__.py,sha256=55ebo9hReK8DdnVDiFK25wYDGizQoRvjcKCIQCdgEck,3606
80
+ cubevis/data/measurement_set/__init__.py,sha256=5J5Um4LJD956RMYhm9rc_ZkrDzXZ_ixaJtX97k9ywV0,107
81
+ cubevis/data/measurement_set/_ms_data.py,sha256=y81KHxxbrPicL52ZE8B_nz7rRdiAWsHApKuVJbGAbiE,6531
82
+ cubevis/data/measurement_set/processing_set/__init__.py,sha256=UXigxZV3Q8-PWDVeSDOMxXh73oSYLKLpkkN266s8taQ,464
83
+ cubevis/data/measurement_set/processing_set/_ps_concat.py,sha256=ZlZ6Ygok_wnrn7h4U1OXERxr5zJRAX6jZi3_eKtwiuA,3484
84
+ cubevis/data/measurement_set/processing_set/_ps_coords.py,sha256=pdmojL-_55x3CjFcMIMuIqsI4ADG-TlLxc-RTgBQZC8,3640
85
+ cubevis/data/measurement_set/processing_set/_ps_data.py,sha256=bwV60t_RC5589X-TPgQ8hJ9W5UPUpQyWFVThklpzd4w,9259
86
+ cubevis/data/measurement_set/processing_set/_ps_io.py,sha256=i-YkHEOPpqLLbUv6Gd29EQfJfq_Hgs0055vDwc3Hmbo,1709
87
+ cubevis/data/measurement_set/processing_set/_ps_raster_data.py,sha256=WuT8uIQoqSrGHdL0YP-ps1eZfAgS9P4BF4HbIvxpT1k,6764
88
+ cubevis/data/measurement_set/processing_set/_ps_select.py,sha256=limqv4la3cRd3H0z7ZAFpQSMFPQRUa81xne0c-KVLPY,3450
89
+ cubevis/data/measurement_set/processing_set/_ps_stats.py,sha256=GkyR5-f4mCNaqfxZuDZYzW3x5Q7xnMQDDNmXs0cIEI0,8156
90
+ cubevis/data/measurement_set/processing_set/_xds_data.py,sha256=rEHMFCQd_q8S8wlCQFk3lvQrTsF_K4LyhCcXHC-54aM,5253
91
+ cubevis/plot/__init__.py,sha256=y2VbAUP-ilRul3Fk_2QepvjKLU-X_p2xNnF7weRY0Lw,87
92
+ cubevis/plot/ms_plot/__init__.py,sha256=f2okSBxRB-GgdiJGUE5ZfPgKY2_dzDkGfX91GxRUE94,658
93
+ cubevis/plot/ms_plot/_ms_plot.py,sha256=fwKJoi6BI6Ql0V0Xgz6PYZIQODfAU_cB-l8PXVStjBI,9585
94
+ cubevis/plot/ms_plot/_ms_plot_constants.py,sha256=LHjd3X7kZmilKSM3Mqf2Ys1ui4yWKI2yx0Otbeu_L2U,744
95
+ cubevis/plot/ms_plot/_ms_plot_selectors.py,sha256=bus0R6R8BNS6Y2dMxVngf6v54AIZTdY0JRZ038Rp0Sc,10048
96
+ cubevis/plot/ms_plot/_raster_plot.py,sha256=OtEDX5cjNZ65Wn1vB8vTxEr1JZejyXgE9nW_liUNAwc,12958
97
+ cubevis/plot/ms_plot/_raster_plot_inputs.py,sha256=yUFob7t4JMXTwHjzNWZMEMLCvQdJ55SyWj3mZBxHgos,5173
98
+ cubevis/plot/ms_plot/_xds_plot_axes.py,sha256=EeWvAbiKV33nEWdI8V3M0uwLTnycq4bFYBOyVWkxCu0,4429
99
+ cubevis/private/__java__/xml-casa-assembly-1.86.jar,sha256=dBT_OxPtczAfWKRaOrHWwNZbDfEjtKkuQGuFOaKOczA,8041045
100
+ cubevis/private/_gclean.py,sha256=ExdR6cRxSa6Xne2veGNKhbTtx-tXUIWr2htzEmEZ9Z4,41107
101
+ cubevis/private/casashell/createmask.py,sha256=97KEGpSXtTs1ODrFuox_0Q6us6oP3OKIiD7nk6o717I,14449
102
+ cubevis/private/casashell/iclean.py,sha256=j5xB7Z89AQcWL_tFYrxK1pbqkMwjTgRD5jBJnBJfNHM,294779
103
+ cubevis/private/casatasks/__init__.py,sha256=yLL13GDxSxIkqjjap_sJO_aGVaBUW9gXMwlAlPli97g,6963
104
+ cubevis/private/casatasks/createmask.py,sha256=1p1DJzXFeXgG-zC_2CUJulRAv61tXO3Na2lNg6hsYOc,3762
105
+ cubevis/private/casatasks/createregion.py,sha256=knukE94x5x6j8ym_Mx-0bVXDOUeErp0QctfZo0H-mRE,3347
106
+ cubevis/private/casatasks/iclean.py,sha256=xH5npnMj1QVTFVsxex8iQFJ44A0BVbuPGQxNZdjP668,152989
107
+ cubevis/readme.rst,sha256=XSMU01Dfx1NULFjEZya-8QKHhQA_MRWsUjsNJFKsaZ4,595
108
+ cubevis/remote/__init__.py,sha256=0LgSfWUw8cYnVrOYGq3o15tWJPkgcvTyYIrvRSAW6N8,1233
109
+ cubevis/remote/_gclean.py,sha256=TpmCmCUtMjqOFnA2wtYdp4EJo-59DyI00aaTWQbMQU4,1930
110
+ cubevis/remote/_local.py,sha256=PcPCFcwttTFZd3O33-5pqDuGKQKK6CA0gz1MTIkTiNI,10326
111
+ cubevis/remote/_remote_kernel.py,sha256=wfu7ZzKn-oCxZxzDIkC5puBvGf8WbCLYL3CzM56_FNc,2652
112
+ cubevis/toolbox/__init__.py,sha256=VqxO5Izv0nEjhPbqTUH1jo8SQoyj5YrSbs7m42N8Rm0,1433
113
+ cubevis/toolbox/_app_context.py,sha256=0tRY2SSbSCM6RKLFs_T707_ehWkJXPvnLlE1P9cLXJY,3024
114
+ cubevis/toolbox/_cube.py,sha256=bee3159jtNh_Ls4oF2rtEL5qbp_xQt2tep4TVIlVFUg,293778
115
+ cubevis/toolbox/_region_list.py,sha256=_1RvnXwqMoaAq8CPy-6IyhabLi_snXqO566onehI2y0,8957
116
+ cubevis/utils/_ResourceManager.py,sha256=SaaR29etabRiKxmUK-aWvAm4v_OPFJH8CX7bNFm0Lgo,3410
117
+ cubevis/utils/__init__.py,sha256=bVAMnKLIVmQM6ShL_deOuHW0Zi2wcDP8lh5agWRRDDc,23190
118
+ cubevis/utils/_contextmgrchain.py,sha256=r5SrCBdgQIVH7zXKOmq5oWhDUSeHaZpgsIfWFHvb3cQ,2859
119
+ cubevis/utils/_conversion.py,sha256=SziCU8sOGtG7djlY766-MeOvnQgvT9C737FEfJ4aYsE,3262
120
+ cubevis/utils/_copydoc.py,sha256=SI9DOUoTNg9M-Y4J1oci2Ba1jebGHsx_pFX24RSNg3o,1915
121
+ cubevis/utils/_docenum.py,sha256=D79BvxwW18DPUlIhBx5DnpZh76pDURC1Hqt1DfS7kG0,877
122
+ cubevis/utils/_import_protected_module.py,sha256=ubDVygLLU-PVsEYrP_vd_327eVOE0YhUe5klns29YGE,1487
123
+ cubevis/utils/_logging.py,sha256=HqyoTib7QSuAUbzicPVMdhFtxWKo-Dv4GgD0AYDDXIY,2348
124
+ cubevis/utils/_pkgs.py,sha256=mu2CCzndmJZYP81UkFhxveW_CisWLUvagJVolHOEVgM,2294
125
+ cubevis/utils/_regions.py,sha256=TdAg4ZUUyhg3nFmX9_KLboqmc0LkyOdEW8M1WDR5Udk,1669
126
+ cubevis/utils/_static.py,sha256=rN-sqXNqQ5R2M3wmPHU1GPP5OTyyWQlUPRuimCrht-g,2347
127
+ cubevis/utils/_tiles.py,sha256=A9W1X61VOhBMTOKXVajzOIoiV2FBdO5N2SFB9SUpDOo,7336
128
+ cubevis/__version__.py,sha256=LADBavpB8x-lrtqob-7SCQZXFPfLZCu34A0lBsgTGGI,21
129
+ cubevis-0.5.2.dist-info/WHEEL,sha256=B19PGBCYhWaz2p_UjAoRVh767nYQfk14Sn4TpIZ-nfU,87
130
+ cubevis-0.5.2.dist-info/METADATA,sha256=H5lMwxwGdjOXdQEGYcQ_VmkRnANeXmyyMwlOTg_Azu4,6871
131
+ cubevis-0.5.2.dist-info/licenses/LICENSE,sha256=IMF9i4xIpgCADf0U-V1cuf9HBmqWQd3qtI3FSuyW4zE,26526
132
+ cubevis-0.5.2.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: pdm-pep517 1.1.4
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any