IntervalTree
- class typhon.trees.IntervalTree(intervals)[source]
Tree to implement fast 1-dimensional interval searches.
Based on the description in Wikipedia (https://en.wikipedia.org/wiki/Interval_tree#Centered_interval_tree) and the GitHub repository by tylerkahn (https://github.com/tylerkahn/intervaltree-python).
Examples
Check 1000 intervals on 1000 other intervals:
import numpy as np from typhon.trees import IntervalTree intervals = np.asarray([np.arange(1000)-0.5, np.arange(1000)+0.5]).T tree = IntervalTree(intervals) query_intervals = [[i-1, i+1] for i in range(1000)] results = tree.query(query_intervals)
- __init__(intervals)[source]
Creates an IntervalTree object.
- Parameters:
intervals – A list or numpy.array containing the intervals (list of two numbers).
Methods
__init__
(intervals)Creates an IntervalTree object.
interval_contains
(interval, point)Checks whether a point lies in a interval.
interval_overlaps
(interval1, interval2)Checks whether two intervals overlap each other.
query
(intervals)Find all overlaps between this tree and a list of intervals.
query_points
(points)Find all intervals of this tree which contain one of those points.