CARTAvis / carta-backend

Source code repository for the backend component of CARTA, a new visualization tool designed for the ALMA, the VLA and the SKA pathfinders.
https://cartavis.github.io/
GNU General Public License v3.0
22 stars 11 forks source link

visualizing rotated cube #632

Closed kswang1029 closed 1 year ago

kswang1029 commented 4 years ago

as one for the NRAO priorities. @jott3077 please help to add descriptions here.

kswang1029 commented 4 years ago

this is quite challenging from scalability point of view.

jott3077 commented 4 years ago

This implies to e.g. show RA and velocity and the animation movie goes along the DEC axis. So pick any two axes for the display and any third axis for the movie. Note that the hidden axis feature #629 is related in that it pins down the non-displayed axes. E.g. Show a RA vs Stokes cube at a given velocity.

paoloserra commented 3 years ago

Jordan and Angus suggested that I comment here on a use case for displaying rotated cubes. So here it is.

In large spectral line surveys most sources are faint, unresolved in X,Y and well resolved in Z. That means that they look roughly like cylinders in 3D, where the base of the cylinder is the spatial PSF.

Since they are faint, these sources don't really stand out in a single Z channel on an X,Y = RA,Dec projection. Their shape (unresolved) and brightness (low) makes them look like noise. These properties do not change as one steps through Z, so these sources are difficult to pick up visually above the noise.

On a rotated cube (X,Z = RA,Freq or Z,Y = Freq,Dec) things change. These sources are no longer unresolved but appear significantly elongated along the Z axis. Even when very faint, they stand out above the noise because of their elongation in Z. The GIF below shows two such sources (from a simulated cube used for several source-finding studies in the past years).

FreqDecMovieCartaLoop

Jordatious commented 3 years ago

Thanks Paolo. For everyone else, this is from kpvslice from the Karma package (which kvis comes from). Paolo is interested in using CARTA for the large (~90 pointing) cube mosaics of the MeerKAT Fornax survey. I imagine kvis would struggle to open such cubes, either at all or at least quickly.

Paolo, the context I forgot to mention to you was that while Karma would load these smaller cubes entirely into memory, this is not possible for large cubes. When converting to HDF5, this functionality is much more possible, but still technically difficult. But this kind of science motivation is helpful as a driver for such a feature!

paoloserra commented 3 years ago

Yes indeed, our higher-resolution mosaics are a bit of a struggle, and they're only going to get bigger!

The GIF above is actually kvis, which can do XY, XZ and ZY projections, stepping through the Z, Y and X axis, respectively.

The other tool you mention, kpvslice, allows one to form an image with axes = [position,velocity], where the "position" coordinate is along an arbitrary axis on the sky. So that'd be a generalisation of what kvis does (GIF above), where the "position" axis is always aligned with either the RA or the Dec axis.

Jordatious commented 3 years ago

Ahh yes, sorry I wasn't thinking, and getting mixed up between the PV slices and the rotated cubes! Certainly the PV slices are planned as an upcoming feature, as we discussed.

Jordatious commented 1 year ago

May we close this now @kswang1029? I think considering doing this in memory on the fly (for smaller cubes or machines with large RAM, or otherwise via a sub-cube below some memory threshold) would be cool, but that would be a separate issue.