diff --git a/tupak/gw/detector.py b/tupak/gw/detector.py index f20c188ab0e70cd5580d7a76e12cc72ff91ab200..2e485409042a07008353312b9e3dbf91f39296e2 100644 --- a/tupak/gw/detector.py +++ b/tupak/gw/detector.py @@ -7,7 +7,7 @@ import numpy as np from scipy.signal.windows import tukey from scipy.interpolate import interp1d -import tupak.gw.utils +import tupak.gw.utils as gwutils from tupak.core import utils from tupak.core.utils import logger from .calibration import Recalibrate @@ -136,7 +136,8 @@ class InterferometerList(list): for ii, interferometer in enumerate(self): ax = fig.add_subplot(len(self) // 2, 2, ii + 1) ax.loglog(interferometer.frequency_array, - np.abs(interferometer.frequency_domain_strain), + gwutils.asd_from_freq_series( + interferometer.frequency_domain_strain), color='C0', label=interferometer.name) ax.loglog(interferometer.frequency_array, interferometer.amplitude_spectral_density_array, @@ -147,7 +148,8 @@ class InterferometerList(list): ax.set_xlim(20, 2000) ax.legend(loc='best') if signal is not None: - ax.loglog(self.frequency_array, abs(signal), color='C2', + ax.loglog(self.frequency_array, + gwutils.asd_from_freq_series(signal), color='C2', label='Signal') fig.tight_layout() if label is None: @@ -569,7 +571,7 @@ class InterferometerStrainData(object): """ - timeseries = tupak.gw.utils.get_open_strain_data( + timeseries = gwutils.get_open_strain_data( name, start_time, start_time+duration, outdir=outdir, cache=cache, **kwargs) @@ -731,7 +733,7 @@ class InterferometerStrainData(object): self.start_time = start_time logger.info('Reading data from frame') - strain = tupak.gw.utils.read_frame_file( + strain = gwutils.read_frame_file( frame_file, start_time=start_time, end_time=start_time + duration, buffer_time=buffer_time, channel=channel, resample=sampling_frequency) @@ -1063,7 +1065,7 @@ class Interferometer(object): array_like: A 3D array representation of the vertex """ if not self.__vertex_updated: - self.__vertex = tupak.gw.utils.get_vertex_position_geocentric(self.__latitude, self.__longitude, + self.__vertex = gwutils.get_vertex_position_geocentric(self.__latitude, self.__longitude, self.elevation) self.__vertex_updated = True return self.__vertex @@ -1148,7 +1150,7 @@ class Interferometer(object): array_like: A 3x3 array representation of the antenna response for the specified mode """ - polarization_tensor = tupak.gw.utils.get_polarization_tensor(ra, dec, time, psi, mode) + polarization_tensor = gwutils.get_polarization_tensor(ra, dec, time, psi, mode) return np.einsum('ij,ij->', self.detector_tensor, polarization_tensor) def get_detector_response(self, waveform_polarizations, parameters): @@ -1257,10 +1259,10 @@ class Interferometer(object): sampling_frequency=self.strain_data.sampling_frequency, duration=self.strain_data.duration, start_time=self.strain_data.start_time) - opt_snr = np.sqrt(tupak.gw.utils.optimal_snr_squared( + opt_snr = np.sqrt(gwutils.optimal_snr_squared( signal=signal_ifo, interferometer=self, duration=self.strain_data.duration).real) - mf_snr = np.sqrt(tupak.gw.utils.matched_filter_snr_squared( + mf_snr = np.sqrt(gwutils.matched_filter_snr_squared( signal=signal_ifo, interferometer=self, duration=self.strain_data.duration).real) @@ -1367,7 +1369,7 @@ class Interferometer(object): ------- float: The time delay from geocenter in seconds """ - return tupak.gw.utils.time_delay_geocentric(self.vertex, np.array([0, 0, 0]), ra, dec, time) + return gwutils.time_delay_geocentric(self.vertex, np.array([0, 0, 0]), ra, dec, time) def vertex_position_geocentric(self): """ @@ -1380,7 +1382,7 @@ class Interferometer(object): ------- array_like: A 3D array representation of the vertex """ - return tupak.gw.utils.get_vertex_position_geocentric(self.__latitude, self.__longitude, self.__elevation) + return gwutils.get_vertex_position_geocentric(self.__latitude, self.__longitude, self.__elevation) @property def whitened_frequency_domain_strain(self): @@ -1424,13 +1426,14 @@ class Interferometer(object): fig, ax = plt.subplots() ax.loglog(self.frequency_array, - np.abs(self.frequency_domain_strain), + gwutils.asd_from_freq_series(self.frequency_domain_strain), color='C0', label=self.name) ax.loglog(self.frequency_array, self.amplitude_spectral_density_array, color='C1', lw=0.5, label=self.name + ' ASD') if signal is not None: - ax.loglog(self.frequency_array, abs(signal), color='C2', + ax.loglog(self.frequency_array, + gwutils.asd_from_freq_series(signal), color='C2', label='Signal') ax.grid('on') ax.set_ylabel(r'strain [strain/$\sqrt{\rm Hz}$]') @@ -1986,7 +1989,7 @@ def get_event_data( ------ list: A list of tupak.gw.detector.Interferometer objects """ - event_time = tupak.gw.utils.get_event_time(event) + event_time = gwutils.get_event_time(event) interferometers = []