Skip to content

Commit

Permalink
Make compute_scale robust to case where fiducial coordinates are ousi…
Browse files Browse the repository at this point in the history
…de of bounding box
  • Loading branch information
astrofrog committed May 22, 2024
1 parent b89784c commit ce15aeb
Showing 1 changed file with 8 additions and 1 deletion.
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 @@ def compute_scale(wcs, fiducial, disp_axis, pscale_ratio=1):
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):
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

0 comments on commit ce15aeb

Please sign in to comment.