# 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
start`float`

the start value of this `Segment`

end`float`

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` 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

The GPS end time of this segment

start

The GPS start time 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.