Skip to content

Comments

Merge in jaycedowell:bifrost/wideband-imager, take 2#255

Draft
jaycedowell wants to merge 57 commits intolwa-project:masterfrom
jaycedowell:wideband-imager
Draft

Merge in jaycedowell:bifrost/wideband-imager, take 2#255
jaycedowell wants to merge 57 commits intolwa-project:masterfrom
jaycedowell:wideband-imager

Conversation

@jaycedowell
Copy link
Member

This PR add the bifrost.orville.Orville gridder/imager to the main Bifrost repo.

@jaycedowell
Copy link
Member Author

jaycedowell commented Jan 8, 2025

There are two things that I haven't resolved with this commit.

The first one is that I haven't figure out is how bifrost.orville and bifrost.romein fit together. Orville is effectively a sub-set of Romein with a few key changes:

  • kernels - Romein expects 4 or 5-D kernels (baselines/pols/size/size) vs the symmetric 1-D kernels used by Orville
  • gridding coordinates - Romein expects integers, Orville floats
  • weights - Orville has an additional "weights" input
  • gridding planes - Romein grids everything onto a single grid, while Orville can use multiple grids for w-projection

There might be other differences but I think those are the key ones.

The second is whether or not any of the additional computational steps in bifrost.orville.Orville.execute() can be moved into orville.cu. Current the .cu file does the gridding and then the Python module handles the summation across gridding planes, image weighthing, the inverse Fourier transform, and the image plane correction for the gridding kernel. Those all end up being calls back into the Bifrost library so moving things into the .cu would save on Python ➡️ C++/CUDA ➡️ Python transitions. I had attempted to do this in an early version but I ended up with problems with bfFft. Maybe that should be revisited.

@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 5.55556% with 170 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (master@6e6b9ae). Learn more about missing BASE report.

Files with missing lines Patch % Lines
python/bifrost/orville.py 0.00% 168 Missing ⚠️
python/bifrost/packet_capture.py 33.33% 2 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##             master     #255   +/-   ##
=========================================
  Coverage          ?   65.26%           
=========================================
  Files             ?       68           
  Lines             ?     6172           
  Branches          ?        0           
=========================================
  Hits              ?     4028           
  Misses            ?     2144           
  Partials          ?        0           
Files with missing lines Coverage Δ
python/bifrost/block.py 89.60% <100.00%> (ø)
python/bifrost/memory.py 92.59% <ø> (ø)
python/bifrost/ndarray.py 92.64% <100.00%> (ø)
python/bifrost/packet_capture.py 74.74% <33.33%> (ø)
python/bifrost/orville.py 0.00% <0.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants