diff --git a/docs/conf.py b/docs/conf.py index 62a2d6c0..8eb270d5 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -72,6 +72,7 @@ autoapi_ignore = [ "*/_panel_classes/*", "*/utils/*", + "*/core/*", "*/visualization/*", "*/__pycache__/*", "*/data/_*", @@ -114,7 +115,7 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -# This pattern also affects html_static_path and html_extra_path. +# This pattern also affects HTML_static_path and HTML_extra_path. exclude_patterns = ["build", "Thumbs.db", ".DS_Store", "html", "_build"] # The name of the Pygments (syntax highlighting) style to use. diff --git a/docs/index.rst b/docs/index.rst index ad204540..a583cbde 100755 --- a/docs/index.rst +++ b/docs/index.rst @@ -33,10 +33,10 @@ holography and antenna position corrections. Currently AstroHACK supports: -- `Astronomical holographies from the VLA <./tutorial_vla.html>`_. +- `Astronomical holographies from the VLA <./tutorials/vla_holography_tutorial.html>`_. - Astronomical holographies from ALMA. -- `Antenna position corrections for the VLA <./locit_tutorial.html>`_. -- `Near-field ALMA holographies <./AstroHACK-for-NF-ALMA.html>`_ have +- `Antenna position corrections for the VLA <./tutorials/locit_tutorial.html>`_. +- `Near-field ALMA holographies <./online_pages/AstroHACK-for-NF-ALMA.html>`_ have basic support, such as the creation of Aperture images, but the correction of near-field effects is not yet supported. diff --git a/docs/online_pages/api.rst b/docs/online_pages/api.rst index 6816d292..569a763f 100755 --- a/docs/online_pages/api.rst +++ b/docs/online_pages/api.rst @@ -1,7 +1,8 @@ API ====================================================== -Currently we only provide API reference to user facing functions. +Below are listed the API for all user facing functions and for the data +classes created by astrohack's user facing functions. .. toctree:: :maxdepth: 2 @@ -17,5 +18,12 @@ Currently we only provide API reference to user facing functions. ../_api/autoapi/astrohack/cassegrain_ray_tracing/index ../_api/autoapi/astrohack/image_comparison_tool/index ../_api/autoapi/astrohack/io/dio/index - ../_api/autoapi/astrohack/io/mds/index + ../_api/autoapi/astrohack/io/base_mds/index ../_api/autoapi/astrohack/io/beamcut_mds/index + ../_api/autoapi/astrohack/io/holog_mds/index + ../_api/autoapi/astrohack/io/image_mds/index + ../_api/autoapi/astrohack/io/locit_mds/index + ../_api/autoapi/astrohack/io/panel_mds/index + ../_api/autoapi/astrohack/io/point_mds/index + ../_api/autoapi/astrohack/io/position_mds/index + diff --git a/docs/tutorials/astrohack_logo.png b/docs/tutorials/astrohack_logo.png new file mode 100644 index 00000000..43a82f9e Binary files /dev/null and b/docs/tutorials/astrohack_logo.png differ diff --git a/docs/tutorials/beamcut_tutorial.ipynb b/docs/tutorials/beamcut_tutorial.ipynb index 3566f9f9..9ca42c86 100644 --- a/docs/tutorials/beamcut_tutorial.ipynb +++ b/docs/tutorials/beamcut_tutorial.ipynb @@ -12,10 +12,13 @@ "cell_type": "markdown", "id": "f4ce33ae2c4a0b61", "metadata": { - "collapsed": true + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } }, "source": [ - "![astrohack](../_media/astrohack_logo.png)" + "![astrohack](astrohack_logo.png)" ] }, { @@ -34,14 +37,8 @@ "id": "cd51135c1a9c538c", "metadata": { "ExecuteTime": { - "end_time": "2026-01-05T22:41:09.232489019Z", - "start_time": "2026-01-05T22:41:07.299896222Z" - }, - "execution": { - "iopub.execute_input": "2026-01-06T18:51:02.558994Z", - "iopub.status.busy": "2026-01-06T18:51:02.558364Z", - "iopub.status.idle": "2026-01-06T18:51:05.019691Z", - "shell.execute_reply": "2026-01-06T18:51:05.018933Z" + "end_time": "2026-02-10T16:51:07.392844902Z", + "start_time": "2026-02-10T16:51:04.832433643Z" } }, "outputs": [ @@ -85,14 +82,8 @@ "id": "fe3dd386e7860dd0", "metadata": { "ExecuteTime": { - "end_time": "2026-01-05T22:41:10.023026356Z", - "start_time": "2026-01-05T22:41:09.262833731Z" - }, - "execution": { - "iopub.execute_input": "2026-01-06T18:51:05.021761Z", - "iopub.status.busy": "2026-01-06T18:51:05.021293Z", - "iopub.status.idle": "2026-01-06T18:51:07.573270Z", - "shell.execute_reply": "2026-01-06T18:51:07.572702Z" + "end_time": "2026-02-10T16:51:11.192069726Z", + "start_time": "2026-02-10T16:51:07.396407775Z" } }, "outputs": [ @@ -100,13 +91,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:05,022\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Updating file metadata information ... \n" + "[\u001b[38;2;128;05;128m2026-02-25 17:12:33,073\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Updating file metadata information ... \n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "755acf73a88b4c96957b8ba4b11bca29", + "model_id": "4af27ae699a94728b0546f6f7b004f57", "version_major": 2, "version_minor": 0 }, @@ -131,14 +122,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:05,497\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Module path: \u001b[38;2;50;50;205m/home/victor/mambaforge/envs/casadev/lib/python3.12/site-packages/toolviper\u001b[0m \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:05,511\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Downloading from [cloudflare] .... \n" + "[\u001b[38;2;128;05;128m2026-02-25 17:12:33,485\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Module path: \u001b[38;2;50;50;205m/export/home/arya/miniforge3/envs/casadev/lib/python3.12/site-packages/toolviper\u001b[0m \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:33,488\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Downloading from [cloudflare] .... \n" ] }, { @@ -166,13 +151,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:05,522\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Creating path:\u001b[38;2;50;50;205m/home/victor/work/Holography-1022/astrohack/docs/tutorials/data\u001b[0m \n" + "[\u001b[38;2;128;05;128m2026-02-25 17:12:33,490\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m File exists: data/kband_beamcut_small.ms \n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d53db7863a4b4796babdafde366617a8", + "model_id": "7ad6d60636fc47dfa09cbe72b752e309", "version_major": 2, "version_minor": 0 }, @@ -218,11 +203,9 @@ "execution_count": 3, "id": "71a7acc19db8e999", "metadata": { - "execution": { - "iopub.execute_input": "2026-01-06T18:51:07.616524Z", - "iopub.status.busy": "2026-01-06T18:51:07.616380Z", - "iopub.status.idle": "2026-01-06T18:51:08.810026Z", - "shell.execute_reply": "2026-01-06T18:51:08.809497Z" + "ExecuteTime": { + "end_time": "2026-02-10T16:51:11.261502550Z", + "start_time": "2026-02-10T16:51:11.194798840Z" } }, "outputs": [ @@ -230,505 +213,39 @@ "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:07,636\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Module path: \u001b[38;2;50;50;205m/home/victor/mambaforge/envs/casadev/lib/python3.12/site-packages/toolviper\u001b[0m \n" + "[\u001b[38;2;128;05;128m2026-02-25 17:12:33,514\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Module path: \u001b[38;2;50;50;205m/export/home/arya/miniforge3/envs/casadev/lib/python3.12/site-packages/toolviper\u001b[0m \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:33,516\u001b[0m] \u001b[38;2;255;160;0m WARNING\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m It is recommended that the local cache directory be set using the \u001b[38;2;50;50;205mdask_local_dir\u001b[0m parameter. \n" ] }, { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:07,640\u001b[0m] \u001b[38;2;255;160;0m WARNING\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m It is recommended that the local cache directory be set using the \u001b[38;2;50;50;205mdask_local_dir\u001b[0m parameter. \n" + "/export/home/arya/miniforge3/envs/casadev/lib/python3.12/site-packages/distributed/node.py:188: UserWarning: Port 8787 is already in use.\n", + "Perhaps you already have a cluster running?\n", + "Hosting the HTTP server on port 34267 instead\n", + " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:08,785\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Client \n" + "[\u001b[38;2;128;05;128m2026-02-25 17:12:34,391\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Client \n", + "\n" ] - }, - { - "data": { - "text/html": [ - "
\n", - "
\n", - "
\n", - "

Client

\n", - "

MenrvaClient-a9ab507b-eb30-11f0-8beb-40a3ccc2bb2c

\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "
Connection method: Cluster objectCluster type: distributed.LocalCluster
\n", - " Dashboard: http://127.0.0.1:8787/status\n", - "
\n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "

Cluster Info

\n", - "
\n", - "
\n", - "
\n", - "
\n", - "

LocalCluster

\n", - "

17d8f3fe

\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - " \n", - "
\n", - " Dashboard: http://127.0.0.1:8787/status\n", - " \n", - " Workers: 4\n", - "
\n", - " Total threads: 4\n", - " \n", - " Total memory: 14.90 GiB\n", - "
Status: runningUsing processes: True
\n", - "\n", - "
\n", - " \n", - "

Scheduler Info

\n", - "
\n", - "\n", - "
\n", - "
\n", - "
\n", - "
\n", - "

Scheduler

\n", - "

Scheduler-ff6676c0-9a07-42a9-a930-e476d2e90b4c

\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " Comm: tcp://127.0.0.1:38159\n", - " \n", - " Workers: 4 \n", - "
\n", - " Dashboard: http://127.0.0.1:8787/status\n", - " \n", - " Total threads: 4\n", - "
\n", - " Started: Just now\n", - " \n", - " Total memory: 14.90 GiB\n", - "
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "

Workers

\n", - "
\n", - "\n", - " \n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "

Worker: 0

\n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "
\n", - " Comm: tcp://127.0.0.1:46553\n", - " \n", - " Total threads: 1\n", - "
\n", - " Dashboard: http://127.0.0.1:42359/status\n", - " \n", - " Memory: 3.73 GiB\n", - "
\n", - " Nanny: tcp://127.0.0.1:45935\n", - "
\n", - " Local directory: /tmp/dask-scratch-space/worker-_3j9muf6\n", - "
\n", - " Tasks executing: \n", - " \n", - " Tasks in memory: \n", - "
\n", - " Tasks ready: \n", - " \n", - " Tasks in flight: \n", - "
\n", - " CPU usage: 0.0%\n", - " \n", - " Last seen: Just now\n", - "
\n", - " Memory usage: 62.81 MiB\n", - " \n", - " Spilled bytes: 0 B\n", - "
\n", - " Read bytes: 0.0 B\n", - " \n", - " Write bytes: 0.0 B\n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "

Worker: 1

\n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "
\n", - " Comm: tcp://127.0.0.1:46007\n", - " \n", - " Total threads: 1\n", - "
\n", - " Dashboard: http://127.0.0.1:38851/status\n", - " \n", - " Memory: 3.73 GiB\n", - "
\n", - " Nanny: tcp://127.0.0.1:37865\n", - "
\n", - " Local directory: /tmp/dask-scratch-space/worker-yi_lubhs\n", - "
\n", - " Tasks executing: \n", - " \n", - " Tasks in memory: \n", - "
\n", - " Tasks ready: \n", - " \n", - " Tasks in flight: \n", - "
\n", - " CPU usage: 0.0%\n", - " \n", - " Last seen: Just now\n", - "
\n", - " Memory usage: 62.82 MiB\n", - " \n", - " Spilled bytes: 0 B\n", - "
\n", - " Read bytes: 0.0 B\n", - " \n", - " Write bytes: 0.0 B\n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "

Worker: 2

\n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "
\n", - " Comm: tcp://127.0.0.1:46099\n", - " \n", - " Total threads: 1\n", - "
\n", - " Dashboard: http://127.0.0.1:40037/status\n", - " \n", - " Memory: 3.73 GiB\n", - "
\n", - " Nanny: tcp://127.0.0.1:32955\n", - "
\n", - " Local directory: /tmp/dask-scratch-space/worker-zrr0z_qr\n", - "
\n", - " Tasks executing: \n", - " \n", - " Tasks in memory: \n", - "
\n", - " Tasks ready: \n", - " \n", - " Tasks in flight: \n", - "
\n", - " CPU usage: 0.0%\n", - " \n", - " Last seen: Just now\n", - "
\n", - " Memory usage: 62.71 MiB\n", - " \n", - " Spilled bytes: 0 B\n", - "
\n", - " Read bytes: 0.0 B\n", - " \n", - " Write bytes: 0.0 B\n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "

Worker: 3

\n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "
\n", - " Comm: tcp://127.0.0.1:42749\n", - " \n", - " Total threads: 1\n", - "
\n", - " Dashboard: http://127.0.0.1:44901/status\n", - " \n", - " Memory: 3.73 GiB\n", - "
\n", - " Nanny: tcp://127.0.0.1:35823\n", - "
\n", - " Local directory: /tmp/dask-scratch-space/worker-9m7iag_7\n", - "
\n", - " Tasks executing: \n", - " \n", - " Tasks in memory: \n", - "
\n", - " Tasks ready: \n", - " \n", - " Tasks in flight: \n", - "
\n", - " CPU usage: 0.0%\n", - " \n", - " Last seen: Just now\n", - "
\n", - " Memory usage: 62.77 MiB\n", - " \n", - " Spilled bytes: 0 B\n", - "
\n", - " Read bytes: 245.89 kiB\n", - " \n", - " Write bytes: 245.89 kiB\n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "\n", - "
\n", - "
\n", - "\n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "\n", - "
\n", - "
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" } ], "source": [ "from toolviper.dask.client import local_client\n", "\n", - "client = local_client(cores=4, memory_limit=\"4GB\")\n", - "client" + "parallel = True\n", + "\n", + "if parallel:\n", + " client = local_client(cores=4, memory_limit=\"4GB\")\n", + " print(client)\n", + "else:\n", + " client = None" ] }, { @@ -747,14 +264,8 @@ "id": "1be3727584b82d6d", "metadata": { "ExecuteTime": { - "end_time": "2026-01-05T22:41:20.456431687Z", - "start_time": "2026-01-05T22:41:10.030149249Z" - }, - "execution": { - "iopub.execute_input": "2026-01-06T18:51:08.811912Z", - "iopub.status.busy": "2026-01-06T18:51:08.811700Z", - "iopub.status.idle": "2026-01-06T18:51:25.268924Z", - "shell.execute_reply": "2026-01-06T18:51:25.268084Z" + "end_time": "2026-02-10T16:51:25.630423400Z", + "start_time": "2026-02-10T16:51:11.267936492Z" } }, "outputs": [ @@ -762,47 +273,22 @@ "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:08,813\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Module path: \u001b[38;2;50;50;205m/home/victor/work/Holography-1022/astrohack/src/astrohack\u001b[0m \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:14,999\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Finished processing \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:15,055\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Processing ddi: 0, scans: [8 ... 13] \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:15,056\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Processing ddi: 1, scans: [8 ... 13] \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:23,726\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_2: \u001b[0m EA17: DDI 0: Suggested cell size 1.64 amin, FOV: (19.73 amin, 19.76 amin) \n", - "[\u001b[38;2;128;05;128m2026-01-06 11:51:23,727\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_2: \u001b[0m EA15: DDI 0: Suggested cell size 1.64 amin, FOV: (19.72 amin, 19.76 amin) \n", - "[\u001b[38;2;128;05;128m2026-01-06 11:51:23,864\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_3: \u001b[0m EA17: DDI 1: Suggested cell size 1.63 amin, FOV: (19.73 amin, 19.76 amin) \n", - "[\u001b[38;2;128;05;128m2026-01-06 11:51:23,865\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_3: \u001b[0m EA15: DDI 1: Suggested cell size 1.63 amin, FOV: (19.72 amin, 19.76 amin) \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:25,056\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_2: \u001b[0m Finished extracting holography chunk for ddi: 0 holog_map_key: map_0 \n", - "[\u001b[38;2;128;05;128m2026-01-06 11:51:25,208\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_3: \u001b[0m Finished extracting holography chunk for ddi: 1 holog_map_key: map_0 \n", - "[\u001b[38;2;128;05;128m2026-01-06 11:51:25,214\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Finished processing \n" + "[\u001b[38;2;128;05;128m2026-02-25 17:12:34,395\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Module path: \u001b[38;2;50;50;205m/export/home/arya/work/Holography-1022/astrohack/src/astrohack\u001b[0m \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:34,397\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Creating output file name: data/kband_beamcut_small.point.zarr \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:34,398\u001b[0m] \u001b[38;2;255;160;0m WARNING\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m data/kband_beamcut_small.point.zarr will be overwritten. \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:35,423\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Consolidating data/kband_beamcut_small.point.zarr... \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:35,528\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Module path: \u001b[38;2;50;50;205m/export/home/arya/work/Holography-1022/astrohack/src/astrohack\u001b[0m \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:35,532\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Creating output file name: data/kband_beamcut_small.holog.zarr \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:35,553\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Pre-processing ddi: 0, scans: [8 ... 13] \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:35,554\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Pre-processing ddi: 1, scans: [8 ... 13] \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:35,555\u001b[0m] \u001b[38;2;255;160;0m WARNING\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m data/kband_beamcut_small.holog.zarr will be overwritten. \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:37,002\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m EA15: DDI 0: Suggested cell size 1.64 amin, FOV: (19.72 amin, 19.76 amin) \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:37,003\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m EA17: DDI 0: Suggested cell size 1.64 amin, FOV: (19.73 amin, 19.76 amin) \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:37,784\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Finished extracting holography chunk for DDI 0, map_0. \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:38,108\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m EA15: DDI 1: Suggested cell size 1.63 amin, FOV: (19.72 amin, 19.76 amin) \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:38,109\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m EA17: DDI 1: Suggested cell size 1.63 amin, FOV: (19.73 amin, 19.76 amin) \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:38,165\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Finished extracting holography chunk for DDI 1, map_0. \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:38,166\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Consolidating data/kband_beamcut_small.holog.zarr... \n" ] } ], @@ -813,7 +299,12 @@ "holog_name = f\"data/{basename}.holog.zarr\"\n", "\n", "# Extract pointing data to an astrohack file format\n", - "point_mds = extract_pointing(ms_name, point_name, overwrite=True, parallel=True)\n", + "point_mds = extract_pointing(\n", + " ms_name,\n", + " point_name,\n", + " overwrite=True,\n", + " parallel=parallel\n", + ")\n", "\n", "# Extract visibilities to an astrohack file format\n", "holog_mds = extract_holog(\n", @@ -822,7 +313,7 @@ " holog_name,\n", " data_column=\"DATA\", # This applies to this dataset only as it has been split\n", " overwrite=True,\n", - " parallel=True,\n", + " parallel=parallel,\n", ")" ] }, @@ -851,14 +342,8 @@ "id": "74f116c53c0cd37c", "metadata": { "ExecuteTime": { - "end_time": "2026-01-05T22:41:22.659888933Z", - "start_time": "2026-01-05T22:41:20.458099950Z" - }, - "execution": { - "iopub.execute_input": "2026-01-06T18:51:25.270822Z", - "iopub.status.busy": "2026-01-06T18:51:25.270624Z", - "iopub.status.idle": "2026-01-06T18:51:26.395123Z", - "shell.execute_reply": "2026-01-06T18:51:26.394599Z" + "end_time": "2026-02-10T16:51:28.823857870Z", + "start_time": "2026-02-10T16:51:25.632170305Z" } }, "outputs": [ @@ -866,24 +351,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:25,271\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Module path: \u001b[38;2;50;50;205m/home/victor/work/Holography-1022/astrohack/src/astrohack\u001b[0m \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:25,318\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_3: \u001b[0m processing EA15: DDI 1 \n", - "[\u001b[38;2;128;05;128m2026-01-06 11:51:25,321\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_2: \u001b[0m processing EA15: DDI 0 \n", - "[\u001b[38;2;128;05;128m2026-01-06 11:51:25,324\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_1: \u001b[0m processing EA17: DDI 0 \n", - "[\u001b[38;2;128;05;128m2026-01-06 11:51:25,325\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_0: \u001b[0m processing EA17: DDI 1 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:26,178\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Finished processing \n" + "[\u001b[38;2;128;05;128m2026-02-25 17:12:38,220\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Module path: \u001b[38;2;50;50;205m/export/home/arya/work/Holography-1022/astrohack/src/astrohack\u001b[0m \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:38,224\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Creating output file name: data/kband_beamcut_small.beamcut.zarr \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:38,224\u001b[0m] \u001b[38;2;255;160;0m WARNING\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m data/kband_beamcut_small.beamcut.zarr will be overwritten. \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:39,849\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_0: \u001b[0m processing EA15: DDI 1 \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:40,283\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_3: \u001b[0m processing EA17: DDI 1 \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:40,284\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_1: \u001b[0m processing EA17: DDI 0 \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:40,303\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m worker_2: \u001b[0m processing EA15: DDI 0 \n", + "[\u001b[38;2;128;05;128m2026-02-25 17:12:40,803\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Consolidating data/kband_beamcut_small.beamcut.zarr... \n" ] } ], @@ -897,7 +372,7 @@ " beamcut_name,\n", " destination=None, # This parameter is to be filled with a destination directory for beamcut products.\n", " overwrite=True,\n", - " parallel=True,\n", + " parallel=parallel,\n", ")" ] }, @@ -918,14 +393,8 @@ "id": "7ecba47fb5023883", "metadata": { "ExecuteTime": { - "end_time": "2026-01-05T22:41:22.958517890Z", - "start_time": "2026-01-05T22:41:22.660835938Z" - }, - "execution": { - "iopub.execute_input": "2026-01-06T18:51:26.397117Z", - "iopub.status.busy": "2026-01-06T18:51:26.396885Z", - "iopub.status.idle": "2026-01-06T18:51:26.478944Z", - "shell.execute_reply": "2026-01-06T18:51:26.478396Z" + "end_time": "2026-02-10T16:51:28.997096761Z", + "start_time": "2026-02-10T16:51:28.843662732Z" } }, "outputs": [ @@ -933,13 +402,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "####################################################################################################\n", - "### Summary for: ###\n", - "### data/kband_beamcut_small.beamcut.zarr ###\n", - "####################################################################################################\n", + "################################################################################\n", + "### Summary for: ###\n", + "### data/kband_beamcut_small.beamcut.zarr ###\n", + "################################################################################\n", "\n", - "Full documentation for AstrohackBeamcutFile objects' API at: \n", - "https://astrohack.readthedocs.io/en/stable/_api/autoapi/astrohack/mds/index.html#astrohack.mds.AstrohackBeamcutFile\n", + "Data origin:\n", + "creation_time: 2026-02-25 17:12:38 MST\n", + "creator_function: beamcut\n", + "origin: astrohack\n", + "version: 0.10.1\n", "\n", "Input Parameters:\n", "+--------------+---------------------------------------+\n", @@ -954,14 +426,40 @@ "| dpi | 300 |\n", "| holog_name | data/kband_beamcut_small.holog.zarr |\n", "| lm_unit | amin |\n", - "| origin | beamcut |\n", "| overwrite | True |\n", "| parallel | True |\n", - "| version | 0.10.1 |\n", "| y_scale | None |\n", "+--------------+---------------------------------------+\n", "\n", - "Contents:\n", + "Available methods:\n", + "+------------------------------+-----------------------------------------------+\n", + "| Methods | Description |\n", + "+------------------------------+-----------------------------------------------+\n", + "| create_beam_fit_report | Create reports on the parameters of the |\n", + "| | gaussians fitted to the beamcut. |\n", + "| create_from_input_parameters | Create an AstrohackBaseFile object from a |\n", + "| | filename and initializes xdtree root |\n", + "| | attributes. |\n", + "| is_close_to | Tests if self and other_mds are close to each |\n", + "| | other. |\n", + "| items | Get children items |\n", + "| keys | Get children keys |\n", + "| observation_summary | Create a Summary of observation information |\n", + "| open | Open Base file. |\n", + "| plot_beam_cuts_over_sky | Plot beamcuts contained in the beamcut_mds |\n", + "| | over the sky |\n", + "| plot_beamcut_in_amplitude | Plot beamcuts contained in the beamcut_mds in |\n", + "| | amplitude |\n", + "| plot_beamcut_in_attenuation | Plot beamcuts contained in the beamcut_mds in |\n", + "| | attenuation |\n", + "| summary | Prints summary of this Astrohack File object, |\n", + "| | with available data, attributes and methods |\n", + "| values | Get children values |\n", + "| write | Write mds to disk by saving the data tree to |\n", + "| | a file |\n", + "+------------------------------+-----------------------------------------------+\n", + "\n", + "Data Contents:\n", "+----------+-------+--------------------+\n", "| Antenna | DDI | Cut |\n", "+----------+-------+--------------------+\n", @@ -969,24 +467,7 @@ "| ant_ea15 | ddi_1 | ['cut_0', 'cut_1'] |\n", "| ant_ea17 | ddi_0 | ['cut_0', 'cut_1'] |\n", "| ant_ea17 | ddi_1 | ['cut_0', 'cut_1'] |\n", - "+----------+-------+--------------------+\n", - "\n", - "Available methods:\n", - "+-----------------------------+-------------------------------------------------------------------+\n", - "| Methods | Description |\n", - "+-----------------------------+-------------------------------------------------------------------+\n", - "| create_beam_fit_report | Create reports on the parameters of the gaussians fitted to the |\n", - "| | beamcut. |\n", - "| keys | Get children keys |\n", - "| observation_summary | Create a Summary of observation information |\n", - "| open | Open beamcut file. |\n", - "| plot_beam_cuts_over_sky | Plot beamcuts contained in the beamcut_mds over the sky |\n", - "| plot_beamcut_in_amplitude | Plot beamcuts contained in the beamcut_mds in amplitude |\n", - "| plot_beamcut_in_attenuation | Plot beamcuts contained in the beamcut_mds in attenuation |\n", - "| summary | Prints summary of the AstrohackBeamcutFile object, with available |\n", - "| | data, attributes and available methods |\n", - "+-----------------------------+-------------------------------------------------------------------+\n", - "\n" + "+----------+-------+--------------------+\n" ] } ], @@ -1014,14 +495,8 @@ "id": "d05b1a44071385d3", "metadata": { "ExecuteTime": { - "end_time": "2026-01-05T22:41:23.173735090Z", - "start_time": "2026-01-05T22:41:22.961157350Z" - }, - "execution": { - "iopub.execute_input": "2026-01-06T18:51:26.481274Z", - "iopub.status.busy": "2026-01-06T18:51:26.481019Z", - "iopub.status.idle": "2026-01-06T18:51:26.669930Z", - "shell.execute_reply": "2026-01-06T18:51:26.668903Z" + "end_time": "2026-02-10T16:51:29.245573137Z", + "start_time": "2026-02-10T16:51:28.998319306Z" } }, "outputs": [ @@ -1029,13 +504,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "[\u001b[38;2;128;05;128m2026-01-06 11:51:26,481\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Module path: \u001b[38;2;50;50;205m/home/victor/work/Holography-1022/astrohack/src/astrohack\u001b[0m \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "[\u001b[38;2;128;05;128m2026-02-25 17:12:40,946\u001b[0m] \u001b[38;2;50;50;205m INFO\u001b[0m\u001b[38;2;112;128;144m astrohack: \u001b[0m Module path: \u001b[38;2;50;50;205m/export/home/arya/work/Holography-1022/astrohack/src/astrohack\u001b[0m \n", "############################################################\n", "### ant_ea15, ddi_0 ###\n", "############################################################\n", @@ -1053,9 +522,9 @@ " Duration => 9 min, 46.05 sec\n", "\n", " Spectral:\n", - " Channel width => 2.000 MHz\n", + " Channel width => 128.000 MHz\n", " Frequency range => 21.315 GHz to 21.443 GHz\n", - " Number of channels => 64\n", + " Number of channels => 1\n", " Rep. frequency => 21.380 GHz\n", " Rep. wavelength => 1.402 cm\n", "\n", @@ -1088,9 +557,9 @@ " Duration => 9 min, 46.05 sec\n", "\n", " Spectral:\n", - " Channel width => 2.000 MHz\n", + " Channel width => 128.000 MHz\n", " Frequency range => 21.443 GHz to 21.571 GHz\n", - " Number of channels => 64\n", + " Number of channels => 1\n", " Rep. frequency => 21.508 GHz\n", " Rep. wavelength => 1.394 cm\n", "\n", @@ -1123,9 +592,9 @@ " Duration => 9 min, 46.05 sec\n", "\n", " Spectral:\n", - " Channel width => 2.000 MHz\n", + " Channel width => 128.000 MHz\n", " Frequency range => 21.315 GHz to 21.443 GHz\n", - " Number of channels => 64\n", + " Number of channels => 1\n", " Rep. frequency => 21.380 GHz\n", " Rep. wavelength => 1.402 cm\n", "\n", @@ -1158,9 +627,9 @@ " Duration => 9 min, 46.05 sec\n", "\n", " Spectral:\n", - " Channel width => 2.000 MHz\n", + " Channel width => 128.000 MHz\n", " Frequency range => 21.443 GHz to 21.571 GHz\n", - " Number of channels => 64\n", + " Number of channels => 1\n", " Rep. frequency => 21.508 GHz\n", " Rep. wavelength => 1.394 cm\n", "\n", @@ -1200,14 +669,8 @@ "id": "51d76e1fc74d6487", "metadata": { "ExecuteTime": { - "end_time": "2026-01-05T22:41:23.252379932Z", - "start_time": "2026-01-05T22:41:23.175031408Z" - }, - "execution": { - "iopub.execute_input": "2026-01-06T18:51:26.673904Z", - "iopub.status.busy": "2026-01-06T18:51:26.673006Z", - "iopub.status.idle": "2026-01-06T18:51:26.690073Z", - "shell.execute_reply": "2026-01-06T18:51:26.689292Z" + "end_time": "2026-02-10T16:51:29.352061352Z", + "start_time": "2026-02-10T16:51:29.265478361Z" } }, "outputs": [ @@ -1229,39 +692,87 @@ "\n", "\n", "\n", - "
<xarray.DatasetView> Size: 47kB\n",
-       "Dimensions:       (lm_dist: 487, time: 487, lm: 2)\n",
-       "Coordinates:\n",
-       "  * lm_dist       (lm_dist) float64 4kB -0.002873 -0.002863 ... 0.002871\n",
-       "  * time          (time) float64 4kB 5.271e+09 5.271e+09 ... 5.271e+09 5.271e+09\n",
-       "Dimensions without coordinates: lm\n",
-       "Data variables:\n",
-       "    LL_amp_fit    (lm_dist) float64 4kB dask.array<chunksize=(487,), meta=np.ndarray>\n",
-       "    LL_amplitude  (lm_dist) float64 4kB dask.array<chunksize=(487,), meta=np.ndarray>\n",
-       "    LL_phase      (lm_dist) float64 4kB dask.array<chunksize=(487,), meta=np.ndarray>\n",
-       "    LL_weight     (lm_dist) float64 4kB dask.array<chunksize=(487,), meta=np.ndarray>\n",
-       "    RR_amp_fit    (lm_dist) float64 4kB dask.array<chunksize=(487,), meta=np.ndarray>\n",
-       "    RR_amplitude  (lm_dist) float64 4kB dask.array<chunksize=(487,), meta=np.ndarray>\n",
-       "    RR_phase      (lm_dist) float64 4kB dask.array<chunksize=(487,), meta=np.ndarray>\n",
-       "    RR_weight     (lm_dist) float64 4kB dask.array<chunksize=(487,), meta=np.ndarray>\n",
-       "    lm_offsets    (time, lm) float64 8kB dask.array<chunksize=(487, 2), meta=np.ndarray>\n",
-       "Attributes: (12/19)\n",
-       "    LL_amp_fit_pars:           [-0.0020771884160875193, 0.16536998917609916, ...\n",
-       "    LL_first_side_lobe_ratio:  0.9506975352892273\n",
-       "    LL_fit_succeeded:          True\n",
-       "    LL_n_peaks:                5\n",
-       "    LL_pb_center:              2.006687997700633e-05\n",
-       "    LL_pb_fwhm:                0.0007089940968822954\n",
-       "    ...                        ...\n",
-       "    available_corrs:           ['RR', 'LL']\n",
-       "    direction:                 El. cut (S -> N)\n",
-       "    lm_angle:                  8.043802534404685e-06\n",
-       "    scan_number:               8\n",
-       "    time_string:               2025-11-25 23:16\n",
-       "    xlabel:                    Elevation offset