Open keflavich opened 3 years ago
I suggest we should make a special-case radio_beam.DeltaBeam()
in radio_beam to make the Beam(0)
make more sense to users.
For the single beam case:
mod_wbeam = mod.with_beam(delta)
should work, I think
We have with_beams
in: https://github.com/radio-astro-tools/spectral-cube/blob/c3a9eceb5ace5cab774fe4fce58a4a40c2b1b024/spectral_cube/base_class.py#L467
But we don't have a SC -> VSRC method.
Agreed on a DeltaBeam
to avoid confusion.
right, it should - but, we should also probably initialize CASA models with Delta beams if we can find a way to uniquely identify them
agreed. Is there something in the header to identify a clean model?
the header unit is Jy pix-1
- can that reliably be treated as a Delta beam? I think yes?
I thought about this more, and I don't think there is so much reason to add this functionality. For what I'm doing, it would be better just to find a commonbeam and smooth to that anyway.
Nonetheless, the ability should be there. That would enable things like per-plane-beam-merging with uvcombine, which we (and CASA) don't support right now. @urvashirau mentioned needing this coincidentally (?) today.
https://github.com/ALMA-IMF/reduction/commit/9d3846ff08e80a8c1fe1771d4ff87c3c628ead78#diff-91c493e486904d56f624b0744a0257ec2603050401cdb71aaa9d535316ecc8adR118 shows a key use case we should make sure is well-supported
It is sometimes necessary to convolve model cubes to a target resolution, but they don't have beams so convolution fails:
This can be worked around with some hackery that should be formalized:
However, what if we want to convolve each plane to a different resolution? There's not even a workaround for that right now:
I dug a bit deeper and there are no obvious, easy ways to achieve this by writing special functions to pass to
apply_function_parallel_spatial
. I think we need to special-case this.