Skip to content

What exactly does helioviewer.org assume about WCS? #494

Description

@SalimHachemaoui

We are investigating a SPICE JP2 rendering issue in Helioviewer Web.

The tested SPICE JP2 is a valid 2D raster:

NAXIS  = 2
NAXIS1 = 192
NAXIS2 = 612

However, its WCS metadata is not a simple square-pixel, axis-aligned case:

CUNIT1 = deg
CUNIT2 = deg

CDELT1 = 0.0011111111111111 deg  ~= 4.0 arcsec/pixel
CDELT2 = 0.000305 deg            ~= 1.098 arcsec/pixel

It also contains a non-trivial PC matrix:

PC1_1 = -0.61227620057
PC1_2 = -0.217031764022
PC2_1 = 2.88030582543
PC2_2 = -0.61227620057

This raises a general question: what WCS assumptions does helioviewer.org make in 2D and 3D rendering?

Observed behavior

In Helioviewer Web:

  • SPICE can appear mis-scaled or vertically stretched in 2D.
  • In 3D, SPICE does not appear correctly overlaid on EUI.
  • The behavior differs from JHelioviewer, where SPICE appears to be rendered more consistently.

Main questions

  1. Does Helioviewer Web assume CDELT1 == CDELT2?
  2. Does Helioviewer Web assume that the image X axis, associated with CDELT1, is parallel to solar_x?
  3. Is CROTA2 used in 2D or 3D rendering?
  4. Is the PC matrix used in 2D or 3D rendering?
  5. Are CTYPE1/CTYPE2 projections, such as HPLN-TAN/HPLT-TAN, supported in Web rendering?
  6. Do 2D and 3D use the same WCS assumptions?
  7. Is general WCS support expected in helioviewer.org, or only simplified image positioning?

2D / 3D context

From code inspection, the 2D Web path appears to use the tiled rendering pipeline:

getClosestImage -> getTile -> PNG tiles positioned in CSS

The 3D Web path appears to use a separate pipeline:

resources/js/3d -> @helioviewer/sun -> getClosestImage/getJP2Header/downloadImage -> Three.js texture
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions