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 end of this segment.

start

The beginning of this segment.

Methods Summary

connects

Return True if self connects exactly onto other.

contract

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

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

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

protract

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

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

Attributes Documentation

end[source]

The end of this segment.

start[source]

The beginning of this segment.

Methods Documentation

connects()

Return True if self connects exactly onto other.

contract()

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()

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()

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

protract()

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()

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