Skip to content

Commit a794498

Browse files
authored
Renamed funcitions (#158)
1 parent ecfe5e3 commit a794498

File tree

8 files changed

+48
-38
lines changed

8 files changed

+48
-38
lines changed

.readthedocs.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,26 @@
11
version: 2
2+
23
build:
3-
os: ubuntu-20.04
4+
os: ubuntu-22.04
45
tools:
5-
python: "3.9"
6-
apt_packages:
7-
- graphviz
6+
python: "mambaforge-4.10"
7+
jobs:
8+
post_checkout:
9+
- git fetch --unshallow || true
10+
pre_install:
11+
- git update-index --assume-unchanged .rtd-environment.yml docs/conf.py
12+
13+
conda:
14+
environment: .rtd-environment.yml
815

916
sphinx:
1017
builder: html
1118
configuration: docs/conf.py
1219
fail_on_warning: false
1320

21+
formats:
22+
- htmlzip
23+
1424
python:
1525
install:
1626
- method: pip

.rtd-environment.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
name: rtd_sunkit_image
2+
channels:
3+
- conda-forge
4+
dependencies:
5+
- python=3.10
6+
- pip
7+
- graphviz!=2.42.*,!=2.43.*

CHANGELOG.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@ Backwards Incompatible Changes
1616
- ``find_best_match_location``
1717
- ``calculate_shift`` (`#100 <https://github.com/sunpy/sunkit-image/pull/100>`__)
1818

19+
- The following helper functions in `sunkit_image.radial` have been removed, with no replacement.
20+
This is because they are designed to be internal helper functions.
21+
If you need to use them in your own code create a copy of the functions from the ``sunkit-image`` source code.
22+
23+
- ``fit_polynomial_to_log_radial_intensity``
24+
- ``calculate_fit_radial_intensity``
25+
- ``normalize_fit_radial_intensity``
26+
1927
- Made the following functions in `sunkit_image.trace` private:
2028

2129
1. ``curvature_radius`` (renamed to ``_curvature_radius``)

docs/conf.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
os.environ["LC_ALL"] = "C"
3737
os.environ["HIDE_PARFIVE_PROGESS"] = "True"
3838

39-
4039
project = "sunkit_image"
4140
author = "The SunPy Community"
4241
copyright = f"{datetime.datetime.now().year}, {author}" # NOQA: A001

sunkit_image/coalignment.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
from sunpy.physics.differential_rotation import solar_rotate_coordinate
1616
from sunpy.util.exceptions import SunpyUserWarning
1717

18-
__author__ = "J. Ireland"
19-
2018
__all__ = [
2119
"match_template_to_layer",
2220
"apply_shifts",

sunkit_image/radial.py

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,14 @@
1010
from sunkit_image.utils import bin_edge_summary, equally_spaced_bins, find_pixel_radii, get_radial_intensity_summary
1111

1212
__all__ = [
13-
"fit_polynomial_to_log_radial_intensity",
14-
"calculate_fit_radial_intensity",
15-
"normalize_fit_radial_intensity",
13+
"fnrgf",
1614
"intensity_enhance",
17-
"nrgf",
1815
"set_attenuation_coefficients",
19-
"fnrgf",
16+
"nrgf",
2017
]
2118

2219

23-
def fit_polynomial_to_log_radial_intensity(radii, intensity, degree):
20+
def _fit_polynomial_to_log_radial_intensity(radii, intensity, degree):
2421
"""
2522
Fits a polynomial of a given degree to the log of the radial intensity.
2623
@@ -43,7 +40,7 @@ def fit_polynomial_to_log_radial_intensity(radii, intensity, degree):
4340
return np.polyfit(radii.to(u.R_sun).value, np.log(intensity), degree)
4441

4542

46-
def calculate_fit_radial_intensity(radii, polynomial):
43+
def _calculate_fit_radial_intensity(radii, polynomial):
4744
"""
4845
Calculates the fit value of the radial intensity at the values ``radii``.
4946
@@ -68,7 +65,7 @@ def calculate_fit_radial_intensity(radii, polynomial):
6865
return np.exp(np.poly1d(polynomial)(radii.to(u.R_sun).value))
6966

7067

71-
def normalize_fit_radial_intensity(radii, polynomial, normalization_radius):
68+
def _normalize_fit_radial_intensity(radii, polynomial, normalization_radius):
7269
"""
7370
Normalizes the fitted radial intensity to the value at the normalization
7471
radius.
@@ -93,7 +90,7 @@ def normalize_fit_radial_intensity(radii, polynomial, normalization_radius):
9390
An array with the same shape as radii which expresses the fitted
9491
intensity value normalized to its value at the normalization radius.
9592
"""
96-
return calculate_fit_radial_intensity(radii, polynomial) / calculate_fit_radial_intensity(
93+
return _calculate_fit_radial_intensity(radii, polynomial) / _calculate_fit_radial_intensity(
9794
normalization_radius,
9895
polynomial,
9996
)
@@ -192,14 +189,14 @@ def intensity_enhance(
192189

193190
# Fits a polynomial function to the natural logarithm of an estimate of
194191
# the intensity as a function of radius.
195-
polynomial = fit_polynomial_to_log_radial_intensity(
192+
polynomial = _fit_polynomial_to_log_radial_intensity(
196193
radial_bin_summary[fit_here],
197194
radial_intensity[fit_here],
198195
degree,
199196
)
200197

201198
# Calculate the enhancement
202-
enhancement = 1 / normalize_fit_radial_intensity(map_r, polynomial, normalization_radius)
199+
enhancement = 1 / _normalize_fit_radial_intensity(map_r, polynomial, normalization_radius)
203200
enhancement[map_r < normalization_radius] = 1
204201

205202
# Return a map with the intensity enhanced above the normalization radius
@@ -374,11 +371,8 @@ def fnrgf(
374371
order,
375372
attenuation_coefficients,
376373
ratio_mix=[15, 1],
377-
scale=None,
378374
intensity_summary=np.nanmean,
379-
intensity_summary_kwargs={},
380375
width_function=np.std,
381-
width_function_kwargs={},
382376
application_radius=1 * u.R_sun,
383377
number_angular_segments=130,
384378
):
@@ -417,20 +411,12 @@ def fnrgf(
417411
A one dimensional array of shape ``[2, 1]`` with values equal to ``[K1, K2]``.
418412
The ratio in which the original image and filtered image are mixed.
419413
Defaults to ``[15, 1]``.
420-
scale : `None` or `astropy.units.Quantity`, optional
421-
The radius of the Sun expressed in map units. For example, in typical
422-
helioprojective Cartesian maps the solar radius is expressed in units
423-
of arcseconds. If `None` (the default), then the map scale is used.
424414
intensity_summary :`function`, optional
425415
A function that returns a summary statistic of the radial intensity.
426416
Default is `numpy.nanmean`.
427-
intensity_summary_kwargs : `None`, `~dict`
428-
Keywords applicable to the summary function.
429417
width_function : `function`
430418
A function that returns a summary statistic of the distribution of intensity, at a given radius.
431419
Defaults to `numpy.std`.
432-
width_function_kwargs : `function`
433-
Keywords applicable to the width function.
434420
application_radius : `astropy.units.Quantity`
435421
The FNRGF is applied to emission at radii above the application_radius.
436422
Defaults to 1 solar radii.
@@ -558,17 +544,17 @@ def fnrgf(
558544
phi_matrix = angles[annulus].reshape((1, angles[annulus].shape[0]))
559545
angles_of_pixel = K_matrix * phi_matrix
560546

561-
# Get the approxiamted value of mean
547+
# Get the approximated value of mean
562548
mean_approximated = np.matmul(fourier_coefficients_a_k, np.cos(angles_of_pixel))
563549
mean_approximated += np.matmul(fourier_coefficients_b_k, np.sin(angles_of_pixel))
564550
mean_approximated += fourier_coefficient_a_0 / 2
565551

566-
# Get the approxiamted value of standard deviation
552+
# Get the approximated value of standard deviation
567553
std_approximated = np.matmul(fourier_coefficients_c_k, np.cos(angles_of_pixel))
568554
std_approximated += np.matmul(fourier_coefficients_d_k, np.sin(angles_of_pixel))
569555
std_approximated += fourier_coefficient_c_0 / 2
570556

571-
# Normailize the data
557+
# Normalize the data
572558
# Refer equation (7) in the paper
573559
std_approximated = np.where(std_approximated == 0.00, 1, std_approximated)
574560
data[annulus] = np.ravel((smap.data[annulus] - mean_approximated) / std_approximated)

sunkit_image/tests/test_radial.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -225,27 +225,27 @@ def test_fit_polynomial_to_log_radial_intensity():
225225
degree = 1
226226
expected = np.polyfit(radii.to(u.R_sun).value, np.log(intensity), degree)
227227

228-
assert np.allclose(rad.fit_polynomial_to_log_radial_intensity(radii, intensity, degree), expected)
228+
assert np.allclose(rad._fit_polynomial_to_log_radial_intensity(radii, intensity, degree), expected)
229229

230230

231231
def test_calculate_fit_radial_intensity():
232232
polynomial = np.asarray([1, 2, 3])
233233
radii = (0.001, 0.002) * u.R_sun
234234
expected = np.exp(np.poly1d(polynomial)(radii.to(u.R_sun).value))
235235

236-
assert np.allclose(rad.calculate_fit_radial_intensity(radii, polynomial), expected)
236+
assert np.allclose(rad._calculate_fit_radial_intensity(radii, polynomial), expected)
237237

238238

239239
def test_normalize_fit_radial_intensity():
240240
polynomial = np.asarray([1, 2, 3])
241241
radii = (0.001, 0.002) * u.R_sun
242242
normalization_radii = (0.003, 0.004) * u.R_sun
243-
expected = rad.calculate_fit_radial_intensity(radii, polynomial) / rad.calculate_fit_radial_intensity(
243+
expected = rad._calculate_fit_radial_intensity(radii, polynomial) / rad._calculate_fit_radial_intensity(
244244
normalization_radii,
245245
polynomial,
246246
)
247247

248-
assert np.allclose(rad.normalize_fit_radial_intensity(radii, polynomial, normalization_radii), expected)
248+
assert np.allclose(rad._normalize_fit_radial_intensity(radii, polynomial, normalization_radii), expected)
249249

250250

251251
@skip_windows
@@ -268,13 +268,13 @@ def test_intensity_enhance(map_test1):
268268
radial_bin_summary.to(u.R_sun).value <= fit_range[1].to(u.R_sun).value,
269269
)
270270

271-
polynomial = rad.fit_polynomial_to_log_radial_intensity(
271+
polynomial = rad._fit_polynomial_to_log_radial_intensity(
272272
radial_bin_summary[fit_here],
273273
radial_intensity[fit_here],
274274
degree,
275275
)
276276

277-
enhancement = 1 / rad.normalize_fit_radial_intensity(map_r, polynomial, normalization_radius)
277+
enhancement = 1 / rad._normalize_fit_radial_intensity(map_r, polynomial, normalization_radius)
278278
enhancement[map_r < normalization_radius] = 1
279279

280280
with pytest.raises(ValueError, match="The fit range must be strictly increasing."):

sunkit_image/utils/decorators.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import inspect
22
from typing import Union, Callable
3+
from functools import wraps
34

45
import numpy as np
56
from sunpy.map import GenericMap, Map
@@ -31,6 +32,7 @@ def decorate(f: Callable) -> Callable:
3132
if arg_name not in sig.parameters:
3233
raise RuntimeError(f"Could not find '{arg_name}' in function signature")
3334

35+
@wraps(f)
3436
def inner(*args, **kwargs) -> Union[np.ndarray, GenericMap]:
3537
sig_bound = sig.bind(*args, **kwargs)
3638
map_arg = sig_bound.arguments[arg_name]

0 commit comments

Comments
 (0)