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 numpy as np
from scipy.interpolate import UnivariateSpline
from scipy.interpolate import InterpolatedUnivariateSpline
from ..core.prior import (PriorDict, Uniform, Prior, DeltaFunction, Gaussian,
Interped, Constraint)
......@@ -528,23 +528,23 @@ class CalibrationPriorDict(PriorDict):
This includes the frequencies of the nodes which are _not_ sampled.
"""
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
phase_median = calibration_data[2]
amplitude_sigma = (calibration_data[5] - calibration_data[3]) / 2
phase_sigma = (calibration_data[6] - calibration_data[4]) / 2
nodes = np.logspace(np.log10(minimum_frequency),
np.log10(maximum_frequency), n_nodes)
log_nodes = np.linspace(np.log(minimum_frequency),
np.log(maximum_frequency), n_nodes)
amplitude_mean_nodes = \
UnivariateSpline(frequency_array, amplitude_median)(nodes)
InterpolatedUnivariateSpline(log_frequency_array, amplitude_median)(log_nodes)
amplitude_sigma_nodes = \
UnivariateSpline(frequency_array, amplitude_sigma)(nodes)
InterpolatedUnivariateSpline(log_frequency_array, amplitude_sigma)(log_nodes)
phase_mean_nodes = \
UnivariateSpline(frequency_array, phase_median)(nodes)
InterpolatedUnivariateSpline(log_frequency_array, phase_median)(log_nodes)
phase_sigma_nodes = \
UnivariateSpline(frequency_array, phase_sigma)(nodes)
InterpolatedUnivariateSpline(log_frequency_array, phase_sigma)(log_nodes)
prior = CalibrationPriorDict()
for ii in range(n_nodes):
......@@ -564,7 +564,7 @@ class CalibrationPriorDict(PriorDict):
for ii in range(n_nodes):
name = "recalib_{}_frequency_{}".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)
prior.source = os.path.abspath(envelope_file)
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