Segment

class gwpy.segments.Segment(iterable=(), /)[source]

A tuple defining a semi-open interval [start, end)

Each Segment represents the range of values in a given interval, with general arithmetic supported for combining/comparing overlapping segments.

Parameters:
startfloat

the start value of this Segment

endfloat

the end value of this Segment

Examples

>>> Segment(0, 10) & Segment(5, 15)
Segment(5, 10)
>>> Segment(0, 10) | Segment(5, 15)
Segment(0, 15)
>>> Segment(0, 10) - Segment(5, 15)
Segment(0, 5)
>>> Segment(0, 10) < Segment(5, 15)
True
>>> Segment(1, 2) in Segment(0, 10)
True
>>> Segment(1, 11) in Segment(0, 10)
False
>>> Segment(0, 1)
Segment(0, 1)
>>> Segment(1, 0)
Segment(0, 1)
>>> bool(Segment(0, 1))
True

Attributes Summary

end

The GPS end time of this segment

start

The GPS start time of this segment

Methods Summary

connects(object, /)

Returns True if ths segment and other touch but do not overlap

contract(object, /)

Return a new segment whose bounds are given by adding x to the segment's lower bound and subtracting x from the segment's upper bound.

count(value, /)

Return number of occurrences of value.

disjoint(object, /)

Returns >0 if self covers an interval above other's interval, <0 if self covers an interval below other's, or 0 if the two intervals are not disjoint (intersect or touch).

index(value[, start, stop])

Return first index of value.

intersects(object, /)

Return True if the intersection of self and other is not a null segment.

protract(object, /)

Return a new segment whose bounds are given by subtracting x from the segment's lower bound and adding x to the segment's upper bound.

shift(object, /)

Return a new segment whose bounds are given by adding x to the segment's upper and lower bounds.

Attributes Documentation

end

The GPS end time of this segment

start

The GPS start time of this segment

Methods Documentation

connects(object, /)

Returns True if ths segment and other touch but do not overlap

contract(object, /)

Return a new segment whose bounds are given by adding x to the segment’s lower bound and subtracting x from the segment’s upper bound.

count(value, /)

Return number of occurrences of value.

disjoint(object, /)

Returns >0 if self covers an interval above other’s interval, <0 if self covers an interval below other’s, or 0 if the two intervals are not disjoint (intersect or touch). A return value of 0 indicates the two segments would coalesce.

index(value, start=0, stop=sys.maxsize, /)

Return first index of value.

Raises ValueError if the value is not present.

intersects(object, /)

Return True if the intersection of self and other is not a null segment.

protract(object, /)

Return a new segment whose bounds are given by subtracting x from the segment’s lower bound and adding x to the segment’s upper bound.

shift(object, /)

Return a new segment whose bounds are given by adding x to the segment’s upper and lower bounds.