Add method to get data by channel name
This addresses the issues encountered when trying to load data spanning multiple frame files, and adopts the bilby_pipe method of loading data using gwpy.TimeSeries.get.
I have added several functions along the lines of set_from_channel_name
(I'm open to other suggestions for what to call this method) for creating an InterferometerStrainData
object, a PowerSpectralDensity
object, setting the interferometer.strain_data
, and for creating an Interferometer
object from the channel name directly. I basically followed the template of the from_frame_file
functions for the structure. I also edited the load_from_cache_file
function to address the logic issues. A couple questions:
- Should I make a separate
gw.utils
function for the actual loading of the data usinggwpy.TimeSeries.get()
? It's two lines so it seemed like overkill to add another function just for this instead of doing it directly in theset_from_channel_name
method of thestrain_data
object. - Should I add a buffer time? This is an argument of the
from_frame_file
function but it doesn't seem to be used... (https://git.ligo.org/lscsoft/bilby/blob/master/bilby/gw/utils.py#L387)
If you want to check out some plots to make sure this is doing what it's supposed to, I've plotted the PSDs estimated using this new method, the time domain strain, and the frequency domain strain (along with the Bayeswave ASD) for one trigger here: https://ldas-jobs.ligo.caltech.edu/~sylvia.biscoveanu/O3/S190521g/