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.