From 264b0c958e43d7151177f46e4ac5847c15d93f04 Mon Sep 17 00:00:00 2001 From: chloe Date: Tue, 22 Mar 2022 17:39:50 -0400 Subject: [PATCH] Updated template_redshift to return final redshifted spectrum and _chi_square_for_templates and _normalize_for_template_matching to accept NaNs --- specutils/analysis/template_comparison.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/specutils/analysis/template_comparison.py b/specutils/analysis/template_comparison.py index 11189dda6..17721270f 100644 --- a/specutils/analysis/template_comparison.py +++ b/specutils/analysis/template_comparison.py @@ -57,8 +57,8 @@ def _normalize_for_template_matching(observed_spectrum, template_spectrum, stdde """ if stddev is None: stddev = _uncertainty_to_standard_deviation(observed_spectrum.uncertainty) - num = np.sum((observed_spectrum.flux*template_spectrum.flux) / (stddev**2)) - denom = np.sum((template_spectrum.flux / stddev)**2) + num = np.nansum((observed_spectrum.flux*template_spectrum.flux) / (stddev**2)) + denom = np.nansum((template_spectrum.flux / stddev)**2) return num/denom @@ -134,7 +134,7 @@ def _chi_square_for_templates(observed_spectrum, template_spectrum, resample_met # Get chi square result = (num/denom)**2 - chi2 = np.sum(result.value) + chi2 = np.nansum(result.value) # Create normalized template spectrum, which will be returned with # corresponding chi2 @@ -289,5 +289,6 @@ def template_redshift(observed_spectrum, template_spectrum, redshift): if not np.isnan(chi2) and (chi2_min is None or chi2 < chi2_min): chi2_min = chi2 final_redshift = rs + final_spectrum = redshifted_spectrum - return redshifted_spectrum, final_redshift, normalized_spectral_template, chi2_min, chi2_list + return final_spectrum, final_redshift, normalized_spectral_template, chi2_min, chi2_list