Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
7017a39
update stimela in pyproject.toml
landmanbester Jan 9, 2025
62e9233
add 3.12 to classifiers in pyproject.toml
landmanbester Jan 9, 2025
51326c2
add jax version of psf convolve
landmanbester Jan 9, 2025
cccda91
modify kclean to work with undersized psf
landmanbester Jan 10, 2025
4950884
fix wsum normalisation in subminor. avoid circular import. lower kcle…
landmanbester Jan 13, 2025
cc110e8
clean up external masking logic in kclean
landmanbester Jan 13, 2025
6206d5d
report which threading layer was in use for numba after sara
landmanbester Jan 21, 2025
f5341bf
add multi-stokes predict
landmanbester Feb 7, 2025
f82c8c8
don't double normalise wgt per band in L2-reweight steps
landmanbester Mar 5, 2025
92119cf
Add joint correlation gridding (#131)
landmanbester Apr 16, 2025
abe64c8
transpose stokes axis in hci worker
landmanbester May 20, 2025
9a471e3
convert beam params to degrees and add during header construction
landmanbester May 22, 2025
7e70b98
add psf-relative-size to hci. only make it big enough to fit the main…
landmanbester May 23, 2025
020ba93
cast PA to degrees in fits header
landmanbester May 26, 2025
0764495
also for MFS beam pars
landmanbester May 26, 2025
d5aa554
redefine pa as 90-pa for consistency with fits conventions
landmanbester May 26, 2025
5255c35
filter extreme counts in hci worker
landmanbester Jun 1, 2025
8aff5a8
mimic no-use-weights-as-taper
landmanbester Jun 3, 2025
54a013e
allow single precision weighting
landmanbester Jun 9, 2025
5566e10
noop when filter-counts-level is None
landmanbester Jun 9, 2025
7a13398
only grid half the uv-plane inside weighting functions
landmanbester Jun 17, 2025
5a0c1eb
change uv bins in weighting code, use floor instead of round
landmanbester Jun 17, 2025
16c7edc
check bounds in both compute_counts and counts_to_weights
landmanbester Jun 17, 2025
497bb09
keep uvw and freq in double precision
landmanbester Jun 17, 2025
e5ddb64
add better tests for weighting code. don't use fatmath when computing…
landmanbester Jun 19, 2025
43be0e5
add option to write out weight grid in hci worker
landmanbester Jun 23, 2025
bc8d60b
add arbitrary stokes outputs
landmanbester Jun 23, 2025
1692186
make zarr output of hci worker compatible with what is expected in br…
landmanbester Jun 24, 2025
9fdf9c8
add NAXIS keywords to fits headers. update product checks in init
landmanbester Jun 25, 2025
273ec6e
fix indentation in hci
landmanbester Jun 25, 2025
b9aecfd
use log.info instead of file=log
landmanbester Jun 25, 2025
cdc2a4a
fix failing tests
landmanbester Jun 25, 2025
22013b5
reverse sign of X in hci output
landmanbester Jun 26, 2025
864f9a9
do not use fastmath in wavelets
landmanbester Jun 26, 2025
f91301a
init_factor -> init-factor
landmanbester Jun 26, 2025
8f6d8f0
log.info -> print in utils
landmanbester Jun 26, 2025
37e1671
normalise by wsum when writing zarr in hci. remove manual encoding
landmanbester Jun 27, 2025
36d8bdd
base divergence check on whether both rmax and rms increase, not just…
landmanbester Jun 27, 2025
7fda578
add header ordering in hci comment. fix weighting when k>0
landmanbester Jun 27, 2025
c8eb96f
enforce proper ordering of header parameters when converting WCS to a…
landmanbester Jul 1, 2025
9fc8000
convert pa to degrees in stokes2im
landmanbester Jul 2, 2025
246540b
update pyscilog
landmanbester Jul 3, 2025
6ec2193
pyscilog master -> main
landmanbester Jul 3, 2025
cce9254
resort to nearest neighbour gridding to compute the weights if all el…
landmanbester Jul 3, 2025
4866013
divorce pyscilog. start adding rephasing to hci worker
landmanbester Jul 11, 2025
4c77605
add logging.py
landmanbester Jul 11, 2025
b895aa7
update actions and set up dependabot
landmanbester Jul 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
version: 2
updates:
# Monitor GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
open-pull-requests-limit: 10
reviewers:
- "@bester"
assignees:
- "@bester"
commit-message:
prefix: "ci"
include: "scope"

# Monitor Python dependencies
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
open-pull-requests-limit: 10
reviewers:
- "@bester"
assignees:
- "@bester"
commit-message:
prefix: "deps"
include: "scope"
24 changes: 12 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
pull_request:

env:
POETRY_VERSION: 1.5
POETRY_VERSION: 1.8.4

jobs:
should-run:
Expand Down Expand Up @@ -82,24 +82,24 @@ jobs:
python-version: ["3.10", "3.11", "3.12"]

steps:
- name: Checkout source
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version}}

- name: Install poetry
uses: abatilo/actions-poetry@v2
uses: abatilo/actions-poetry@v3
with:
poetry-version: ${{ env.POETRY_VERSION }}

- name: Check poetry install
run: poetry --version

- name: Checkout source
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Restore repo times
uses: chetan/git-restore-mtime-action@v2

Expand All @@ -113,7 +113,7 @@ jobs:
echo "timestamp=$(/bin/date -u '+%Y%m%d%H%M%S')" >> $GITHUB_OUTPUT

- name: Cache Numba Kernels
uses: actions/cache@v3
uses: actions/cache@v4
with:
key: numba-cache-${{ matrix.python-version }}-${{ steps.numba-key.outputs.timestamp }}
restore-keys: numba-cache-${{ matrix.python-version }}-
Expand All @@ -124,7 +124,7 @@ jobs:

- name: Load cached CASA Measures Data
id: load-cached-casa-measures
uses: actions/cache@v3
uses: actions/cache@v4
with:
key: casa-measures-${{ hashFiles('measures_dir.txt')}}
path: |
Expand Down Expand Up @@ -163,7 +163,7 @@ jobs:
python-version: "3.10"

- name: Install poetry
uses: abatilo/actions-poetry@v2
uses: abatilo/actions-poetry@v3
with:
poetry-version: ${{ env.POETRY_VERSION }}

Expand All @@ -177,7 +177,7 @@ jobs:
run: poetry build

- name: Publish distribution to PyPI
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
uses: pypa/gh-action-pypi-publish@v1.12.2
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
Expand Down
1 change: 0 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,4 @@ RUN apt -y update && \

RUN python -m pip install -U pip setuptools wheel && \
python -m pip install -U pfb-imaging@git+https://github.com/ratt-ru/pfb-imaging@main && \
python -m pip install numpy==1.22 && \
python -m pip cache purge
6 changes: 2 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ Install the package by cloning and running

:code:`$ pip install -e pfb-imaging/`

Note casacore needs to be installed on the system for this to work.

You will probably may also need to update pip eg.

:code:`$ pip install -U pip setuptools wheel`
Expand Down Expand Up @@ -94,6 +92,6 @@ Documentation for each worker is listed under
Acknowledgement
~~~~~~~~~~~~~~~~~

If you find any of this useful please cite (for now)
If you find any of this useful please cite

https://arxiv.org/abs/2101.08072
https://arxiv.org/abs/2412.10073
11 changes: 7 additions & 4 deletions pfb/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ def set_envs(nthreads, ncpu):
os.environ["VECLIB_MAXIMUM_THREADS"] = str(nthreads)
os.environ["NPY_NUM_THREADS"] = str(nthreads)
os.environ["NUMBA_NUM_THREADS"] = str(nthreads)
os.environ["JAX_PLATFORMS"] = 'cpu'
# os.environ["JAX_PLATFORMS"] = 'cpu'
# os.environ["XLA_FLAGS"] = ("--xla_cpu_multi_thread_eigen=true "
# "--xla_force_host_platform_device_count=4 "
# f"intra_op_parallelism_threads={str(nthreads)}")
os.environ["JAX_ENABLE_X64"] = 'True'
# this may be required for numba parallelism
# find python and set LD_LIBRARY_PATH
Expand Down Expand Up @@ -52,14 +55,14 @@ def set_client(nworkers, log, stack=None, host_address=None,
host_address = host_address or os.environ.get("DASK_SCHEDULER_ADDRESS")
if host_address is not None:
from distributed import Client
print("Initialising distributed client.", file=log)
log.info("Initialising distributed client.")
if stack is not None:
client = stack.enter_context(Client(host_address))
else:
client = Client(host_address)
else:
from dask.distributed import Client, LocalCluster
print("Initialising client with LocalCluster.", file=log)
log.info("Initialising client with LocalCluster.")
dask.config.set({
'distributed.comm.compression': {
'on': True,
Expand All @@ -80,7 +83,7 @@ def set_client(nworkers, log, stack=None, host_address=None,

client.wait_for_workers(nworkers)
dashboard_url = client.dashboard_link
print(f"Dask Dashboard URL at {dashboard_url}", file=log)
log.info(f"Dask Dashboard URL at {dashboard_url}")

return client

Expand Down
Loading