User guide
Waveforms
Parameter distributions
Data Challenges
Tutorials
Development guide
minke.distribution.
burst_dist
(minimum, maximum, size=1)[source]¶Generate an hrss drawn from the distance distribution [ r + 50/r ] used for Burst allsky mock data challenges.
The lowest hrss to be produced.
The largest hrss to be produced.
The number of draws to produce. Defaults to 1.
minke.distribution.
even_time
(start, stop, rate, jitter=0)[source]¶Produce an evenly-distributed set of times which has some jitter.
The gps start time of the set.
The gps end time of the set.
The rate of events per year.
The number of seconds around which the time can “jitter”. This has the effect of adding a small random time on to each time returned in the distribution, up to a maximum of half the jitter value, or taking away up to half the jitter value.
A numpy array of gps times where injections should be made.
minke.distribution.
favorable_sky
(net, time)[source]¶Wander through the skies, searching for a most favorable location. — draw extrinsic parameters as if the network antenna pattern magnitude were the PDF.
minke.distribution.
log_uniform
(lower, upper, number)[source]¶Draw uniformly in the log of a predefined range.
The lower hrss value (n.b. not the lower log(hrss) value)
The upper hrss value (n.b. not the upper log(hrss) value)
The number of samples to be drawn from the distribution.
An sample value drawn from the log uniform distribution.
minke.distribution.
supernova_angle
(num, divisions=10)[source]¶Draw from a discrete distribution of angles.
minke.distribution.
uniform_dec
(num)[source]¶Declination distribution: uniform in sin(dec), which leads to a uniform distribution across all declinations.
The number of random declinations to produce.
minke.distribution.
uniform_interval
(interval, num)[source]¶Return a number, or a list of numbers which are sampled from a uniform distribution.
The interval which the uniform distribution covers.
The number of samples which should be drawn from the distribution.
A sample, or a list of samples.
Notes
minke.distribution.
uniform_phi
(num)[source]¶Uniform in (0, 2pi) distribution. num controls the number of draws.
minke.distribution.
uniform_sky
(number=1)[source]¶Get a set of (RA, declination, polarization) drawn from an isotropic distribution over the whole sky.
The number of random sky locations and polarisations to be produced.
Randomly drawn right ascensions.
Randomly drawn declinations.
Randomly drawn polarisations.
88b d88 88 88 888b d888 “” 88 88`8b d8’88 88 88 8b d8’ 88 88 8b,dPPYba, 88 ,d8 ,adPPYba, 88 `8b d8’ 88 88 88P’ `”8a 88 ,a8” a8P_____88 88 `8b d8’ 88 88 88 88 8888[ 8PP” 88 `888’ 88 88 88 88 88”Yba, “8b, ,aa 88 `8’ 88 88 88 88 88 `Y8a `”Ybbd8”’
This file is a part of Minke, a tool for generating simulated gravitational wave signals, used for characterising and training search algorithms.
Minke was created by Daniel Williams, based on work started by Chris Pankow and others, and is built around the LALSimulation library.
minke.mdctools.
Frame
(start, duration, ifo, number=- 1)[source]¶Bases: object
Represents a frame, in order to prepare the injection frames
Methods
|
Produce the gwf file which corresponds to the MDC set over the period of this frame. |
|
Return the rows from an MDC set which correspond to this frame. |
calculate_n_injections |
|
generate_log |
generate_gwf
(mdc, directory, project='Minke', channel='SCIENCE', force=False, rate=16384.0)[source]¶Produce the gwf file which corresponds to the MDC set over the period of this frame.
The MDC set which should be used to produce this frame.
The root directory where all of the frames are to be stored, for example “/home/albert.einstein/data/mdc/frames/” would cause the SineGaussian injections to be made in the directories under “/home/albert.einstein/data/mdc/frames/sg”
The name of the project which this frame is a part of. Defaults to ‘Minke’.
The name of the channel which the injections should be made into. This is prepended by the initials for each interferometer, so there will be a channel for each interferometer in the gwf.
If true this forces the recreation of a GWF file even if it already exists.
minke.mdctools.
FrameSet
(frame_list)[source]¶Bases: object
Methods
|
Produce the gwf files which corresponds to the MDC set over the period of the frames in this collection. |
|
Produce a log file for the entire frame set |
full_frameset
(mdc, directory, channel='SCIENCE', force=False)[source]¶Produce the gwf files which corresponds to the MDC set over the period of the frames in this collection.
The MDC set which should be used to produce this frame.
The root directory where all of the frames are to be stored, for example “/home/albert.einstein/data/mdc/frames/” would cause the SineGaussian injections to be made in the directories under “/home/albert.einstein/data/mdc/frames/sg”
The name of the channel which the injections should be made into. This is prepended by the initials for each interferometer, so there will be a channel for each interferometer in the gwf.
If true this forces the recreation of a GWF file even if it already exists.
minke.mdctools.
HWFrameSet
(ifos=['H1', 'L1'])[source]¶Bases: object
Methods
|
Produce the gwf files which corresponds to the MDC set over the period of the frames in this collection. |
full_frameset
(mdc, directory, force=False)[source]¶Produce the gwf files which corresponds to the MDC set over the period of the frames in this collection.
The MDC set which should be used to produce this frame.
The root directory where all of the frames are to be stored, for example “/home/albert.einstein/data/mdc/frames/” would cause the SineGaussian injections to be made in the directories under “/home/albert.einstein/data/mdc/frames/sg”
If true this forces the recreation of a GWF file even if it already exists.
minke.mdctools.
HWInj
(ifos)[source]¶Bases: minke.mdctools.Frame
Represents a hardware injection frame.
Injection frames must be an ASCII file of the hoft sampled at the antenna sampling rate, appropriately convolved with an antenna response function.
As a result of the simplicity of this specific output format we do not need information such as start-time in the file itself, however we should have a sensible naming scheme for the ASCII files since they will need to be produced as sidecars for an xml file.
Methods
|
Produce the gwf file which corresponds to the MDC set over the period of this frame. |
|
Produce the PCAL-ready hardware injection files as an ASCII list sampled at the detector’s sample rate. |
|
Return the rows from an MDC set which correspond to this frame. |
calculate_n_injections |
|
generate_log |
generate_pcal
(mdc, directory, force=False, rate=16384)[source]¶Produce the PCAL-ready hardware injection files as an ASCII list sampled at the detector’s sample rate.
The signal set which should be used to generate the frame.
The root directory where all of the frames are to be stored, for example “/home/albert.einstein/data/mdc/frames/” would cause the SineGaussian injections to be made in the directories under “/home/albert.einstein/data/mdc/frames/sg”
If true this forces the regeneration of the file, even if it already exists.
minke.mdctools.
MDCSet
(detectors, name='MDC Set', table_type='burst')[source]¶Bases: object
Methods
Generate the directory where the frames from this MDC should be stored, so, e.g. |
|
|
Produces a gravEn-style log row for a row of the simBurstTable. |
|
Load the MDC Set from an XML file containing the SimBurstTable. |
|
Plot a histogram of a waveform parameter. |
Plot a skymap of the injections distribution in RA and DEC on a Hammer projection. |
|
|
Save the MDC set as an XML SimBurstTable. |
directory_path
()[source]¶Generate the directory where the frames from this MDC should be stored, so, e.g. Gaussians 0d100 would go in “ga/ga0d100/”
the folder structure
gravEn_row
(row, frame)[source]¶Produces a gravEn-style log row for a row of the simBurstTable.
The row number of the waveforms to be measured
A string in the gravEn format which describes the injection.
hist_parameters
= {'BTLWNB': ['hrss', 'ra', 'dec'], 'Dimmelmeier+08': ['hrss', 'ra', 'dec'], 'Gaussian': ['hrss', 'psi', 'ra', 'dec'], 'SineGaussian': ['hrss', 'psi', 'ra', 'dec'], 'StringCusp': ['amplitude', 'ra', 'dec']}¶inj_families_abb
= {'ADI': 'adi', 'BBHRingdown': 'rng', 'BTLWNB': 'wnb', 'Dimmelmeier+08': 'd08', 'Gaussian': 'ga', 'GenericRingdown': 'gng', 'Mueller+12': 'm12', 'Ott+13': 'o13', 'Scheidegger+10': 's10', 'SineGaussian': 'sg', 'StringCusp': 'sc', 'Yakunin+10': 'y10'}¶inj_families_names
= {'adi': 'ADI', 'd08': 'Dimmelmeier+08', 'ga': 'Gaussian', 'gng': 'GenericRingdown', 'm12': 'Mueller+12', 'o13': 'Ott+13', 'rng': 'BBHRingdown', 's10': 'Scheidegger+10', 'sc': 'StringCusp', 'sg': 'SineGaussian', 'wnb': 'BTLWNB', 'y10': 'Yakunin+10'}¶load_xml
(filename, full=True, start=None, stop=None)[source]¶Load the MDC Set from an XML file containing the SimBurstTable.
The filename of the XML file.
If this is true (which is the default) then all of the calculated parameters are computed from the waveform definintion.
The time at which the xml read-in should start. The default is “None”, in which case the xml file will be read-in from the start.
The last time to be read from the xml file. The default is None, which causes the xml to be read right-up to the last time in the file.
plot_hist
(parameter)[source]¶Plot a histogram of a waveform parameter.
The name of the simburst table parameter which is desired for the plot.
plot_skymap
()[source]¶Plot a skymap of the injections distribution in RA and DEC on a Hammer projection.
save_xml
(filename)[source]¶Save the MDC set as an XML SimBurstTable.
The location to save the xml file. The output is gzipped, so ending it with a “.gz” would stick with convention.
waveforms
= []¶minke.sources.
ADI
(time, sky_dist=<function uniform_sky>, filepath='stamp_adi_a_tapered.mat', decomposed_path=None)[source]¶Bases: minke.sources.LongDuration
Accretion disk instability waveforms which are generated using the method described in LIGO-T1100093, at https://dcc.ligo.org/LIGO-T1100093. The waveforms are based off a model by MH van Putten,
M. H. van Putten, A. Levinson, H. K. Lee, T. Regimbau, M. Punturo, and G. M. Harry. Phys. Rev. D., 69(4), 044007, 2004. M. H. van Putten. Phys. Rev. Lett., 87(9), 091101, 2001.
The waveforms are stored in .mat binary files which can be read-in by SciPy.
Methods
|
Construct the expansion parameters Hlm from T1000553. |
|
Produce the spherial harmonic decompositions of the ADI waveform. |
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
decompose
(numrel_file, sample_rate=16384.0, step_back=0.01)[source]¶Produce the spherial harmonic decompositions of the ADI waveform. This is a special case since it is axisymmetric.
The location of the numerical relativity waveform file.
The sample rate of the output NR file. Defaults to 16384.0 Hz, and should be the same as the data rate of the detector.
The amount of time, in seconds, of the data which should be included before the peak amplitude. Defaults to 0.01 sec.
The re-interpolated file at the desired sample rate which is in the <time hp hc> format which can be accepted by LALSimulation.
waveform
= 'ADI'¶minke.sources.
BBHRingdown
(time, phi0, mass, spin, massloss, distance, inclination, sky_dist=<function uniform_sky>)[source]¶Bases: minke.sources.Ringdown
A class to represent BBH ringdowns.
Methods
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
waveform
= 'BBHRingdown'¶minke.sources.
Dimmelmeier08
(time, distance=0.01, sky_dist=<function uniform_sky>, filepath='signal_s15a2o05_ls.dat', decomposed_path=None)[source]¶Bases: minke.sources.Supernova
The Dimmelmeier08 waveform.
Methods
|
Construct the expansion parameters Hlm from T1000553. |
|
Produce the spherial harmonic decompositions of the Dimmelmeier numerical waveform. |
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
decompose
(numrel_file, sample_rate=16384.0, step_back=0.01)[source]¶Produce the spherial harmonic decompositions of the Dimmelmeier numerical waveform. This is a special case since it is axisymmetric.
The location of the numerical relativity waveform file.
The sample rate of the NR file. Defaults to 16384.0 Hz.
The amount of time, in seconds, of the data which should be included before the peak amplitude. Defaults to 0.01 sec.
The l=2 mode spherical decompositions of the waveform.
waveform
= 'Dimmelmeier+08'¶minke.sources.
Gaussian
(duration, hrss, time, sky_dist=<function uniform_sky>, seed=0)[source]¶Bases: minke.sources.Waveform
A class to represent a Gaussian injection.
Methods
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
waveform
= 'Gaussian'¶minke.sources.
Hyperbolic
(datafile, total_mass, distance, extraction, sky_dist=<function uniform_sky>, **kwargs)[source]¶Bases: minke.sources.Numerical2Column
Methods
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
minke.sources.
LongDuration
[source]¶Bases: minke.sources.Supernova
A superclass to handle the spherial harmonic decompositions which long duration numerical relativity bursts may require.
Methods
|
Construct the expansion parameters Hlm from T1000553. |
|
Produce the spherial harmonic decompositions of a numerical waveform. |
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
supernova
= True¶waveform
= 'LongDuration'¶minke.sources.
Mueller2012
(theta, phi, time, distance=0.01, sky_dist=<function uniform_sky>, filepath=None, family='L15-3', decomposed_path=None)[source]¶Bases: minke.sources.Supernova
The Mueller2012 waveform.
Methods
|
Construct the expansion parameters Hlm from T1000553. |
|
Produce the spherial harmonic decompositions of a numerical waveform. |
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
decompose
(numrel_file, sample_rate=16384.0, step_back=0.01)[source]¶Produce the spherial harmonic decompositions of a numerical waveform.
The location of the numerical relativity waveform file.
The sample rate of the NR file. Defaults to 16384.0 Hz.
The amount of time, in seconds, of the data which should be included before the peak amplitude. Defaults to 0.01 sec.
The distance, in megaparsecs, from the observer at which the NR waveforms were simulated. Defaults to 10 kpc (i.e. 10e-3 Mpc).
The l=2 mode spherical decompositions of the waveform.
has_memory
= True¶waveform
= 'Mueller+12'¶minke.sources.
Numerical2Column
[source]¶Bases: minke.sources.Waveform
A superclass to handle ninja-based numerical relativity waveforms.
Methods
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
extraction
= None¶supernova
= False¶waveform
= 'Numerical'¶minke.sources.
Ott2013
(theta, phi, time, sky_dist=<function uniform_sky>, distance=0.01, filepath=None, family='s27fheat1p05', decomposed_path=None)[source]¶Bases: minke.sources.Supernova
The Ott+2013 supernova waveform
Methods
|
Construct the expansion parameters Hlm from T1000553. |
|
Produce the spherial harmonic decompositions of a numerical waveform. |
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
has_memory
= True¶waveform
= 'Ott+13'¶minke.sources.
Ringdown
[source]¶Bases: minke.sources.Waveform
A class to handle Rindown waveforms.
Methods
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
alias of |
table_type
¶alias of glue.ligolw.lsctables.SimRingdownTable
waveform
= 'GenericRingdown'¶minke.sources.
Scheidegger2010
(theta, phi, time, distance=0.01, sky_dist=<function uniform_sky>, filepath=None, family='R1E1CA_L', decomposed_path=None)[source]¶Bases: minke.sources.Supernova
The Scheidegger2010 waveform.
Methods
|
Construct the expansion parameters Hlm from T1000553. |
|
Produce the spherial harmonic decompositions of a numerical waveform. |
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
waveform
= 'Scheidegger+10'¶minke.sources.
SineGaussian
(q, frequency, hrss, polarisation, time, sky_dist=<function uniform_sky>, seed=0)[source]¶Bases: minke.sources.Waveform
A class to represent a SineGaussian injection.
Methods
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
waveform
= 'SineGaussian'¶minke.sources.
StringCusp
(amplitude, f_max, time, sky_dist=<function uniform_sky>)[source]¶Bases: minke.sources.Waveform
A class to represent a StringCusp injection.
Methods
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
waveform
= 'StringCusp'¶minke.sources.
Supernova
[source]¶Bases: minke.sources.Waveform
A superclass to handle the spherial harmonic decompositions which all supernova waveforms require.
Methods
|
Construct the expansion parameters Hlm from T1000553. |
|
Produce the spherial harmonic decompositions of a numerical waveform. |
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
construct_Hlm
(Ixx, Ixy, Ixz, Iyy, Iyz, Izz, l=2, m=2)[source]¶Construct the expansion parameters Hlm from T1000553. Returns the expansion parameters for l=2, m=m
decompose
(numrel_file, sample_rate=16384.0, step_back=0.01)[source]¶Produce the spherial harmonic decompositions of a numerical waveform.
The location of the numerical relativity waveform file.
The sample rate of the NR file. Defaults to 16384.0 Hz.
The amount of time, in seconds, of the data which should be included before the peak amplitude. Defaults to 0.01 sec.
The l=2 mode spherical decompositions of the waveform.
file_distance
= 0.01¶generate_tail
(sampling=16384.0, length=1, h_max=1e-23, h_min=0)[source]¶Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform.
This code was adapted from an iPython notebook provided by Marek Szczepanczyk.
The tail needs to be added to the waveform after all of the other corrections have been applied (DW: I think)
The sample rate of the injection data. By default this is 16384 Hz, which is the standard advanced LIGO sampling rate.
The length of the tail to be added, in seconds; defaults to 1.
The strain at the beginning of the tail – the strain at the end of the NR data.
Notes
TODO Confirm that the tail is added-on after the waveform is
convolved with the antenna pattern.
has_memory
= False¶supernova
= True¶waveform
= 'Supernova'¶minke.sources.
Waveform
[source]¶Bases: object
Generic container for different source types. Currently, it checks for the waveform type and initializes itself appropriately. In the future, different sources should subclass this and override the generation routines.
Methods
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
alias of |
expnum
= 1¶generate_tail
(sampling=16384.0, length=1, h_max=1e-23, h_min=0)[source]¶Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform.
This code was adapted from an iPython notebook provided by Marek Szczepanczyk.
The tail needs to be added to the waveform after all of the other corrections have been applied (DW: I think)
The sample rate of the injection data. By default this is 16384 Hz, which is the standard advanced LIGO sampling rate.
The length of the tail to be added, in seconds; defaults to 1.
The strain at the beginning of the tail – the strain at the end of the NR data.
Notes
TODO Confirm that the tail is added-on after the waveform is
convolved with the antenna pattern.
interpolate
(x_old, y_old, x_new, method='linear')[source]¶Convenience funtion to avoid repeated code
numrel_data
= []¶params
= {}¶parse_polarisation
(polarisation)[source]¶Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
The description of the polarisation, in words.
sim
= []¶table_type
¶alias of glue.ligolw.lsctables.SimBurstTable
waveform
= 'Generic'¶minke.sources.
WhiteNoiseBurst
(duration, bandwidth, frequency, time, hrss=None, egw=None, sky_dist=<function uniform_sky>, seed=0)[source]¶Bases: minke.sources.Waveform
A class to represent a WNB injection.
Methods
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
waveform
= 'BTLWNB'¶minke.sources.
Yakunin10
(time, distance=0.01, sky_dist=<function uniform_sky>, filepath='Yakunin2010/hplus-B12-WH07_tail.txt', decomposed_path=None)[source]¶Bases: minke.sources.Supernova
The Yakunin10 waveform.
Methods
|
Construct the expansion parameters Hlm from T1000553. |
|
Produce the spherial harmonic decompositions of the Dimmelmeier numerical waveform. |
|
Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform. |
|
Convenience funtion to avoid repeated code |
|
Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle. |
|
Produce a plot of the injection. |
|
alias of |
decompose
(numrel_file, sample_rate=16384.0, step_back=0.01)[source]¶Produce the spherial harmonic decompositions of the Dimmelmeier numerical waveform. This is a special case since it is axisymmetric.
The location of the numerical relativity waveform file.
The sample rate of the NR file. Defaults to 16384.0 Hz.
The amount of time, in seconds, of the data which should be included before the peak amplitude. Defaults to 0.01 sec.
The l=2 mode spherical decompositions of the waveform.
waveform
= 'Yakunin+10'¶