Skip to content
Snippets Groups Projects
Commit 30c349e2 authored by Gregory Ashton's avatar Gregory Ashton
Browse files

Merge branch 'calibration_fix_new' into 'master'

Calibration fix

See merge request !607
parents 91713b39 b6fabf2c
No related branches found
No related tags found
1 merge request!607Calibration fix
Pipeline #81385 passed
import os import os
import numpy as np import numpy as np
from scipy.interpolate import UnivariateSpline from scipy.interpolate import InterpolatedUnivariateSpline
from ..core.prior import (PriorDict, Uniform, Prior, DeltaFunction, Gaussian, from ..core.prior import (PriorDict, Uniform, Prior, DeltaFunction, Gaussian,
Interped, Constraint) Interped, Constraint)
...@@ -528,23 +528,23 @@ class CalibrationPriorDict(PriorDict): ...@@ -528,23 +528,23 @@ class CalibrationPriorDict(PriorDict):
This includes the frequencies of the nodes which are _not_ sampled. This includes the frequencies of the nodes which are _not_ sampled.
""" """
calibration_data = np.genfromtxt(envelope_file).T calibration_data = np.genfromtxt(envelope_file).T
frequency_array = calibration_data[0] log_frequency_array = np.log(calibration_data[0])
amplitude_median = calibration_data[1] - 1 amplitude_median = calibration_data[1] - 1
phase_median = calibration_data[2] phase_median = calibration_data[2]
amplitude_sigma = (calibration_data[5] - calibration_data[3]) / 2 amplitude_sigma = (calibration_data[5] - calibration_data[3]) / 2
phase_sigma = (calibration_data[6] - calibration_data[4]) / 2 phase_sigma = (calibration_data[6] - calibration_data[4]) / 2
nodes = np.logspace(np.log10(minimum_frequency), log_nodes = np.linspace(np.log(minimum_frequency),
np.log10(maximum_frequency), n_nodes) np.log(maximum_frequency), n_nodes)
amplitude_mean_nodes = \ amplitude_mean_nodes = \
UnivariateSpline(frequency_array, amplitude_median)(nodes) InterpolatedUnivariateSpline(log_frequency_array, amplitude_median)(log_nodes)
amplitude_sigma_nodes = \ amplitude_sigma_nodes = \
UnivariateSpline(frequency_array, amplitude_sigma)(nodes) InterpolatedUnivariateSpline(log_frequency_array, amplitude_sigma)(log_nodes)
phase_mean_nodes = \ phase_mean_nodes = \
UnivariateSpline(frequency_array, phase_median)(nodes) InterpolatedUnivariateSpline(log_frequency_array, phase_median)(log_nodes)
phase_sigma_nodes = \ phase_sigma_nodes = \
UnivariateSpline(frequency_array, phase_sigma)(nodes) InterpolatedUnivariateSpline(log_frequency_array, phase_sigma)(log_nodes)
prior = CalibrationPriorDict() prior = CalibrationPriorDict()
for ii in range(n_nodes): for ii in range(n_nodes):
...@@ -564,7 +564,7 @@ class CalibrationPriorDict(PriorDict): ...@@ -564,7 +564,7 @@ class CalibrationPriorDict(PriorDict):
for ii in range(n_nodes): for ii in range(n_nodes):
name = "recalib_{}_frequency_{}".format(label, ii) name = "recalib_{}_frequency_{}".format(label, ii)
latex_label = "$f^{}_{}$".format(label, ii) latex_label = "$f^{}_{}$".format(label, ii)
prior[name] = DeltaFunction(peak=nodes[ii], name=name, prior[name] = DeltaFunction(peak=np.exp(log_nodes[ii]), name=name,
latex_label=latex_label) latex_label=latex_label)
prior.source = os.path.abspath(envelope_file) prior.source = os.path.abspath(envelope_file)
return prior return prior
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment