Injection
gwmock_signal.injection
¶
Time-domain strain injection into GWpy segments.
See docs/user_guide/strain-injection.md (examples) and docs/api/injection/index.md (API).
inject_strain(target, injection, *, interpolate_if_offset=True)
¶
Return a new series equal to target plus injection on overlapping samples.
Uses TimeSeries.is_compatible
to require matching sample spacing and units. The injection is cropped to the
target span when needed. An injection off the target's sample lattice is
resampled onto it with the band-limited windowed-sinc kernel the projection
uses (see interpolate_if_offset).
Whether the injection is on the lattice is decided with an absolute tolerance
derived from the float64 resolution of the GPS timestamps
(:meth:~gwmock_signal.sampling_grid.SamplingGrid.lattice_tolerance_samples),
so a fractional offset is never mistaken for an aligned one however far into
the segment the injection starts.
If nothing is added (no overlap, empty injection after crop, or offset skipped),
returns a copy of target so the result is never the same object as
target.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
target
|
TimeSeries
|
Background segment (e.g. zeros or noise). |
required |
injection
|
TimeSeries
|
Strain to add (e.g. a projected waveform). |
required |
interpolate_if_offset
|
bool
|
If |
True
|
Returns:
| Type | Description |
|---|---|
TimeSeries
|
New |
TimeSeries
|
with injected strain. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If GWpy compatibility checks fail (units, sample rate, etc.). |
Source code in src/gwmock_signal/injection/core.py
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | |
inject_strains_sequential(target, injections, *, interpolate_if_offset=True)
¶
Apply inject_strain to each series in order.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
target
|
TimeSeries
|
Initial segment. |
required |
injections
|
Sequence[TimeSeries]
|
Strain series applied in list order. |
required |
interpolate_if_offset
|
bool
|
Forwarded to each |
True
|
Returns:
| Type | Description |
|---|---|
TimeSeries
|
Final |
TimeSeries
|
If |
Source code in src/gwmock_signal/injection/core.py
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | |
For usage examples, see the User guide — Strain injection examples.