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

Fix compute_scale when fiducial coordinates are outside bounding box #2887

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion jdaviz/configs/imviz/wcs_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import base64
import math
from io import BytesIO
import warnings

import matplotlib.pyplot as plt
import numpy as np
Expand Down Expand Up @@ -575,7 +576,13 @@
if spectral and disp_axis is None: # pragma: no cover
raise ValueError('If input WCS is spectral, a disp_axis must be given')

crpix = np.array(wcs.invert(*fiducial))
if wcs.in_image(*fiducial):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bmorris3 should review this one. And also since he mentioned that he lifted this code from jwst, I wonder if a similar patch has to go to jwst also.

crpix = np.array(wcs.invert(*fiducial))
else:
# At this point we know the bounding box is probably defined, so we can
# use the central coordinate inside the bounding box
warnings.warn("WCS fiducial coordinates not inside bounding box")
crpix = np.mean(wcs.pixel_bounds, axis=1)

Check warning on line 585 in jdaviz/configs/imviz/wcs_utils.py

View check run for this annotation

Codecov / codecov/patch

jdaviz/configs/imviz/wcs_utils.py#L584-L585

Added lines #L584 - L585 were not covered by tests

delta = np.zeros_like(crpix)
spatial_idx = np.where(np.array(wcs.output_frame.axes_type) == 'SPATIAL')[0]
Expand Down
Loading