timothygebhard / ggwd

Use PyCBC / LALSuite to generate synthetic gravitational-wave data (e.g., for machine learning endeavors).
GNU General Public License v3.0
42 stars 17 forks source link

Injecting waveforms at specific GPS times #2

Open rutujagurav opened 7 months ago

rutujagurav commented 7 months ago

Hello,

Is it possible to inject waveforms at specific GPS times?

timothygebhard commented 7 months ago

Hi!

That depends a bit on what exactly you mean by “inject waveforms at specific GPS times”. The code does provide a function get_detector_signals() (see here) which can convert a given simulated waveform into the signals that would be observed by the H1/L1 detectors at a given GPS time. If you then want to inject that signal into the noise from those detectors at that exact GPS time, you will probably have to implement this part yourself. If you have the data available, that should not be too hard, though, and you could take some inspiration from this portion of the code to inject signals with a given target SNR.

I feel I should point out though that this repository is quite dated at this point and is no longer actively developed / maintained. You may want to check if there are other implementations that are more active and / or provide the exact features you are looking for 🙂

rutujagurav commented 6 months ago

Hello, @timothygebhard. Thank you so much for your response! I apologize for the delay in mine.

I indeed want to inject signal into the noise (well, just data) from the detector(s) at a given GPS time. I have a list of GPS times-of-interest from the latest observing run of LIGO and using the download script you provided - download_gwosc_data.py I have downloaded the strain data for the whole observing run.

Unfortunately, I haven't found any any newer repositories for such dataset generation, neither public nor internal to LIGO, let alone finding one that's as well-curated as ggwd! Do you know of any successors to ggwd?

I reached out hoping you could point me in the right direction to implementing the functionality I need.

I figured I could supply the GPS times from my list to the variable noise_times that is the noise times generator in the generate_sample.py script, specifically here. I am not sure if it is as simple as this. I would deeply appreciate your feedback on this.

Thank you!