Skip to content

Commit de37652

Browse files
committed
use sunpy is_visible method
1 parent 06fec44 commit de37652

File tree

2 files changed

+10
-41
lines changed

2 files changed

+10
-41
lines changed

synthesizAR/util/util.py

-24
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import astropy.units as u
77
import numpy as np
88
import sunpy.coordinates
9-
import sunpy.sun.constants as sun_const
109
import warnings
1110

1211
from astropy.coordinates import SkyCoord
@@ -20,7 +19,6 @@
2019
'los_velocity',
2120
'coord_in_fov',
2221
'find_minimum_fov',
23-
'is_visible',
2422
'from_pfsspack',
2523
'from_pfsspy',
2624
'change_obstime',
@@ -98,28 +96,6 @@ def find_minimum_fov(coordinates, padding=None):
9896
return bottom_left_corner, top_right_corner
9997

10098

101-
def is_visible(coords, observer):
102-
"""
103-
Create mask of coordinates not blocked by the solar disk.
104-
105-
Parameters
106-
----------
107-
coords : `~astropy.coordinates.SkyCoord`
108-
Helioprojective oordinates of the object(s) of interest
109-
observer : `~astropy.coordinates.SkyCoord`
110-
Heliographic-Stonyhurst Location of the observer
111-
"""
112-
theta_x = coords.Tx
113-
theta_y = coords.Ty
114-
distance = coords.distance
115-
rsun_obs = ((sun_const.radius / (observer.radius - sun_const.radius)).decompose()
116-
* u.radian).to(u.arcsec)
117-
off_disk = np.sqrt(theta_x**2 + theta_y**2) > rsun_obs
118-
in_front_of_disk = distance - observer.radius < 0.
119-
120-
return np.any(np.stack([off_disk, in_front_of_disk], axis=1), axis=1)
121-
122-
12399
def from_pfsspack(pfss_fieldlines):
124100
"""
125101
Convert fieldline coordinates output from the SSW package `pfss <http://www.lmsal.com/~derosa/pfsspack/>`_

synthesizAR/visualize/fieldlines.py

+10-17
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
"""
22
Visualizaition functions related to 1D fieldlines
33
"""
4-
import numpy as np
5-
import matplotlib.pyplot as plt
6-
from matplotlib.colors import Normalize
74
import astropy.units as u
8-
from astropy.time import Time
5+
import matplotlib.pyplot as plt
6+
import numpy as np
7+
98
from astropy.coordinates import SkyCoord
9+
from astropy.time import Time
1010
from astropy.visualization import ImageNormalize
11-
from sunpy.map import GenericMap, make_fitswcs_header
1211
from sunpy.coordinates import Helioprojective
1312
from sunpy.coordinates.ephemeris import get_earth
13+
from sunpy.map import GenericMap, make_fitswcs_header
1414

15-
from synthesizAR.util import is_visible, find_minimum_fov
15+
from synthesizAR.util import find_minimum_fov
1616

1717
__all__ = ['set_ax_lims', 'plot_fieldlines']
1818

@@ -55,20 +55,13 @@ def plot_fieldlines(*coords,
5555
If True, draw the HGS grid
5656
axes_limits : `tuple`, optional
5757
Tuple of world coordinates (axis1, axis2)
58-
59-
Other Parameters
60-
----------------
61-
plot_kwargs : `dict`
58+
plot_kwargs : `dict`, optional
6259
Additional parameters to pass to `~matplotlib.pyplot.plot` when
6360
drawing field lines.
64-
grid_kwargs : `dict`
61+
grid_kwargs : `dict`, optional
6562
Additional parameters to pass to `~sunpy.map.Map.draw_grid`
66-
imshow_kwargs : `dict`
63+
imshow_kwargs : `dict`, optional
6764
Additional parameters to pass to `~sunpy.map.Map.plot`
68-
69-
See Also
70-
--------
71-
synthesizAR.util.is_visible
7265
"""
7366
plot_kwargs = {'color': 'k', 'lw': 1}
7467
grid_kwargs = {'grid_spacing': 10*u.deg, 'color': 'k', 'alpha': 0.75}
@@ -100,7 +93,7 @@ def plot_fieldlines(*coords,
10093
for coord in coords:
10194
c = coord.transform_to(image_map.coordinate_frame)
10295
if check_visible:
103-
c = c[is_visible(c, image_map.observer_coordinate)]
96+
c = c[c.is_visible()]
10497
transformed_coords.append(c)
10598
if len(c) == 0:
10699
continue # Matplotlib throws exception when no points are visible

0 commit comments

Comments
 (0)