Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WSClean: support full image cubes #624

Open
6 tasks
mpluess opened this issue Oct 9, 2024 · 0 comments
Open
6 tasks

WSClean: support full image cubes #624

mpluess opened this issue Oct 9, 2024 · 0 comments
Labels
prio-med Medium priority

Comments

@mpluess
Copy link
Member

mpluess commented Oct 9, 2024

We don't currently support creating full image cubes in either WscleanDirtyImager (combine_across_frequencies=False) or WscleanImageCleaner, even though this is a quite commonly used feature (already came up as a requirement from Devin / ETH and in SRCNet). We should therefore implement this. The relevant WSClean parameter is this one:
-channels-out <count> Splits the bandwidth and makes count nr. of images. Default: 1.

While in principle, users can use this parameter through karabo.imaging.imager_wsclean.create_image_custom_command, the function currently fails when using the parameter because this changes the naming of the output files, see https://wsclean.readthedocs.io/en/latest/making_image_cubes.html.

Another blocker that needs to be addressed to solve this issue is that currently, imagers return Image objects which load the full image data into memory. This quickly leads to OOM problems with full image cubes. For example, the full image cube of the PI24 SRCNet Karabo run with 2717 channels and an image size of 20000x20000 would be around 4 TB.

  • Find a smart solution to deal with image cubes that don't fit into memory. Maybe make type of output configurable with a reasonable default: return full cube, return MFS image (weighted sum over channels), return specific channel, return nothing. Or find a way to stream image into memory on demand when trying to access it downstream.
  • Properly support -channels-out in create_image_custom_command. Current problems: output_filenames parameter, return type / value.
  • Support -channels-out in WscleanDirtyImager, possibly change combine_across_frequencies config parameter, change output_fits_path parameter. Specifics depend on task 1.
  • Support -channels-out in WscleanImageCleaner as well: change dirty_fits_path and output_fits_path parameters, support generating full image cube for both scenarios: when creating a cleaned image from visibilities and from an existing dirty image cube.
  • output_fits_path @ WscleanDirtyImager + WscleanImageCleaner: if set: move file(s), don't copy
  • Apply changes in imaging interface to other imager implementations, i.e. OSKAR + RASCIL
@mpluess mpluess added the prio-med Medium priority label Oct 9, 2024
@mpluess mpluess assigned mpluess and unassigned mpluess Oct 22, 2024
@mpluess mpluess changed the title WscleanDirtyImager: support combine_across_frequencies=False WSClean: support full image cubes Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
prio-med Medium priority
Projects
None yet
Development

No branches or pull requests

1 participant