Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
bilby
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
25
Issues
25
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
12
Merge Requests
12
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Test Cases
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lscsoft
bilby
Commits
91dec665
Commit
91dec665
authored
May 18, 2018
by
Gregory Ashton
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update of various docstrings
parent
3d31a6e6
Pipeline
#19570
passed with stages
in 5 minutes and 51 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
51 additions
and
16 deletions
+51
-16
tupak/detector.py
tupak/detector.py
+11
-10
tupak/likelihood.py
tupak/likelihood.py
+32
-0
tupak/waveform_generator.py
tupak/waveform_generator.py
+8
-6
No files found.
tupak/detector.py
View file @
91dec665
...
...
@@ -398,7 +398,7 @@ class PowerSpectralDensity:
def
__init__
(
self
,
asd_file
=
None
,
psd_file
=
'aLIGO_ZERO_DET_high_P_psd.txt'
):
"""
Instantiate a new P
SD
object.
Instantiate a new P
owerSpectralDensity
object.
Only one of the asd_file or psd_file needs to be specified.
If multiple are given, the first will be used.
...
...
@@ -498,15 +498,16 @@ def get_empty_interferometer(name):
The available instruments are:
H1, L1, V1, GEO600
Detector positions taken from LIGO-T980044-10 for L1/H1 and from arXiv:gr-qc/0008066 [45] for V1/GEO600
Detector positions taken from LIGO-T980044-10 for L1/H1 and from
arXiv:gr-qc/0008066 [45] for V1/GEO600
Parameters
----------
name: str
Interferometer identifier.
Return
------
Return
s
------
-
interferometer: Interferometer
Interferometer instance
"""
...
...
@@ -546,7 +547,7 @@ def get_interferometer_with_open_data(
raw_data_file
=
None
,
**
kwargs
):
"""
Helper function to obtain an Interferometer instance with appropriate
PSD and data, given an center_time
PSD and data, given an center_time
.
Parameters
----------
...
...
@@ -576,6 +577,7 @@ def get_interferometer_with_open_data(
-------
interferometer: `tupak.detector.Interferometer`
An Interferometer instance with a PSD and frequency-domain strain data.
"""
utils
.
check_directory_exists_and_if_not_mkdir
(
outdir
)
...
...
@@ -647,14 +649,15 @@ def get_interferometer_with_fake_noise_and_injection(
save
=
True
):
"""
Helper function to obtain an Interferometer instance with appropriate
PSD and data, given an center_time
power spectral density and data, given an center_time.
Parameters
----------
name: str
Detector name, e.g., 'H1'.
injection_polarizations: dict
polarizations of waveform to inject, output of waveform_generator.get_frequency_domain_signal
polarizations of waveform to inject, output of
`waveform_generator.get_frequency_domain_signal`
injection_parameters: dict
injection parameters, needed for sky position and timing
sampling_frequency: float
...
...
@@ -672,6 +675,7 @@ def get_interferometer_with_fake_noise_and_injection(
-------
interferometer: `tupak.detector.Interferometer`
An Interferometer instance with a PSD and frequency-domain strain data.
"""
utils
.
check_directory_exists_and_if_not_mkdir
(
outdir
)
...
...
@@ -716,9 +720,6 @@ def get_event_data(
"""
Get open data for a specified event.
We currently know about:
GW150914
Parameters
----------
event: str
...
...
tupak/likelihood.py
View file @
91dec665
...
...
@@ -12,6 +12,36 @@ import logging
class
GravitationalWaveTransient
(
object
):
""" A gravitational-wave transient likelihood object
This is the usual likelihood object to use for transient gravitational
wave parameter estimation. It computes the log-likelihood in the frequency
domain assuming a colored Gaussian noise model described by a power
spectral density
Parameters
----------
interferometers: list
A list of `tupak.detector.Interferometer` instances - contains the
detector data and power spectral densities
waveform_generator: `tupak.waveform_generator.WaveformGenerator`
An object which computes the frequency-domain strain of the signal,
given some set of parameters
distance_marginalization: bool
If true, analytic distance marginalization
phase_marginalization: bool
If true, analytic phase marginalization
prior: dict
If given, used in the distance and phase marginalization.
Returns
-------
Likelihood: `tupak.likelihood.Likelihood`
A likehood object, able to compute the likelihood of the data given
some model parameters
"""
def
__init__
(
self
,
interferometers
,
waveform_generator
,
distance_marginalization
=
False
,
phase_marginalization
=
False
,
prior
=
None
):
# GravitationalWaveTransient.__init__(self, interferometers, waveform_generator)
...
...
@@ -148,7 +178,9 @@ def get_binary_black_hole_likelihood(interferometers):
A list of `tupak.detector.Interferometer` instances, typically the
output of either `tupak.detector.get_interferometer_with_open_data`
or `tupak.detector.get_interferometer_with_fake_noise_and_injection`
Returns
-------
likelihood: tupak.likelihood.GravitationalWaveTransient
The likelihood to pass to `run_sampler`
"""
...
...
tupak/waveform_generator.py
View file @
91dec665
import
inspect
import
tupak
from
.
import
utils
import
numpy
as
np
class
WaveformGenerator
(
object
):
""" A waveform generator
...
...
@@ -24,13 +24,15 @@ class WaveformGenerator(object):
parameters: dict
Initial values for the parameters
parameter_conversion: func
Function to convert from sampled parameters to parameters of the waveform generator
Function to convert from sampled parameters to parameters of the
waveform generator
non_standard_sampling_parameter_keys: list
List of parameter name for *non-standard* sampling parameters.
Note: the arguments of frequency_domain_source_model (except the first, which is the
frequencies at which to compute the strain) will be added to the
WaveformGenerator object and initialised to `None`.
Note: the arguments of frequency_domain_source_model (except the first,
which is the frequencies at which to compute the strain) will be added to
the WaveformGenerator object and initialised to `None`.
"""
def
__init__
(
self
,
time_duration
,
sampling_frequency
,
frequency_domain_source_model
=
None
,
...
...
@@ -52,7 +54,7 @@ class WaveformGenerator(object):
""" Wrapper to source_model """
if
self
.
parameter_conversion
is
not
None
:
added_keys
=
self
.
parameter_conversion
(
self
.
parameters
,
self
.
non_standard_sampling_parameter_keys
)
if
self
.
frequency_domain_source_model
is
not
None
:
model_frequency_strain
=
self
.
frequency_domain_source_model
(
self
.
frequency_array
,
**
self
.
parameters
)
elif
self
.
time_domain_source_model
is
not
None
:
...
...
Gregory Ashton
@gregory.ashton
mentioned in issue
#67 (closed)
·
May 18, 2018
mentioned in issue
#67 (closed)
mentioned in issue #67
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment