diff --git a/tupak/__init__.py b/tupak/__init__.py index 8e0fd6a27cdee23f3676bd0da0930d5cd9f96d66..2dca9e6f1f44e7829c10c3e7842a622bb2d7e1d7 100644 --- a/tupak/__init__.py +++ b/tupak/__init__.py @@ -16,12 +16,10 @@ https://monash.docs.ligo.org/tupak/installation.html. """ -from __future__ import print_function, division, absolute_import +from __future__ import absolute_import -import tupak.core -import tupak.gw -import tupak.hyper +from . import core, gw, hyper -from tupak.core import utils, likelihood, prior, result, sampler -from tupak.core.sampler import run_sampler -from tupak.core.likelihood import Likelihood +from .core import utils, likelihood, prior, result, sampler +from .core.sampler import run_sampler +from .core.likelihood import Likelihood diff --git a/tupak/core/__init__.py b/tupak/core/__init__.py index 94d3b3b2ffc7020e9f38eba6f7f4d031078bb56a..daa0c453de731ff0581c863b58b599d7b37e9d26 100644 --- a/tupak/core/__init__.py +++ b/tupak/core/__init__.py @@ -1,6 +1,2 @@ from __future__ import absolute_import -import tupak.core.likelihood -import tupak.core.prior -import tupak.core.result -import tupak.core.sampler -import tupak.core.utils \ No newline at end of file +from . import likelihood, prior, result, sampler, utils diff --git a/tupak/core/likelihood.py b/tupak/core/likelihood.py index f743ecb3262b9e0bcb8b155deea277dcb687f3f5..0b184cefa9c4c96cdd392ef16107fb5d0e5dce0f 100644 --- a/tupak/core/likelihood.py +++ b/tupak/core/likelihood.py @@ -1,9 +1,9 @@ from __future__ import division, print_function +import copy import numpy as np from scipy.special import gammaln -from tupak.core.utils import infer_parameters_from_function -import copy +from .utils import infer_parameters_from_function class Likelihood(object): diff --git a/tupak/core/prior.py b/tupak/core/prior.py index 3cc6f12f6b85150e52a358444c91477893b25ca7..68fa8ba9102b8d7538c56487c57da63b65cf57a7 100644 --- a/tupak/core/prior.py +++ b/tupak/core/prior.py @@ -9,8 +9,8 @@ import os from collections import OrderedDict from future.utils import iteritems -from tupak.core.utils import logger -from tupak.core import utils +from .utils import logger +from . import utils import tupak # noqa import inspect diff --git a/tupak/core/result.py b/tupak/core/result.py index 018c9a120299b3abd4c3af51bc1a7d34fa2bd77e..2617aff8a5121a3d87175c9eb74e8c66d5fe088e 100644 --- a/tupak/core/result.py +++ b/tupak/core/result.py @@ -8,9 +8,9 @@ import matplotlib import matplotlib.pyplot as plt from collections import OrderedDict -from tupak.core import utils -from tupak.core.utils import logger -from tupak.core.prior import PriorSet, DeltaFunction +from . import utils +from .utils import logger +from .prior import PriorSet, DeltaFunction def result_file_name(outdir, label): diff --git a/tupak/gw/__init__.py b/tupak/gw/__init__.py index 47063bf1e2790e5ef41ad096f9723905994e9cd9..3273cbd3e8358d2d91a3a44249c6dac3d00db287 100644 --- a/tupak/gw/__init__.py +++ b/tupak/gw/__init__.py @@ -1,13 +1,5 @@ -from __future__ import absolute_import -import tupak.gw.conversion -import tupak.gw.detector -import tupak.gw.likelihood -import tupak.gw.prior -import tupak.gw.source -import tupak.gw.utils -import tupak.gw.waveform_generator -from . import calibration +from . import (calibration, conversion, detector, likelihood, prior, source, + utils, waveform_generator) - -from tupak.gw.waveform_generator import WaveformGenerator -from tupak.gw.likelihood import GravitationalWaveTransient +from .waveform_generator import WaveformGenerator +from .likelihood import GravitationalWaveTransient diff --git a/tupak/gw/conversion.py b/tupak/gw/conversion.py index 5f78db028e631ec5d6e0daf2ac8ffb221a48c9aa..8c24eb8f3bc4a9db0e21850c785c7e8fd2af0e12 100644 --- a/tupak/gw/conversion.py +++ b/tupak/gw/conversion.py @@ -1,9 +1,9 @@ from __future__ import division -import tupak import numpy as np import pandas as pd -from tupak.core.utils import logger +from ..core.utils import logger, solar_mass +from ..core.prior import DeltaFunction try: from astropy.cosmology import z_at_value, Planck15 @@ -535,7 +535,7 @@ def fill_from_fixed_priors(sample, priors): output_sample = sample.copy() if priors is not None: for name in priors: - if isinstance(priors[name], tupak.core.prior.DeltaFunction): + if isinstance(priors[name], DeltaFunction): output_sample[name] = priors[name].peak return output_sample @@ -610,8 +610,8 @@ def generate_component_spins(sample): output_sample['tilt_1'], output_sample['tilt_2'], output_sample['phi_12'], output_sample['a_1'], output_sample['a_2'], - output_sample['mass_1'] * tupak.core.utils.solar_mass, - output_sample['mass_2'] * tupak.core.utils.solar_mass, + output_sample['mass_1'] * solar_mass, + output_sample['mass_2'] * solar_mass, output_sample['reference_frequency'], output_sample['phase']) output_sample['phi_1'] =\ @@ -637,8 +637,8 @@ def generate_component_spins(sample): output_sample['tilt_1'][ii], output_sample['tilt_2'][ii], output_sample['phi_12'][ii], output_sample['a_1'][ii], output_sample['a_2'][ii], - output_sample['mass_1'][ii] * tupak.core.utils.solar_mass, - output_sample['mass_2'][ii] * tupak.core.utils.solar_mass, + output_sample['mass_1'][ii] * solar_mass, + output_sample['mass_2'][ii] * solar_mass, output_sample['reference_frequency'][ii], output_sample['phase'][ii]) diff --git a/tupak/gw/detector.py b/tupak/gw/detector.py index 924e8a8782149439c956381d431edd0114ac80dd..1755ab484d4c1f17c5278f050dc471ca71650a68 100644 --- a/tupak/gw/detector.py +++ b/tupak/gw/detector.py @@ -7,9 +7,9 @@ import numpy as np from scipy.signal.windows import tukey from scipy.interpolate import interp1d -from tupak.gw import utils as gwutils -from tupak.core import utils -from tupak.core.utils import logger +from . import utils as gwutils +from ..core import utils +from ..core.utils import logger from .calibration import Recalibrate try: diff --git a/tupak/gw/likelihood.py b/tupak/gw/likelihood.py index 3d7a77197c89cde2caa64042dd663ab7567ddb1d..8965678ce40ace58af4c0722ae4c184fc6a04d29 100644 --- a/tupak/gw/likelihood.py +++ b/tupak/gw/likelihood.py @@ -8,11 +8,14 @@ except ImportError: from scipy.misc import logsumexp from scipy.special import i0e -import tupak -from tupak.core import likelihood as likelihood -from tupak.core.utils import logger -from tupak.gw.prior import BBHPriorSet -from tupak.core.prior import Uniform +from ..core import likelihood +from ..core.utils import logger +from ..core.prior import Prior, Uniform +from .detector import InterferometerList +from .prior import BBHPriorSet +from .source import lal_binary_black_hole +from .utils import noise_weighted_inner_product +from .waveform_generator import WaveformGenerator class GravitationalWaveTransient(likelihood.Likelihood): @@ -57,7 +60,7 @@ class GravitationalWaveTransient(likelihood.Likelihood): self.waveform_generator = waveform_generator likelihood.Likelihood.__init__(self, dict()) - self.interferometers = tupak.gw.detector.InterferometerList(interferometers) + self.interferometers = InterferometerList(interferometers) self.time_marginalization = time_marginalization self.distance_marginalization = distance_marginalization self.phase_marginalization = phase_marginalization @@ -111,7 +114,7 @@ class GravitationalWaveTransient(likelihood.Likelihood): def _check_prior_is_set(self, key): if key not in self.prior or not isinstance( - self.prior[key], tupak.core.prior.Prior): + self.prior[key], Prior): logger.warning( 'Prior not provided for {}, using the BBH default.'.format(key)) if key == 'geocent_time': @@ -138,7 +141,7 @@ class GravitationalWaveTransient(likelihood.Likelihood): def noise_log_likelihood(self): log_l = 0 for interferometer in self.interferometers: - log_l -= tupak.gw.utils.noise_weighted_inner_product( + log_l -= noise_weighted_inner_product( interferometer.frequency_domain_strain, interferometer.frequency_domain_strain, interferometer.power_spectral_density_array, @@ -381,8 +384,10 @@ def get_binary_black_hole_likelihood(interferometers): tupak.GravitationalWaveTransient: The likelihood to pass to `run_sampler` """ - waveform_generator = tupak.gw.waveform_generator.WaveformGenerator( - duration=interferometers.duration, sampling_frequency=interferometers.sampling_frequency, - frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole, - waveform_arguments={'waveform_approximant': 'IMRPhenomPv2', 'reference_frequency': 50}) - return tupak.gw.likelihood.GravitationalWaveTransient(interferometers, waveform_generator) + waveform_generator = WaveformGenerator( + duration=interferometers.duration, + sampling_frequency=interferometers.sampling_frequency, + frequency_domain_source_model=lal_binary_black_hole, + waveform_arguments={'waveform_approximant': 'IMRPhenomPv2', + 'reference_frequency': 50}) + return GravitationalWaveTransient(interferometers, waveform_generator) diff --git a/tupak/gw/prior.py b/tupak/gw/prior.py index eaa0eb561617253f448cacf9720932180b233299..0907e49b6addf30dc77abb8008fa5f105a88bbad 100644 --- a/tupak/gw/prior.py +++ b/tupak/gw/prior.py @@ -1,9 +1,9 @@ import os +import numpy as np +from scipy.interpolate import UnivariateSpline from ..core.prior import (PriorSet, Uniform, FromFile, Prior, DeltaFunction, Gaussian, Interped) from ..core.utils import logger -import numpy as np -from scipy.interpolate import UnivariateSpline class UniformComovingVolume(FromFile): diff --git a/tupak/gw/source.py b/tupak/gw/source.py index 85641ab26d61b7fc8963e5dda18c4045bc4279de..6ea32a002b47d9db62b0e1faf2ed77ca0af6662b 100644 --- a/tupak/gw/source.py +++ b/tupak/gw/source.py @@ -2,8 +2,8 @@ from __future__ import division, print_function import numpy as np -from tupak.core.utils import logger -from tupak.core import utils +from ..core import utils +from ..core.utils import logger try: import lalsimulation as lalsim diff --git a/tupak/gw/utils.py b/tupak/gw/utils.py index 60fb7d150270bb7130f6f93d8605e3d632aca32c..6bc9d061fcf6f03c5542bff3bca45e04fd8844a1 100644 --- a/tupak/gw/utils.py +++ b/tupak/gw/utils.py @@ -3,7 +3,8 @@ import os import numpy as np -from ..core.utils import (gps_time_to_gmst, ra_dec_to_theta_phi, speed_of_light, logger) +from ..core.utils import (gps_time_to_gmst, ra_dec_to_theta_phi, + speed_of_light, logger) try: from gwpy.timeseries import TimeSeries diff --git a/tupak/gw/waveform_generator.py b/tupak/gw/waveform_generator.py index 0134ffbb5f0c7ae6caeffbb830a4308ff5086c50..b9f00c76aaa0ccdb12cc385f1f1be4a7192cb5b4 100644 --- a/tupak/gw/waveform_generator.py +++ b/tupak/gw/waveform_generator.py @@ -1,5 +1,5 @@ -from tupak.core import utils import numpy as np +from ..core import utils class WaveformGenerator(object): diff --git a/tupak/hyper/__init__.py b/tupak/hyper/__init__.py index 45ec4869a0c81d87d975e9171cf5da6a52c08926..b25e08c4f8e1e6f317063eb26e5d3512011f6e65 100644 --- a/tupak/hyper/__init__.py +++ b/tupak/hyper/__init__.py @@ -1,3 +1 @@ -from __future__ import absolute_import -import tupak.hyper.likelihood -import tupak.hyper.model +from . import likelihood, model