SYMBOL INDEX (1114 symbols across 83 files) FILE: benches/batch_sort_iou_tracker.rs function batch_sort_iou_00010 (line 16) | fn batch_sort_iou_00010(b: &mut Bencher) { function batch_sort_iou_00100 (line 21) | fn batch_sort_iou_00100(b: &mut Bencher) { function batch_sort_iou_00500 (line 26) | fn batch_sort_iou_00500(b: &mut Bencher) { function bench_batch_sort (line 30) | fn bench_batch_sort(objects: usize, b: &mut Bencher) { FILE: benches/batch_sort_maha_tracker.rs function batch_sort_maha_00010 (line 15) | fn batch_sort_maha_00010(b: &mut Bencher) { function batch_sort_maha_00100 (line 20) | fn batch_sort_maha_00100(b: &mut Bencher) { function batch_sort_maha_00500 (line 25) | fn batch_sort_maha_00500(b: &mut Bencher) { function bench_batch_sort (line 29) | fn bench_batch_sort(objects: usize, b: &mut Bencher) { FILE: benches/bbox_own_areas.rs function bbox_own_areas_00010 (line 12) | fn bbox_own_areas_00010(b: &mut Bencher) { function bbox_own_areas_00025 (line 17) | fn bbox_own_areas_00025(b: &mut Bencher) { function bbox_own_areas_00050 (line 22) | fn bbox_own_areas_00050(b: &mut Bencher) { function bbox_own_areas_00100 (line 27) | fn bbox_own_areas_00100(b: &mut Bencher) { function bench_bbox_own_areas (line 31) | fn bench_bbox_own_areas(objects: usize, b: &mut Bencher) { FILE: benches/feature_tracker.rs constant FEAT0 (line 17) | const FEAT0: u64 = 0; type NoopAttributes (line 20) | struct NoopAttributes; type Update (line 32) | type Update = NoopAttributesUpdate; type Lookup (line 33) | type Lookup = NoopLookup; method compatible (line 35) | fn compatible(&self, _other: &NoopAttributes) -> bool { method merge (line 39) | fn merge(&mut self, _other: &NoopAttributes) -> anyhow::Result<()> { method baked (line 43) | fn baked(&self, _observations: &ObservationsDb<()>) -> anyhow::Result<... type NoopAttributesUpdate (line 23) | struct NoopAttributesUpdate; method apply (line 26) | fn apply(&self, _attrs: &mut NoopAttributes) -> anyhow::Result<()> { type TrackMetric (line 49) | pub struct TrackMetric; method metric (line 52) | fn metric(&self, mq: &MetricQuery) -> MetricOutput... method optimize (line 63) | fn optimize( method postprocess_distances (line 78) | fn postprocess_distances( function benchmark (line 95) | fn benchmark(objects: usize, flen: usize, b: &mut Bencher) { function ft_0010_256x3 (line 169) | fn ft_0010_256x3(b: &mut Bencher) { function ft_0100_256x3 (line 174) | fn ft_0100_256x3(b: &mut Bencher) { function ft_0500_256x3 (line 179) | fn ft_0500_256x3(b: &mut Bencher) { FILE: benches/kalman_2d_point.rs function kalman_2d_point_100k (line 11) | fn kalman_2d_point_100k(b: &mut Bencher) { FILE: benches/kalman_bbox.rs function kalman_2d_box_100k (line 11) | fn kalman_2d_box_100k(b: &mut Bencher) { FILE: benches/nms.rs function nms_00010 (line 10) | fn nms_00010(b: &mut Bencher) { function nms_00100 (line 15) | fn nms_00100(b: &mut Bencher) { function nms_00300 (line 20) | fn nms_00300(b: &mut Bencher) { function nms_00500 (line 25) | fn nms_00500(b: &mut Bencher) { function nms_01000 (line 30) | fn nms_01000(b: &mut Bencher) { function bench_nms (line 34) | fn bench_nms(objects: usize, b: &mut Bencher) { FILE: benches/nms_oriented.rs function nms_oriented_00010 (line 11) | fn nms_oriented_00010(b: &mut Bencher) { function nms_oriented_00100 (line 16) | fn nms_oriented_00100(b: &mut Bencher) { function nms_oriented_00300 (line 21) | fn nms_oriented_00300(b: &mut Bencher) { function nms_oriented_00500 (line 26) | fn nms_oriented_00500(b: &mut Bencher) { function nms_oriented_01000 (line 31) | fn nms_oriented_01000(b: &mut Bencher) { function bench_nms (line 35) | fn bench_nms(objects: usize, b: &mut Bencher) { FILE: benches/simple_search.rs function simple_0512_0001k (line 14) | fn simple_0512_0001k(b: &mut Bencher) { function simple_0512_0010k (line 19) | fn simple_0512_0010k(b: &mut Bencher) { function simple_0128_001k (line 24) | fn simple_0128_001k(b: &mut Bencher) { function simple_0128_010k (line 29) | fn simple_0128_010k(b: &mut Bencher) { function bench_capacity_len (line 33) | fn bench_capacity_len(vec_len: usize, count: usize, b: &mut Bencher) { FILE: benches/simple_sort_iou_tracker.rs function sort_iou_00010 (line 15) | fn sort_iou_00010(b: &mut Bencher) { function sort_iou_00100 (line 20) | fn sort_iou_00100(b: &mut Bencher) { function sort_iou_00500 (line 25) | fn sort_iou_00500(b: &mut Bencher) { function bench_sort (line 29) | fn bench_sort(objects: usize, b: &mut Bencher) { FILE: benches/simple_sort_iou_tracker_oriented.rs function sort_iou_oriented_00010 (line 17) | fn sort_iou_oriented_00010(b: &mut Bencher) { function sort_iou_oriented_00100 (line 22) | fn sort_iou_oriented_00100(b: &mut Bencher) { function sort_iou_oriented_00500 (line 27) | fn sort_iou_oriented_00500(b: &mut Bencher) { function bench_sort (line 31) | fn bench_sort(objects: usize, b: &mut Bencher) { FILE: benches/simple_sort_maha_tracker.rs function sort_maha_00010 (line 14) | fn sort_maha_00010(b: &mut Bencher) { function sort_maha_00100 (line 19) | fn sort_maha_00100(b: &mut Bencher) { function sort_maha_00500 (line 24) | fn sort_maha_00500(b: &mut Bencher) { function bench_sort (line 28) | fn bench_sort(objects: usize, b: &mut Bencher) { FILE: benches/simple_sort_maha_tracker_oriented.rs function sort_maha_oriented_00010 (line 15) | fn sort_maha_oriented_00010(b: &mut Bencher) { function sort_maha_oriented_00100 (line 20) | fn sort_maha_oriented_00100(b: &mut Bencher) { function sort_maha_oriented_00500 (line 25) | fn sort_maha_oriented_00500(b: &mut Bencher) { function bench_sort (line 29) | fn bench_sort(objects: usize, b: &mut Bencher) { FILE: benches/simple_visual_sort_tracker.rs function visual_sort_iou_00010x3x0128 (line 16) | fn visual_sort_iou_00010x3x0128(b: &mut Bencher) { function visual_sort_iou_00050x3x0128 (line 21) | fn visual_sort_iou_00050x3x0128(b: &mut Bencher) { function visual_sort_iou_00100x3x0128 (line 26) | fn visual_sort_iou_00100x3x0128(b: &mut Bencher) { function visual_sort_iou_00010x3x0256 (line 31) | fn visual_sort_iou_00010x3x0256(b: &mut Bencher) { function visual_sort_iou_00050x3x0256 (line 36) | fn visual_sort_iou_00050x3x0256(b: &mut Bencher) { function visual_sort_iou_00100x3x0256 (line 41) | fn visual_sort_iou_00100x3x0256(b: &mut Bencher) { function visual_sort_iou_00010x3x0512 (line 46) | fn visual_sort_iou_00010x3x0512(b: &mut Bencher) { function visual_sort_iou_00050x3x0512 (line 51) | fn visual_sort_iou_00050x3x0512(b: &mut Bencher) { function visual_sort_iou_00100x3x0512 (line 56) | fn visual_sort_iou_00100x3x0512(b: &mut Bencher) { function visual_sort_iou_00010x3x1024 (line 61) | fn visual_sort_iou_00010x3x1024(b: &mut Bencher) { function visual_sort_iou_00050x3x1024 (line 66) | fn visual_sort_iou_00050x3x1024(b: &mut Bencher) { function visual_sort_iou_00100x3x1024 (line 71) | fn visual_sort_iou_00100x3x1024(b: &mut Bencher) { function visual_sort_iou_00010x3x2048 (line 76) | fn visual_sort_iou_00010x3x2048(b: &mut Bencher) { function visual_sort_iou_00050x3x2048 (line 81) | fn visual_sort_iou_00050x3x2048(b: &mut Bencher) { function visual_sort_iou_00100x3x2048 (line 86) | fn visual_sort_iou_00100x3x2048(b: &mut Bencher) { function bench_visual_sort (line 90) | fn bench_visual_sort(objects: usize, len: usize, b: &mut Bencher) { FILE: benches/track_search.rs function bench_capacity_len (line 14) | fn bench_capacity_len(vec_len: usize, track_len: usize, count: usize, b:... function track_0256_030_100 (line 59) | fn track_0256_030_100(b: &mut Bencher) { function track_0512_030_100 (line 64) | fn track_0512_030_100(b: &mut Bencher) { function track_1024_030_100 (line 69) | fn track_1024_030_100(b: &mut Bencher) { function track_0256_030_01k (line 74) | fn track_0256_030_01k(b: &mut Bencher) { FILE: build.rs function main (line 1) | fn main() { FILE: examples/batch_sort_iou_tracker.rs function main (line 10) | fn main() { FILE: examples/incremental_track_build.rs constant FEAT0 (line 14) | const FEAT0: u64 = 0; constant MAX_DIST (line 15) | const MAX_DIST: f32 = 0.1; type BBoxAttributes (line 18) | struct BBoxAttributes { type Update (line 35) | type Update = BBoxAttributesUpdate; type Lookup (line 36) | type Lookup = NoopLookup; method compatible (line 38) | fn compatible(&self, _other: &BBoxAttributes) -> bool { method merge (line 42) | fn merge(&mut self, other: &BBoxAttributes) -> anyhow::Result<()> { method baked (line 47) | fn baked(&self, _observations: &ObservationsDb) -> anyhow::Result... type BBoxAttributesUpdate (line 23) | struct BBoxAttributesUpdate { method apply (line 28) | fn apply(&self, attrs: &mut BBoxAttributes) -> anyhow::Result<()> { type TrackMetric (line 53) | pub struct TrackMetric; method metric (line 56) | fn metric(&self, mq: &MetricQuery) -> MetricOutpu... method optimize (line 67) | fn optimize( method postprocess_distances (line 82) | fn postprocess_distances( function main (line 93) | fn main() { FILE: examples/middleware_sort_tracker.rs constant FEAT0 (line 12) | const FEAT0: u64 = 0; constant BBOX_HISTORY (line 13) | const BBOX_HISTORY: usize = 100; function main (line 15) | fn main() { FILE: examples/simple.rs function main (line 8) | fn main() { FILE: examples/simple_sort_iou_tracker.rs function main (line 9) | fn main() { FILE: examples/simple_sort_iou_tracker_oriented.rs function main (line 9) | fn main() { FILE: examples/simple_sort_maha_tracker.rs function main (line 8) | fn main() { FILE: examples/simple_sort_maha_tracker_oriented.rs function main (line 8) | fn main() { FILE: examples/track_merging.rs constant FEATURE0 (line 22) | const FEATURE0: u64 = 0; type AppErrors (line 25) | enum AppErrors { type Gender (line 35) | enum Gender { type CamTrackingAttributes (line 44) | struct CamTrackingAttributes { method get_age (line 56) | pub fn get_age(&self) -> Option { method get_gender (line 64) | pub fn get_gender(&self) -> Gender { type Update (line 219) | type Update = CamTrackingAttributesUpdate; type Lookup (line 220) | type Lookup = NoopLookup; method compatible (line 222) | fn compatible(&self, other: &CamTrackingAttributes) -> bool { method merge (line 227) | fn merge(&mut self, other: &CamTrackingAttributes) -> Result<()> { method baked (line 240) | fn baked(&self, _observations: &ObservationsDb) -> Result Result<()> { function cam_tracking_attributes_update_test (line 163) | fn cam_tracking_attributes_update_test() { function feat_gen (line 206) | fn feat_gen() { type CamTrackingAttributesMetric (line 251) | pub struct CamTrackingAttributesMetric { method metric (line 268) | fn metric(&self, mq: &MetricQuery) -> Metr... method optimize (line 279) | fn optimize( method default (line 258) | fn default() -> Self { type TrackObservation (line 300) | struct TrackObservation { method new (line 311) | pub fn new( function main (line 331) | fn main() { FILE: python/bugfixes/bug_vs_1/bug_visual_sort.py function main (line 14) | def main(): FILE: python/bugfixes/github-84.py function create_detections (line 151) | def create_detections(boxes): function main (line 167) | def main(): FILE: python/motchallenge/__main__.py function main (line 17) | def main(config_file_path: str): FILE: python/motchallenge/config.py class TrackerType (line 7) | class TrackerType(Enum): class Tracker (line 16) | class Tracker: class OriginalSortParams (line 24) | class OriginalSortParams: class PositionalMetricType (line 39) | class PositionalMetricType(Enum): class PositionalMetric (line 47) | class PositionalMetric: class SortParams (line 55) | class SortParams: class VisualSortParams (line 87) | class VisualSortParams: class Evaluator (line 94) | class Evaluator: class ConfigSchema (line 102) | class ConfigSchema: class Config (line 113) | class Config(ConfigSchema): class ConfigException (line 119) | class ConfigException(Exception): function load_config (line 123) | def load_config(config_file_path: str) -> Config: FILE: python/motchallenge/evaluator.py function evaluate (line 6) | def evaluate( FILE: python/motchallenge/trackers.py class Tracker (line 23) | class Tracker: method process_frame (line 25) | def process_frame( class OriginalSort (line 34) | class OriginalSort(Tracker): method __init__ (line 35) | def __init__(self, params: OriginalSortParams): method process_frame (line 38) | def process_frame( class SimilariTracker (line 58) | class SimilariTracker(Tracker): method __init__ (line 59) | def __init__(self, params: Union[SortParams, VisualSortParams]): method process_frame (line 90) | def process_frame( FILE: python/motchallenge/utils.py function read_detections (line 6) | def read_detections( function write_csv (line 25) | def write_csv(file_path: Union[str, Path], rows: List[Tuple]): FILE: python/sort/batch_sort_iou_bench.py function bench (line 8) | def bench(n): FILE: python/sort/sort_iou_bench.py function bench (line 7) | def bench(n): FILE: python/visual_sort/batch_visual_sort.py function get_opts (line 12) | def get_opts(): function build_observation (line 45) | def build_observation(obj): function generate_objs (line 71) | def generate_objs(n_objs): function build_prediction_request (line 79) | def build_prediction_request(objs, n_batches): function main (line 95) | def main(n_frames=10, n_objs=6, n_batches=2): FILE: python/visual_sort/visual_sort.py function get_opts (line 10) | def get_opts(): FILE: src/distance.rs function euclidean (line 9) | pub fn euclidean(f1: &Feature, f2: &Feature) -> f32 { function cosine (line 26) | pub fn cosine(f1: &Feature, f2: &Feature) -> f32 { function euclidean_distances (line 57) | fn euclidean_distances() { function cosine_distances (line 68) | fn cosine_distances() { FILE: src/examples.rs type AppError (line 18) | pub enum AppError { type SimpleAttrs (line 26) | pub struct SimpleAttrs { type Update (line 44) | type Update = SimpleAttributeUpdate; type Lookup (line 45) | type Lookup = NoopLookup; method compatible (line 47) | fn compatible(&self, other: &SimpleAttrs) -> bool { method merge (line 51) | fn merge(&mut self, other: &SimpleAttrs) -> Result<()> { method baked (line 59) | fn baked(&self, _observations: &ObservationsDb) -> Result Result<()> { type SimpleMetric (line 69) | pub struct SimpleMetric; method metric (line 72) | fn metric(&self, mq: &MetricQuery<'_, SimpleAttrs, f32>) -> MetricOutp... method optimize (line 83) | fn optimize( type UnboundAttrs (line 97) | pub struct UnboundAttrs; type Update (line 109) | type Update = UnboundAttributeUpdate; type Lookup (line 110) | type Lookup = NoopLookup; method compatible (line 112) | fn compatible(&self, _other: &UnboundAttrs) -> bool { method merge (line 116) | fn merge(&mut self, _other: &UnboundAttrs) -> Result<()> { method baked (line 120) | fn baked(&self, _observations: &ObservationsDb) -> Result Result<()> { type UnboundMetric (line 126) | pub struct UnboundMetric; method metric (line 129) | fn metric(&self, mq: &MetricQuery<'_, UnboundAttrs, f32>) -> MetricOut... method optimize (line 140) | fn optimize( function vec2 (line 153) | pub fn vec2(x: f32, y: f32) -> Feature { type FeatGen2 (line 157) | pub struct FeatGen2 { method new (line 165) | pub fn new(x: f32, y: f32, drift: f32) -> Self { type Item (line 176) | type Item = Observation; method next (line 178) | fn next(&mut self) -> Option { type BoxGen2 (line 188) | pub struct BoxGen2 { method new (line 199) | pub fn new(x: f32, y: f32, width: f32, height: f32, pos_drift: f32, bo... method new_monotonous (line 210) | pub fn new_monotonous( type Item (line 231) | type Item = BoundingBox; method next (line 233) | fn next(&mut self) -> Option { function current_time_span (line 252) | pub fn current_time_span() -> Duration { function current_time_ms (line 257) | pub fn current_time_ms() -> u128 { function current_time_sec (line 262) | pub fn current_time_sec() -> u64 { type FeatGen (line 266) | pub struct FeatGen { method new (line 274) | pub fn new(x: f32, len: usize, drift: f32) -> Self { type Item (line 285) | type Item = Observation<()>; method next (line 287) | fn next(&mut self) -> Option { FILE: src/examples/iou.rs type BBoxAttributes (line 9) | pub struct BBoxAttributes { type Update (line 23) | type Update = BBoxAttributesUpdate; type Lookup (line 24) | type Lookup = NoopLookup; method compatible (line 26) | fn compatible(&self, _other: &BBoxAttributes) -> bool { method merge (line 30) | fn merge(&mut self, other: &BBoxAttributes) -> Result<()> { method baked (line 35) | fn baked(&self, _observations: &ObservationsDb) -> Result... type BBoxAttributesUpdate (line 14) | pub struct BBoxAttributesUpdate; method apply (line 17) | fn apply(&self, _attrs: &mut BBoxAttributes) -> Result<()> { type IOUMetric (line 41) | pub struct IOUMetric { method metric (line 52) | fn metric(&self, mq: &MetricQuery<'_, BBoxAttributes, BoundingBox>) ->... method optimize (line 67) | fn optimize( method default (line 46) | fn default() -> Self { FILE: src/lib.rs type Errors (line 44) | pub enum Errors { constant EPS (line 80) | pub const EPS: f32 = 0.00001; function version (line 113) | pub fn version() -> String { function similari (line 119) | fn similari(m: &Bound<'_, PyModule>) -> PyResult<()> { FILE: src/track.rs type ObservationMetricOk (line 20) | pub struct ObservationMetricOk function new (line 38) | pub fn new( type Feature (line 55) | pub type Feature = Vec; constant FEATURE_LANES_SIZE (line 58) | const FEATURE_LANES_SIZE: usize = 8; type Observation (line 67) | pub struct Observation(pub(crate) Option, pub(crate) Option) function new (line 75) | pub fn new(attrs: Option, feature: Option) -> Self { function attr (line 81) | pub fn attr(&self) -> &Option { function attr_mut (line 87) | pub fn attr_mut(&mut self) -> &mut Option { function feature (line 93) | pub fn feature(&self) -> &Option { function feature_mut (line 99) | pub fn feature_mut(&mut self) -> &mut Option { type ObservationsDb (line 108) | pub type ObservationsDb = HashMap>>; type ObservationAttributes (line 112) | pub trait ObservationAttributes: Send + Sync + Clone + 'static { method calculate_metric_object (line 114) | fn calculate_metric_object(l: &Option<&Self>, r: &Option<&Self>) -> Op... type MetricOutput (line 125) | pub type MetricOutput = Option<(Option, Option)>; type MetricQuery (line 134) | pub struct MetricQuery<'a, TA, OA: ObservationAttributes> { type ObservationMetric (line 152) | pub trait ObservationMetric: Send + Sync ... method metric (line 158) | fn metric(&self, mq: &'_ MetricQuery<'_, TA, OA>) -> MetricOutput: Send + Sync + Clone + 'static method lookup (line 220) | fn lookup( type NoopLookup (line 236) | pub struct NoopLookup method clone (line 250) | fn clone(&self) -> Self { method default (line 263) | fn default() -> Self { function lookup (line 276) | fn lookup( type TrackAttributes (line 291) | pub trait TrackAttributes, OA: ObservationAt... method compatible (line 304) | fn compatible(&self, other: &TA) -> bool; method merge (line 312) | fn merge(&mut self, other: &TA) -> Result<()>; method baked (line 322) | fn baked(&self, observations: &ObservationsDb) -> Result: Clone + Send + Sync + 'static { method apply (line 332) | fn apply(&self, attrs: &mut TA) -> Result<()>; type Track (line 344) | pub struct Track function new (line 372) | pub fn new(track_id: u64, metric: M, attributes: TA, notifier: N) -> Self { function get_track_id (line 387) | pub fn get_track_id(&self) -> u64 { function set_track_id (line 393) | pub fn set_track_id(&mut self, track_id: u64) -> u64 { function get_attributes (line 401) | pub fn get_attributes(&self) -> &TA { function get_observations (line 405) | pub fn get_observations(&self, feature_class: u64) -> Option<&Vec &Vec { function get_feature_classes (line 424) | pub fn get_feature_classes(&self) -> Vec { function update_attributes (line 428) | fn update_attributes(&mut self, update: &TA::Update) -> Result<()> { function add_observation (line 447) | pub fn add_observation( function merge (line 522) | pub fn merge(&mut self, other: &Self, classes: &[u64], merge_history: bo... function distances (line 604) | pub fn distances( function lookup (line 654) | pub fn lookup(&self, query: &TA::Lookup) -> bool { type DefaultAttrs (line 674) | pub struct DefaultAttrs; type Update (line 686) | type Update = DefaultAttrUpdates; type Lookup (line 687) | type Lookup = NoopLookup; method compatible (line 689) | fn compatible(&self, _other: &DefaultAttrs) -> bool { method merge (line 693) | fn merge(&mut self, _other: &DefaultAttrs) -> Result<()> { method baked (line 697) | fn baked(&self, _observations: &ObservationsDb) -> Result Result<()> { type DefaultMetric (line 703) | struct DefaultMetric; method metric (line 705) | fn metric(&self, mq: &MetricQuery<'_, DefaultAttrs, f32>) -> MetricOut... method optimize (line 716) | fn optimize( function init (line 732) | fn init() { function track_distances (line 738) | fn track_distances() -> Result<()> { function merge_same (line 783) | fn merge_same() -> Result<()> { function merge_other_feature_class (line 806) | fn merge_other_feature_class() -> Result<()> { function attribute_compatible_match (line 830) | fn attribute_compatible_match() -> Result<()> { function get_classes (line 940) | fn get_classes() -> Result<()> { function attr_metric_update_recover (line 964) | fn attr_metric_update_recover() { function merge_history (line 1107) | fn merge_history() -> Result<()> { function unit_track (line 1136) | fn unit_track() { function lookup (line 1199) | fn lookup() { FILE: src/track/builder.rs type TrackBuilderObservationRepr (line 6) | type TrackBuilderObservationRepr = (u64, Option, Option function new (line 31) | pub fn new(feature_class: u64) -> Self { function observation_attributes (line 42) | pub fn observation_attributes(mut self, attrs: OA) -> Self { function observation (line 49) | pub fn observation(mut self, observation: Feature) -> Self { function track_attributes_update (line 56) | pub fn track_attributes_update(mut self, upd: TAU) -> Self { function build (line 63) | pub fn build(self) -> TrackBuilderObservationRepr { type TrackBuilder (line 75) | pub struct TrackBuilder method default (line 96) | fn default() -> Self { function new (line 114) | pub fn new(id: u64) -> TrackBuilder { function attributes (line 124) | pub fn attributes(mut self, track_attrs: TA) -> Self { function metric (line 133) | pub fn metric(mut self, metric: M) -> Self { function notifier (line 142) | pub fn notifier(mut self, notifier: N) -> Self { function observation (line 156) | pub fn observation(mut self, observation: TrackBuilderObservationRepr Result> { function builder_id (line 192) | fn builder_id() -> Result<()> { function builder_noid (line 210) | fn builder_noid() -> Result<()> { FILE: src/track/notify.rs type ChangeNotifier (line 1) | pub trait ChangeNotifier: Clone + Sync + Send + 'static { method send (line 2) | fn send(&mut self, id: u64); method send (line 9) | fn send(&mut self, _id: u64) {} type NoopNotifier (line 6) | pub struct NoopNotifier; FILE: src/track/store.rs type Commands (line 22) | enum Commands type StoreMutexGuard (line 50) | pub type StoreMutexGuard<'a, TA, M, FA, N> = MutexGuard<'a, HashMap = Result type FutureMergeResponse (line 71) | pub struct FutureMergeResponse function get (line 83) | pub fn get(&self) -> Result<()> { function is_ready (line 92) | pub fn is_ready(&self) -> bool { type ObservationMetricErr (line 98) | pub type ObservationMetricErr = Result>>; type TrackStore (line 113) | pub struct TrackStore method drop (line 138) | fn drop(&mut self) { function handle_store_ops (line 167) | fn handle_store_ops( function new (line 318) | pub fn new(metric: M, default_attributes: TA, notifier: N, shards: usize... function find_usable (line 355) | pub fn find_usable(&mut self) -> Vec<(u64, Result)> { function shard_stats (line 378) | pub fn shard_stats(&self) -> Vec { function fetch_tracks (line 388) | pub fn fetch_tracks(&mut self, tracks: &[u64]) -> Vec TrackBuilder { function new_track_random_id (line 414) | pub fn new_track_random_id(&self) -> TrackBuilder { function foreign_track_distances (line 429) | pub fn foreign_track_distances( function owned_track_distances (line 471) | pub fn owned_track_distances( function get_store (line 490) | pub fn get_store(&self, id: usize) -> StoreMutexGuard<'_, TA, M, OA, N> { function get_executor (line 497) | pub fn get_executor(&self, id: usize) -> usize { function add_track (line 510) | pub fn add_track(&mut self, track: Track) -> Result { function add (line 530) | pub fn add( function merge_owned (line 584) | pub fn merge_owned( function merge_external_noblock (line 625) | pub fn merge_external_noblock( function merge_external (line 677) | pub fn merge_external( function lookup (line 697) | pub fn lookup(&self, q: TA::Lookup) -> Vec<(u64, Result)> { function clear (line 720) | pub fn clear(&self) { FILE: src/track/store/builder.rs type TrackStoreBuilder (line 8) | pub struct TrackStoreBuilder method default (line 32) | fn default() -> TrackStoreBuilder { function new (line 49) | pub fn new(shards: usize) -> Self { function metric (line 61) | pub fn metric(mut self, metric: M) -> Self { function notifier (line 72) | pub fn notifier(mut self, notifier: N) -> Self { function default_attributes (line 83) | pub fn default_attributes(mut self, attrs: TA) -> Self { function build (line 94) | pub fn build(self) -> TrackStore { FILE: src/track/store/store_tests.rs type TimeAttrs (line 19) | pub struct TimeAttrs { type Update (line 41) | type Update = TimeAttrUpdates; type Lookup (line 42) | type Lookup = NoopLookup; method compatible (line 44) | fn compatible(&self, other: &TimeAttrs) -> bool { method merge (line 48) | fn merge(&mut self, other: &TimeAttrs) -> Result<()> { method baked (line 54) | fn baked(&self, _observations: &ObservationsDb) -> Result Result<()> { type TimeMetric (line 64) | struct TimeMetric { method metric (line 69) | fn metric(&self, mq: &MetricQuery) -> MetricOutput { method optimize (line 80) | fn optimize( function new_default_store (line 96) | fn new_default_store() -> Result<()> { function new_store_10_shards (line 107) | fn new_store_10_shards() -> Result<()> { function time_attrs_current_ts (line 130) | fn time_attrs_current_ts() -> Option { function sharding_n_fetch (line 137) | fn sharding_n_fetch() -> Result<()> { function general_ops (line 182) | fn general_ops() -> Result<()> { function baked_similarity (line 298) | fn baked_similarity() -> Result<()> { function all_similarity (line 364) | fn all_similarity() -> Result<()> { function add_track_ok (line 428) | fn add_track_ok() -> Result<()> { function add_track_dup_id (line 470) | fn add_track_dup_id() -> Result<()> { function merge_ext_tracks (line 513) | fn merge_ext_tracks() -> Result<()> { function merge_own_tracks (line 572) | fn merge_own_tracks() -> Result<()> { function lookup (line 614) | fn lookup() { FILE: src/track/store/track_distance.rs type TrackDistanceResponse (line 8) | trait TrackDistanceResponse: IntoIterator method get_all (line 13) | fn get_all(&self) -> Vec { method count (line 22) | fn count(&self) -> usize; method elt (line 23) | fn elt(&self, res: Results) -> Vec; method extend (line 24) | fn extend(output: &mut Vec, elt: Vec); method channel (line 25) | fn channel(&self) -> &Receiver>; type TrackDistanceOk (line 30) | pub struct TrackDistanceOk type TrackDistanceOkIterator (line 38) | pub struct TrackDistanceOkIterator type TrackDistanceErrIterator (line 47) | pub struct TrackDistanceErrIterator function all (line 60) | pub fn all(self) -> Vec> { function new (line 64) | pub(crate) fn new(count: usize, channel: Receiver>) -> Self { type TrackDistanceErr (line 71) | pub struct TrackDistanceErr function all (line 83) | pub fn all(self) -> Vec> { function new (line 87) | pub(crate) fn new(count: usize, channel: Receiver>) -> Self { type Item (line 96) | type Item = ObservationMetricOk; method next (line 98) | fn next(&mut self) -> Option { type Item (line 123) | type Item = ObservationMetricErr; method next (line 125) | fn next(&mut self) -> Option { type Item (line 150) | type Item = ObservationMetricOk; type IntoIter (line 151) | type IntoIter = TrackDistanceOkIterator; method into_iter (line 153) | fn into_iter(self) -> Self::IntoIter { type Item (line 166) | type Item = ObservationMetricErr; type IntoIter (line 167) | type IntoIter = TrackDistanceErrIterator; method into_iter (line 169) | fn into_iter(self) -> Self::IntoIter { type Output (line 182) | type Output = ObservationMetricOk; function count (line 184) | fn count(&self) -> usize { function elt (line 188) | fn elt(&self, res: Results) -> Vec { function extend (line 197) | fn extend(output: &mut Vec, elt: Vec) { function channel (line 201) | fn channel(&self) -> &Receiver> { type Output (line 210) | type Output = ObservationMetricErr; function count (line 212) | fn count(&self) -> usize { function elt (line 216) | fn elt(&self, res: Results) -> Vec { function extend (line 224) | fn extend(output: &mut Vec, elt: Vec) { function channel (line 228) | fn channel(&self) -> &Receiver> { type MockAttrs (line 246) | struct MockAttrs; type Update (line 258) | type Update = MockAttrsUpdate; type Lookup (line 259) | type Lookup = NoopLookup; method compatible (line 261) | fn compatible(&self, _other: &MockAttrs) -> bool { method merge (line 265) | fn merge(&mut self, _other: &MockAttrs) -> Result<()> { method baked (line 269) | fn baked(&self, _observations: &ObservationsDb) -> Result Result<()> { type MockMetric (line 275) | pub struct MockMetric; method metric (line 278) | fn metric(&self, mq: &MetricQuery) -> MetricOutput { method optimize (line 289) | fn optimize( function result_iterators (line 303) | fn result_iterators() { FILE: src/track/utils.rs function feature_attributes_sort_dec (line 8) | pub fn feature_attributes_sort_dec( function feature_attributes_sort_inc (line 18) | pub fn feature_attributes_sort_inc( function from_vec (line 26) | fn from_vec(vec: &Feature) -> Vec { method from_vec (line 38) | fn from_vec(vec: Vec) -> Feature { method from_vec (line 46) | fn from_vec(vec: &Vec) -> Feature { type FromVec (line 75) | pub trait FromVec { method from_vec (line 76) | fn from_vec(vec: V) -> R; function conv_tests (line 85) | fn conv_tests() { FILE: src/track/voting.rs type Voting (line 12) | pub trait Voting method winners (line 26) | fn winners(&self, distances: T) -> HashMap function new (line 37) | pub fn new(max_distance: f32, min_votes: usize) -> Self { type WinnerObject (line 50) | type WinnerObject = TopNVotingElt; function winners (line 52) | fn winners(&self, distances: T) -> HashMap> FILE: src/track/voting/topn.rs type TopNVoting (line 16) | pub struct TopNVoting function new (line 37) | pub fn new(topn: usize, max_distance: f32, min_votes: usize) -> Self { type TopNVotingElt (line 50) | pub struct TopNVotingElt { method new (line 59) | pub fn new(query_track: u64, winner_track: u64, weight: f64) -> Self { type WinnerObject (line 72) | type WinnerObject = TopNVotingElt; function winners (line 74) | fn winners(&self, distances: T) -> HashMap> function default_voting (line 146) | fn default_voting() { function two_query_vecs (line 230) | fn two_query_vecs() { FILE: src/trackers/batch.rs type BatchRecords (line 8) | pub type BatchRecords = HashMap>; type SceneTracks (line 9) | pub type SceneTracks = (u64, Vec); type PredictionBatchRequest (line 12) | pub struct PredictionBatchRequest { type PredictionBatchResult (line 19) | pub struct PredictionBatchResult { method ready (line 25) | pub fn ready(&self) -> bool { method get (line 29) | pub fn get(&self) -> SceneTracks { method batch_size (line 35) | pub fn batch_size(&self) -> usize { type PySceneTracks (line 47) | pub type PySceneTracks = (u64, Vec); type PyPredictionBatchResult (line 52) | pub struct PyPredictionBatchResult(pub(crate) PredictionBatchResult); method ready (line 56) | pub fn ready(&self) -> bool { method get (line 61) | fn get(&self) -> PySceneTracks { method batch_size (line 65) | pub fn batch_size(&self) -> usize { function get_sender (line 72) | pub fn get_sender(&self) -> Sender { function send (line 77) | pub(crate) fn send(&self, res: SceneTracks) -> bool { function batch_size (line 90) | pub fn batch_size(&self) -> usize { function add (line 94) | pub fn add(&mut self, scene_id: u64, elt: T) { function new (line 105) | pub fn new() -> (Self, PredictionBatchResult) { function get_batch (line 121) | pub fn get_batch(&self) -> &BatchRecords { function test (line 132) | fn test() { FILE: src/trackers/epoch_db.rs type EpochDb (line 6) | pub trait EpochDb { method epoch_db (line 7) | fn epoch_db(&self) -> &Option>>; method max_idle_epochs (line 8) | fn max_idle_epochs(&self) -> usize; method skip_epochs_for_scene (line 10) | fn skip_epochs_for_scene(&self, scene_id: u64, n: usize) { method current_epoch_with_scene (line 21) | fn current_epoch_with_scene(&self, scene_id: u64) -> Option { method next_epoch (line 35) | fn next_epoch(&self, scene_id: u64) -> Option { method baked (line 51) | fn baked(&self, scene_id: u64, last_updated: usize) -> Result Option>; method set_state (line 7) | fn set_state(&mut self, state: KalmanState<{ DIM_2D_BOX_X2 }>); method get_position_weight (line 9) | fn get_position_weight(&self) -> f32; method get_velocity_weight (line 11) | fn get_velocity_weight(&self) -> f32; method make_prediction (line 13) | fn make_prediction(&mut self, observation_bbox: &Universal2DBox) -> Un... FILE: src/trackers/sort.rs constant DEFAULT_SORT_IOU_THRESHOLD (line 31) | pub const DEFAULT_SORT_IOU_THRESHOLD: f32 = 0.3; type SortAttributesOptions (line 34) | pub struct SortAttributesOptions { method new (line 70) | pub fn new( method default (line 47) | fn default() -> Self { method epoch_db (line 60) | fn epoch_db(&self) -> &Option>> { method max_idle_epochs (line 64) | fn max_idle_epochs(&self) -> usize { type SortAttributes (line 92) | pub struct SortAttributes { method new (line 150) | pub fn new(opts: Arc) -> Self { method update_history (line 157) | fn update_history( type Update (line 247) | type Update = SortAttributesUpdate; type Lookup (line 248) | type Lookup = SortLookup; method compatible (line 250) | fn compatible(&self, other: &SortAttributes) -> bool { method merge (line 272) | fn merge(&mut self, other: &SortAttributes) -> Result<()> { method baked (line 278) | fn baked(&self, _observations: &ObservationsDb) -> Res... method get_state (line 112) | fn get_state(&self) -> Option> { method set_state (line 116) | fn set_state(&mut self, state: KalmanState<{ DIM_2D_BOX_X2 }>) { method get_position_weight (line 120) | fn get_position_weight(&self) -> f32 { method get_velocity_weight (line 124) | fn get_velocity_weight(&self) -> f32 { method default (line 130) | fn default() -> Self { type SortAttributesUpdate (line 177) | pub struct SortAttributesUpdate { method new (line 216) | pub fn new(epoch: usize, custom_object_id: Option) -> Self { method new_with_scene (line 228) | pub fn new_with_scene(epoch: usize, scene_id: u64, custom_object_id: O... method apply (line 238) | fn apply(&self, attrs: &mut SortAttributes) -> Result<()> { type SortLookup (line 186) | pub enum SortLookup { method lookup (line 191) | fn lookup( type SortTrack (line 286) | pub struct SortTrack { type WastedSortTrack (line 316) | pub struct WastedSortTrack { method from (line 344) | fn from(track: Track) -> S... type VotingType (line 360) | pub enum VotingType { type PositionalMetricType (line 367) | pub enum PositionalMetricType { type AutoWaste (line 373) | pub struct AutoWaste { constant DEFAULT_AUTO_WASTE_PERIODICITY (line 378) | pub(crate) const DEFAULT_AUTO_WASTE_PERIODICITY: usize = 100; constant MAHALANOBIS_NEW_TRACK_THRESHOLD (line 379) | pub(crate) const MAHALANOBIS_NEW_TRACK_THRESHOLD: f32 = 1.0; type PyPositionalMetricType (line 392) | pub struct PyPositionalMetricType(pub PositionalMetricType); method maha (line 397) | pub fn maha() -> Self { method iou (line 402) | pub fn iou(threshold: f32) -> Self { constant __hash__ (line 412) | const __hash__: Option> = None; method __repr__ (line 414) | fn __repr__(&self) -> String { method __str__ (line 418) | fn __str__(&self) -> String { type PySortTrack (line 427) | pub struct PySortTrack(pub(crate) SortTrack); constant __hash__ (line 432) | const __hash__: Option> = None; method __repr__ (line 434) | fn __repr__(&self) -> String { method __str__ (line 438) | fn __str__(&self) -> String { method get_id (line 443) | fn get_id(&self) -> u64 { method get_epoch (line 448) | fn get_epoch(&self) -> usize { method get_predicted_bbox (line 453) | fn get_predicted_bbox(&self) -> PyUniversal2DBox { method get_observed_bbox (line 458) | fn get_observed_bbox(&self) -> PyUniversal2DBox { method get_scene_id (line 463) | fn get_scene_id(&self) -> u64 { method get_length (line 468) | fn get_length(&self) -> usize { method get_voting_type (line 473) | fn get_voting_type(&self) -> PyVotingType { method get_custom_object_id (line 478) | fn get_custom_object_id(&self) -> Option { type PyWastedSortTrack (line 487) | pub struct PyWastedSortTrack(pub(crate) WastedSortTrack); constant __hash__ (line 492) | const __hash__: Option> = None; method __repr__ (line 494) | fn __repr__(&self) -> String { method __str__ (line 498) | fn __str__(&self) -> String { method id (line 503) | fn id(&self) -> u64 { method epoch (line 508) | fn epoch(&self) -> usize { method predicted_bbox (line 513) | fn predicted_bbox(&self) -> PyUniversal2DBox { method observed_bbox (line 518) | fn observed_bbox(&self) -> PyUniversal2DBox { method scene_id (line 523) | fn scene_id(&self) -> u64 { method length (line 528) | fn length(&self) -> usize { method predicted_boxes (line 533) | fn predicted_boxes(&self) -> Vec { method observed_boxes (line 538) | fn observed_boxes(&self) -> Vec { type PyVotingType (line 546) | pub struct PyVotingType(pub VotingType); constant __hash__ (line 551) | const __hash__: Option> = None; method __repr__ (line 553) | fn __repr__(&self) -> String { method __str__ (line 557) | fn __str__(&self) -> String { function construct (line 573) | fn construct() { FILE: src/trackers/sort/batch_api.rs type VotingSenderChannel (line 28) | type VotingSenderChannel = Sender; type VotingReceiverChannel (line 29) | type VotingReceiverChannel = Receiver; type MiddlewareSortTrackStore (line 31) | type MiddlewareSortTrackStore = TrackStore, Condvar)>; type VotingCommands (line 35) | enum VotingCommands { type BatchSort (line 46) | pub struct BatchSort { method new (line 157) | pub fn new( method predict (line 222) | pub fn predict( method idle_tracks (line 292) | pub fn idle_tracks(&mut self) -> Vec { method idle_tracks_with_scene (line 296) | pub fn idle_tracks_with_scene(&mut self, scene_id: u64) -> Vec &mut AutoWaste { method get_opts (line 318) | fn get_opts(&self) -> &SortAttributesOptions { method get_main_store_mut (line 322) | fn get_main_store_mut(&mut self) -> RwLockWriteGuard RwLockWriteGuard RwLockReadGuard { method get_wasted_store (line 334) | fn get_wasted_store(&self) -> RwLockReadGuard { method drop (line 56) | fn drop(&mut self) { function voting_thread (line 68) | fn voting_thread( type SortPredictionBatchRequest (line 340) | pub struct SortPredictionBatchRequest { method new (line 346) | pub fn new() -> Self { method add (line 355) | pub fn add(&mut self, scene_id: u64, bbox: Universal2DBox, custom_obje... method default (line 361) | fn default() -> Self { type PyBatchSort (line 386) | pub struct PyBatchSort(pub(crate) BatchSort); method new (line 403) | pub fn new( method skip_epochs (line 432) | fn skip_epochs(&mut self, n: i64) { method skip_epochs_for_scene (line 438) | fn skip_epochs_for_scene(&mut self, scene_id: i64, n: i64) { method shard_stats (line 447) | fn shard_stats(&self) -> Vec { method current_epoch (line 465) | fn current_epoch(&self) -> i64 { method current_epoch_with_scene (line 477) | fn current_epoch_with_scene(&self, scene_id: i64) -> isize { method predict (line 491) | fn predict(&mut self, mut batch: PySortPredictionBatchRequest) -> PyPr... method wasted (line 499) | fn wasted(&mut self) -> Vec { method clear_wasted (line 515) | pub fn clear_wasted(&mut self) { method idle_tracks (line 524) | pub fn idle_tracks(&mut self, scene_id: i64) -> Vec { type PySortPredictionBatchRequest (line 536) | pub struct PySortPredictionBatchRequest(pub(crate) SortPredictionBatchRe... method new (line 541) | fn new() -> Self { method add (line 546) | fn add(&mut self, scene_id: u64, bbox: PyUniversal2DBox, custom_object... function new_drop (line 561) | fn new_drop() { FILE: src/trackers/sort/metric.rs constant DEFAULT_MINIMAL_SORT_CONFIDENCE (line 11) | pub const DEFAULT_MINIMAL_SORT_CONFIDENCE: f32 = 0.05; type SortMetric (line 14) | pub struct SortMetric { method new (line 29) | pub fn new(method: PositionalMetricType, min_confidence: f32) -> Self { method metric (line 38) | fn metric(&self, mq: &MetricQuery) -> ... method optimize (line 79) | fn optimize( method postprocess_distances (line 107) | fn postprocess_distances( method default (line 20) | fn default() -> Self { function confidence_preserved_during_optimization (line 131) | fn confidence_preserved_during_optimization() { function confidence_used_in_distance_calculation (line 163) | fn confidence_used_in_distance_calculation() { FILE: src/trackers/sort/simple_api.rs type Sort (line 22) | pub struct Sort { method new (line 41) | pub fn new( method predict (line 95) | pub fn predict(&mut self, bboxes: &[(Universal2DBox, Option)]) ->... method gen_track_id (line 99) | fn gen_track_id(&mut self) -> u64 { method predict_with_scene (line 110) | pub fn predict_with_scene( method idle_tracks (line 198) | pub fn idle_tracks(&mut self) -> Vec { method idle_tracks_with_scene (line 202) | pub fn idle_tracks_with_scene(&mut self, scene_id: u64) -> Vec &mut AutoWaste { method get_opts (line 224) | fn get_opts(&self) -> &SortAttributesOptions { method get_main_store_mut (line 228) | fn get_main_store_mut( method get_wasted_store_mut (line 235) | fn get_wasted_store_mut( method get_main_store (line 242) | fn get_main_store( method get_wasted_store (line 248) | fn get_wasted_store( method from (line 256) | fn from(track: &Track) -> Se... function sort (line 281) | fn sort() { function sort_with_scenes (line 345) | fn sort_with_scenes() { function idle_tracks (line 373) | fn idle_tracks() { function clear_wasted_tracks (line 398) | fn clear_wasted_tracks() { type PySort (line 456) | pub struct PySort(pub Sort); method new_py (line 472) | pub fn new_py( method skip_epochs (line 497) | pub fn skip_epochs(&mut self, n: i64) { method skip_epochs_for_scene (line 503) | pub fn skip_epochs_for_scene(&mut self, scene_id: i64, n: i64) { method shard_stats (line 512) | pub fn shard_stats(&self) -> Vec { method current_epoch (line 530) | pub fn current_epoch(&self) -> i64 { method current_epoch_with_scene (line 540) | pub fn current_epoch_with_scene(&self, scene_id: i64) -> isize { method predict (line 554) | pub fn predict( method predict_with_scene (line 568) | pub fn predict_with_scene( method wasted (line 589) | pub fn wasted(&mut self) -> Vec { method clear_wasted (line 605) | pub fn clear_wasted(&mut self) { method idle_tracks (line 614) | pub fn idle_tracks(&mut self) -> Vec { method idle_tracks_with_scene (line 621) | pub fn idle_tracks_with_scene(&mut self, scene_id: i64) -> Vec(&self, distances: T) -> HashMap Self { method new (line 32) | pub fn new() -> Self { method add_constraints (line 36) | pub fn add_constraints(&mut self, constraints: Vec<(usize, f32)>) { method validate (line 48) | pub fn validate(&self, epoch_delta: usize, dist: f32) -> bool { type PySpatioTemporalConstraints (line 71) | pub struct PySpatioTemporalConstraints(pub(crate) SpatioTemporalConstrai... method new (line 76) | pub fn new() -> Self { method add_constraints (line 86) | pub fn add_constraints(&mut self, constraints: Vec<(usize, f32)>) { method validate (line 93) | pub fn validate(&self, epoch_delta: usize, dist: f32) -> bool { function test (line 104) | fn test() { FILE: src/trackers/tracker_api.rs type TrackerAPI (line 9) | pub trait TrackerAPI method get_auto_waste_obj_mut (line 17) | fn get_auto_waste_obj_mut(&mut self) -> &mut AutoWaste; method get_opts (line 18) | fn get_opts(&self) -> &E; method get_main_store_mut (line 19) | fn get_main_store_mut(&mut self) -> RwLockWriteGuard RwLockWriteGuard RwLockReadGuard>; method get_wasted_store (line 23) | fn get_wasted_store(&self) -> RwLockReadGuard>; method set_auto_waste (line 27) | fn set_auto_waste(&mut self, periodicity: usize) { method skip_epochs (line 38) | fn skip_epochs(&mut self, n: usize) { method skip_epochs_for_scene (line 48) | fn skip_epochs_for_scene(&mut self, scene_id: u64, n: usize) { method current_epoch (line 55) | fn current_epoch(&self) -> usize { method current_epoch_with_scene (line 64) | fn current_epoch_with_scene(&self, scene_id: u64) -> usize { method get_main_store_wasted (line 70) | fn get_main_store_wasted(&mut self) -> Vec> { method auto_waste (line 81) | fn auto_waste(&mut self) { method wasted (line 90) | fn wasted(&mut self) -> Vec> { method active_shard_stats (line 104) | fn active_shard_stats(&self) -> Vec { method wasted_shard_stats (line 110) | fn wasted_shard_stats(&self) -> Vec { method clear_wasted (line 115) | fn clear_wasted(&self) { FILE: src/trackers/visual_sort.rs type VisualSortObservation (line 35) | pub struct VisualSortObservation<'a> { function new (line 43) | pub fn new( type VisualSortObservationSet (line 59) | pub struct VisualSortObservationSet<'a> { function new (line 64) | pub fn new() -> Self { function add (line 70) | pub fn add(&mut self, observation: VisualSortObservation<'a>) { method default (line 76) | fn default() -> Self { type WastedVisualSortTrack (line 84) | pub struct WastedVisualSortTrack { method from (line 125) | fn from(track: Track> = None; method __repr__ (line 162) | fn __repr__(&self) -> String { method __str__ (line 166) | fn __str__(&self) -> String { method id (line 171) | fn id(&self) -> u64 { method epoch (line 176) | fn epoch(&self) -> usize { method predicted_bbox (line 181) | fn predicted_bbox(&self) -> PyUniversal2DBox { method observed_bbox (line 186) | fn observed_bbox(&self) -> PyUniversal2DBox { method scene_id (line 191) | fn scene_id(&self) -> u64 { method length (line 196) | fn length(&self) -> usize { method predicted_boxes (line 201) | fn predicted_boxes(&self) -> Vec { method observed_boxes (line 206) | fn observed_boxes(&self) -> Vec { method observed_features (line 211) | fn observed_features(&self) -> Vec>> { type PyVisualSortObservation (line 219) | pub struct PyVisualSortObservation(pub(crate) VisualSortObservation<'sta... method new (line 225) | pub fn new( constant __hash__ (line 240) | const __hash__: Option> = None; method __repr__ (line 242) | fn __repr__(&self) -> String { method __str__ (line 246) | fn __str__(&self) -> String { type PyVisualSortObservationSet (line 254) | pub struct PyVisualSortObservationSet(pub(crate) VisualSortObservationSe... method new (line 259) | fn new() -> Self { method add (line 264) | fn add(&mut self, observation: PyVisualSortObservation) { constant __hash__ (line 269) | const __hash__: Option> = None; method __repr__ (line 271) | fn __repr__(&self) -> String { method __str__ (line 275) | fn __str__(&self) -> String { FILE: src/trackers/visual_sort/batch_api.rs type VotingSenderChannel (line 33) | type VotingSenderChannel = Sender; type VotingReceiverChannel (line 34) | type VotingReceiverChannel = Receiver; type MiddlewareVisualSortTrackStore (line 36) | type MiddlewareVisualSortTrackStore = type MiddlewareSortTrack (line 38) | type MiddlewareSortTrack = Track, Condvar)>; type VotingCommands (line 41) | enum VotingCommands { type BatchVisualSort (line 54) | pub struct BatchVisualSort { method new (line 161) | pub fn new(distance_shards: usize, voting_shards: usize, opts: &Visual... method predict (line 213) | pub fn predict(&mut self, batch_request: PredictionBatchRequest Vec { method idle_tracks_with_scene (line 323) | pub fn idle_tracks_with_scene(&mut self, scene_id: u64) -> Vec &mut AutoWaste { method get_opts (line 351) | fn get_opts(&self) -> &SortAttributesOptions { method get_main_store_mut (line 355) | fn get_main_store_mut(&mut self) -> RwLockWriteGuard RwLockWriteGuard RwLockReadGuard RwLockReadGuard { function new (line 463) | pub fn new() -> Self { function prediction (line 471) | pub fn prediction(&mut self) -> Option { function add (line 475) | pub fn add(&mut self, scene_id: u64, elt: VisualSortObservation<'a>) { method default (line 481) | fn default() -> Self { type PyBatchVisualSort (line 508) | pub struct PyBatchVisualSort(pub(crate) BatchVisualSort); method new (line 514) | pub fn new(distance_shards: i64, voting_shards: i64, opts: &PyVisualSo... method skip_epochs (line 525) | fn skip_epochs(&mut self, n: i64) { method skip_epochs_for_scene (line 531) | fn skip_epochs_for_scene(&mut self, scene_id: i64, n: i64) { method shard_stats (line 540) | fn shard_stats(&self) -> Vec { method current_epoch (line 558) | fn current_epoch(&self) -> i64 { method current_epoch_with_scene (line 570) | fn current_epoch_with_scene(&self, scene_id: i64) -> isize { method predict (line 584) | fn predict( method wasted (line 611) | fn wasted(&mut self) -> Vec { method clear_wasted (line 627) | pub fn clear_wasted(&mut self) { method idle_tracks (line 634) | pub fn idle_tracks(&mut self, scene_id: i64) -> Vec { type PyVisualSortPredictionBatchRequest (line 646) | pub(crate) struct PyVisualSortPredictionBatchRequest( method new (line 653) | fn new() -> Self { method prediction (line 657) | fn prediction(&mut self) -> Option { method add (line 661) | fn add(&mut self, scene_id: u64, elt: PyVisualSortObservation) { FILE: src/trackers/visual_sort/metric.rs type VisualSortMetricType (line 21) | pub enum VisualSortMetricType { method euclidean (line 33) | pub fn euclidean(threshold: f32) -> Self { method cosine (line 38) | pub fn cosine(threshold: f32) -> Self { method threshold (line 46) | pub fn threshold(&self) -> f32 { method is_ok (line 52) | pub fn is_ok(&self, dist: f32) -> bool { method distance_to_weight (line 59) | pub fn distance_to_weight(&self, dist: f32) -> f32 { method default (line 27) | fn default() -> Self { type PyVisualSortMetricType (line 75) | pub struct PyVisualSortMetricType(pub VisualSortMetricType); method euclidean (line 80) | pub fn euclidean(threshold: f32) -> Self { method cosine (line 85) | pub fn cosine(threshold: f32) -> Self { constant __hash__ (line 90) | const __hash__: Option> = None; method __repr__ (line 92) | fn __repr__(&self) -> String { method __str__ (line 96) | fn __str__(&self) -> String { type VisualMetricOptions (line 103) | pub struct VisualMetricOptions { type VisualMetric (line 118) | pub struct VisualMetric { method optimize_observations (line 129) | fn optimize_observations( method positional_metric (line 156) | fn positional_metric( method visual_metric (line 200) | fn visual_metric( method feature_can_be_used (line 227) | fn feature_can_be_used( method metric (line 253) | fn metric( method optimize (line 297) | fn optimize( method postprocess_distances (line 376) | fn postprocess_distances( method default (line 123) | fn default() -> Self { function optimization_regular (line 401) | fn optimization_regular() { function optimize_low_quality (line 531) | fn optimize_low_quality() { function optimize_small_box (line 566) | fn optimize_small_box() { function optimize_overlap (line 601) | fn optimize_overlap() { function default_attrs (line 654) | fn default_attrs() -> VisualAttributes { function default_store (line 665) | fn default_store( function pos_metric_far (line 676) | fn pos_metric_far() { function metric_iou (line 727) | fn metric_iou() { function metric_maha (line 776) | fn metric_maha() { function visual_track_too_short (line 826) | fn visual_track_too_short() { function visual_track_long_enough (line 876) | fn visual_track_long_enough() { function visual_track_small_bbox (line 944) | fn visual_track_small_bbox() { function visual_quality_low (line 997) | fn visual_quality_low() { function visual_own_area_percentage_low (line 1048) | fn visual_own_area_percentage_low() { FILE: src/trackers/visual_sort/metric/builder.rs type VisualMetricBuilder (line 9) | pub struct VisualMetricBuilder { method visual_minimal_own_area_percentage_use (line 45) | pub fn visual_minimal_own_area_percentage_use(mut self, area: f32) -> ... method visual_minimal_own_area_percentage_collect (line 54) | pub fn visual_minimal_own_area_percentage_collect(mut self, area: f32)... method visual_min_votes (line 63) | pub fn visual_min_votes(mut self, n: usize) -> Self { method positional_min_confidence (line 68) | pub fn positional_min_confidence(mut self, conf: f32) -> Self { method visual_metric (line 77) | pub fn visual_metric(mut self, metric: VisualSortMetricType) -> Self { method positional_metric (line 82) | pub fn positional_metric(mut self, metric: PositionalMetricType) -> Se... method visual_minimal_track_length (line 93) | pub fn visual_minimal_track_length(mut self, length: usize) -> Self { method visual_minimal_area (line 102) | pub fn visual_minimal_area(mut self, area: f32) -> Self { method visual_minimal_quality_use (line 111) | pub fn visual_minimal_quality_use(mut self, q: f32) -> Self { method visual_max_observations (line 120) | pub fn visual_max_observations(mut self, n: usize) -> Self { method visual_minimal_quality_collect (line 125) | pub fn visual_minimal_quality_collect(mut self, q: f32) -> Self { method build (line 134) | pub fn build(self) -> VisualMetric { method set_visual_minimal_area (line 160) | pub fn set_visual_minimal_area(&mut self, visual_minimal_area: f32) { method set_positional_kind (line 165) | pub fn set_positional_kind(&mut self, positional_kind: PositionalMetri... method set_visual_minimal_track_length (line 170) | pub fn set_visual_minimal_track_length(&mut self, visual_minimal_track... method set_visual_minimal_quality_use (line 175) | pub fn set_visual_minimal_quality_use(&mut self, visual_minimal_qualit... method set_visual_minimal_quality_collect (line 180) | pub fn set_visual_minimal_quality_collect(&mut self, visual_minimal_qu... method set_visual_max_observations (line 185) | pub fn set_visual_max_observations(&mut self, visual_max_observations:... method set_visual_min_votes (line 190) | pub fn set_visual_min_votes(&mut self, visual_min_votes: usize) { method set_visual_minimal_own_area_percentage_use (line 195) | pub fn set_visual_minimal_own_area_percentage_use( method set_visual_minimal_own_area_percentage_collect (line 202) | pub fn set_visual_minimal_own_area_percentage_collect( method set_positional_min_confidence (line 211) | pub fn set_positional_min_confidence(&mut self, positional_min_confide... method set_visual_kind (line 215) | pub fn set_visual_kind(&mut self, visual_kind: VisualSortMetricType) { method default (line 27) | fn default() -> Self { FILE: src/trackers/visual_sort/observation_attributes.rs type VisualObservationAttributes (line 7) | pub struct VisualObservationAttributes { method new (line 14) | pub fn new(q: f32, b: Universal2DBox) -> Self { method with_own_area_percentage (line 22) | pub fn with_own_area_percentage(q: f32, b: Universal2DBox, own_area_pe... method unchecked_bbox_ref (line 35) | pub fn unchecked_bbox_ref(&self) -> &Universal2DBox { method bbox_opt (line 39) | pub fn bbox_opt(&self) -> &Option { method own_area_percentage_opt (line 43) | pub fn own_area_percentage_opt(&self) -> &Option { method drop_bbox (line 47) | pub fn drop_bbox(&mut self) { method visual_quality (line 51) | pub fn visual_quality(&self) -> f32 { method eq (line 88) | fn eq(&self, other: &Self) -> bool { function fmt (line 57) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { type MetricObject (line 63) | type MetricObject = f32; method calculate_metric_object (line 65) | fn calculate_metric_object(l: &Option<&Self>, r: &Option<&Self>) -> Opti... function operations (line 105) | fn operations() { FILE: src/trackers/visual_sort/options.rs type VisualSortOptions (line 10) | pub struct VisualSortOptions { method build (line 20) | pub(crate) fn build(self) -> (SortAttributesOptions, VisualMetric) { method max_idle_epochs (line 42) | pub fn max_idle_epochs(mut self, n: usize) -> Self { method kept_history_length (line 56) | pub fn kept_history_length(mut self, n: usize) -> Self { method visual_metric (line 67) | pub fn visual_metric(mut self, metric: VisualSortMetricType) -> Self { method visual_min_votes (line 86) | pub fn visual_min_votes(mut self, n: usize) -> Self { method visual_max_observations (line 95) | pub fn visual_max_observations(mut self, n: usize) -> Self { method positional_min_confidence (line 103) | pub fn positional_min_confidence(mut self, conf: f32) -> Self { method spatio_temporal_constraints (line 112) | pub fn spatio_temporal_constraints(mut self, constraints: SpatioTempor... method positional_metric (line 121) | pub fn positional_metric(mut self, metric: PositionalMetricType) -> Se... method visual_minimal_track_length (line 132) | pub fn visual_minimal_track_length(mut self, length: usize) -> Self { method visual_minimal_area (line 140) | pub fn visual_minimal_area(mut self, area: f32) -> Self { method visual_minimal_quality_use (line 148) | pub fn visual_minimal_quality_use(mut self, q: f32) -> Self { method visual_minimal_quality_collect (line 156) | pub fn visual_minimal_quality_collect(mut self, q: f32) -> Self { method visual_minimal_own_area_percentage_use (line 165) | pub fn visual_minimal_own_area_percentage_use(mut self, area: f32) -> ... method visual_minimal_own_area_percentage_collect (line 176) | pub fn visual_minimal_own_area_percentage_collect(mut self, area: f32)... method kalman_position_weight (line 183) | pub fn kalman_position_weight(mut self, weight: f32) -> Self { method kalman_velocity_weight (line 188) | pub fn kalman_velocity_weight(mut self, weight: f32) -> Self { method default (line 195) | fn default() -> Self { type PyVisualSortOptions (line 218) | pub struct PyVisualSortOptions(pub(crate) VisualSortOptions); method new (line 223) | pub(crate) fn new() -> Self { method max_idle_epochs (line 228) | pub(crate) fn max_idle_epochs(&mut self, n: i64) { method kept_history_length (line 233) | pub(crate) fn kept_history_length(&mut self, n: i64) { method visual_min_votes (line 238) | pub(crate) fn visual_min_votes(&mut self, n: i64) { method visual_metric (line 243) | pub(crate) fn visual_metric(&mut self, metric: PyVisualSortMetricType) { method spatio_temporal_constraints (line 248) | pub(crate) fn spatio_temporal_constraints( method positional_metric (line 256) | pub(crate) fn positional_metric(&mut self, metric: PyPositionalMetricT... method visual_minimal_track_length (line 261) | pub(crate) fn visual_minimal_track_length(&mut self, length: i64) { method visual_minimal_area (line 270) | pub(crate) fn visual_minimal_area(&mut self, area: f32) { method visual_minimal_quality_use (line 275) | pub(crate) fn visual_minimal_quality_use(&mut self, q: f32) { method positional_min_confidence (line 280) | pub(crate) fn positional_min_confidence(&mut self, conf: f32) { method visual_max_observations (line 285) | pub(crate) fn visual_max_observations(&mut self, n: i64) { method visual_minimal_quality_collect (line 292) | pub(crate) fn visual_minimal_quality_collect(&mut self, q: f32) { method visual_minimal_own_area_percentage_use (line 297) | pub(crate) fn visual_minimal_own_area_percentage_use(&mut self, area: ... method visual_minimal_own_area_percentage_collect (line 304) | pub(crate) fn visual_minimal_own_area_percentage_collect(&mut self, ar... method kalman_position_weight (line 311) | pub(crate) fn kalman_position_weight(&mut self, weight: f32) { method kalman_velocity_weight (line 316) | pub(crate) fn kalman_velocity_weight(&mut self, weight: f32) { constant __hash__ (line 321) | const __hash__: Option> = None; method __repr__ (line 323) | fn __repr__(&self) -> String { method __str__ (line 327) | fn __str__(&self) -> String { function visual_sort_options_builder (line 345) | fn visual_sort_options_builder() { FILE: src/trackers/visual_sort/simple_api.rs type VisualSort (line 29) | pub struct VisualSort { method new (line 45) | pub fn new(shards: usize, opts: &VisualSortOptions) -> Self { method predict (line 84) | pub fn predict(&mut self, observations: &[VisualSortObservation]) -> V... method gen_track_id (line 88) | fn gen_track_id(&mut self) -> u64 { method predict_with_scene (line 99) | pub fn predict_with_scene( method idle_tracks (line 232) | pub fn idle_tracks(&mut self) -> Vec { method idle_tracks_with_scene (line 236) | pub fn idle_tracks_with_scene(&mut self, scene_id: u64) -> Vec &mut AutoWaste { method get_opts (line 263) | fn get_opts(&self) -> &SortAttributesOptions { method get_main_store_mut (line 267) | fn get_main_store_mut( method get_wasted_store_mut (line 275) | fn get_wasted_store_mut( method get_main_store (line 283) | fn get_main_store( method get_wasted_store (line 291) | fn get_wasted_store( method from (line 301) | fn from(track: &Track Self { method skip_epochs (line 701) | pub fn skip_epochs(&mut self, n: i64) { method skip_epochs_for_scene (line 707) | pub fn skip_epochs_for_scene(&mut self, scene_id: i64, n: i64) { method shard_stats (line 716) | pub fn shard_stats(&self) -> Vec { method current_epoch (line 731) | pub fn current_epoch(&self) -> i64 { method current_epoch_with_scene (line 741) | pub fn current_epoch_with_scene(&self, scene_id: i64) -> isize { method predict (line 755) | pub fn predict( method predict_with_scene (line 769) | pub fn predict_with_scene( method wasted (line 802) | pub fn wasted(&mut self) -> Vec { method clear_wasted (line 818) | pub fn clear_wasted(&mut self) { method idle_tracks (line 825) | pub fn idle_tracks(&mut self) -> Vec { method idle_tracks_with_scene_py (line 832) | pub fn idle_tracks_with_scene_py(&mut self, scene_id: i64) -> Vec) -> Self { method update_history (line 73) | pub fn update_history( type Update (line 185) | type Update = VisualAttributesUpdate; type Lookup (line 186) | type Lookup = VisualSortLookup; method compatible (line 188) | fn compatible(&self, other: &VisualAttributes) -> bool { method merge (line 210) | fn merge(&mut self, other: &VisualAttributes) -> Result<()> { method baked (line 217) | fn baked( method default (line 43) | fn default() -> Self { method get_state (line 94) | fn get_state(&self) -> Option> { method set_state (line 98) | fn set_state(&mut self, state: KalmanState<{ DIM_2D_BOX_X2 }>) { method get_position_weight (line 102) | fn get_position_weight(&self) -> f32 { method get_velocity_weight (line 106) | fn get_velocity_weight(&self) -> f32 { type VisualSortLookup (line 112) | pub enum VisualSortLookup { method lookup (line 117) | fn lookup( type VisualAttributesUpdate (line 137) | pub enum VisualAttributesUpdate { method new_init (line 147) | pub fn new_init(epoch: usize, custom_object_id: Option) -> Self { method new_init_with_scene (line 151) | pub fn new_init_with_scene(epoch: usize, scene_id: u64, custom_object_... method new_voting_type (line 159) | pub fn new_voting_type(vt: VotingType) -> Self { method apply (line 165) | fn apply(&self, attrs: &mut VisualAttributes) -> Result<()> { function attribute_operations (line 235) | fn attribute_operations() { FILE: src/trackers/visual_sort/visual_sort_py.rs type PyVisualSortPredictionBatchRequest (line 8) | pub(crate) struct PyVisualSortPredictionBatchRequest { method new (line 16) | fn new() -> Self { method prediction (line 24) | fn prediction(&mut self) -> Option { method add (line 28) | fn add(&mut self, scene_id: u64, elt: PyVisualSortObservation) { type PyVisualSortObservation (line 38) | pub struct PyVisualSortObservation { method new (line 49) | pub fn new( constant __hash__ (line 64) | const __hash__: Option> = None; method __repr__ (line 66) | fn __repr__(&self) -> String { method __str__ (line 70) | fn __str__(&self) -> String { type PyVisualSortObservationSet (line 80) | pub struct PyVisualSortObservationSet { method new (line 87) | fn new() -> Self { method add (line 94) | fn add(&mut self, observation: PyVisualSortObservation) { constant __hash__ (line 99) | const __hash__: Option> = None; method __repr__ (line 101) | fn __repr__(&self) -> String { method __str__ (line 105) | fn __str__(&self) -> String { FILE: src/trackers/visual_sort/voting.rs type VisualVoting (line 12) | pub struct VisualVoting { method new (line 19) | pub fn new( type WinnerObject (line 46) | type WinnerObject = (u64, VotingType); method winners (line 48) | fn winners(&self, distances: T) -> HashMap) -> Self { function test_visual_match (line 110) | fn test_visual_match() { function test_positional_match (line 117) | fn test_positional_match() { function test_visual_competitive_match (line 124) | fn test_visual_competitive_match() { function test_visual_competitive_match_2 (line 140) | fn test_visual_competitive_match_2() { function test_visual_positional_competitive_match_2 (line 161) | fn test_visual_positional_competitive_match_2() { function test_visual_positional_competitive_match_no_pos_metric (line 184) | fn test_visual_positional_competitive_match_no_pos_metric() { FILE: src/utils/bbox.rs type BoundingBox (line 11) | pub struct BoundingBox { method new (line 20) | pub fn new(left: f32, top: f32, width: f32, height: f32) -> Self { method new_with_confidence (line 30) | pub fn new_with_confidence( method as_xyaah (line 50) | pub fn as_xyaah(&self) -> Universal2DBox { method intersection (line 54) | pub fn intersection(l: &BoundingBox, r: &BoundingBox) -> f64 { type Error (line 261) | type Error = Errors; method try_from (line 263) | fn try_from(value: Universal2DBox) -> Result { type Error (line 269) | type Error = Errors; method try_from (line 271) | fn try_from(f: &Universal2DBox) -> Result { method eq (line 417) | fn eq(&self, other: &Self) -> bool { type Universal2DBox (line 79) | pub struct Universal2DBox { method new (line 103) | pub fn new(xc: f32, yc: f32, angle: Option, aspect: f32, height: ... method new_with_confidence (line 115) | pub fn new_with_confidence( method ltwh (line 139) | pub fn ltwh(left: f32, top: f32, width: f32, height: f32) -> Self { method ltwh_with_confidence (line 145) | pub fn ltwh_with_confidence( method get_radius (line 157) | pub fn get_radius(&self) -> f32 { method area (line 163) | pub fn area(&self) -> f32 { method get_vertices (line 169) | pub fn get_vertices(&self) -> Polygon { method get_cached_vertices (line 174) | pub fn get_cached_vertices(&self) -> &Option> { method gen_vertices (line 179) | pub fn gen_vertices(&mut self) -> &Self { method rotate (line 188) | pub fn rotate(self, angle: f32) -> Self { method rotate_mut (line 202) | pub fn rotate_mut(&mut self, angle: f32) { method set_confidence (line 208) | pub fn set_confidence(&mut self, confidence: f32) { method sutherland_hodgman_clip (line 216) | pub fn sutherland_hodgman_clip(mut self, mut clipping: Universal2DBox)... method from (line 241) | fn from(f: BoundingBox) -> Self { method from (line 247) | fn from(f: &BoundingBox) -> Self { method too_far (line 452) | pub fn too_far(l: &Universal2DBox, r: &Universal2DBox) -> bool { method dist_in_2r (line 464) | pub fn dist_in_2r(l: &Universal2DBox, r: &Universal2DBox) -> f32 { method intersection (line 476) | pub fn intersection(l: &Universal2DBox, r: &Universal2DBox) -> f64 { method eq (line 538) | fn eq(&self, other: &Self) -> bool { method clone (line 90) | fn clone(&self) -> Self { function from (line 288) | fn from(b: &Universal2DBox) -> Self { function transform (line 342) | fn transform() { function corner_case_f32 (line 372) | fn corner_case_f32() { type MetricObject (line 398) | type MetricObject = f32; method calculate_metric_object (line 400) | fn calculate_metric_object( function normalize_angle (line 426) | pub fn normalize_angle(a: f32) -> f32 { function normalize (line 443) | fn normalize() { type MetricObject (line 513) | type MetricObject = f32; method calculate_metric_object (line 515) | fn calculate_metric_object( type PyBoundingBox (line 558) | pub struct PyBoundingBox(pub(crate) BoundingBox); constant __hash__ (line 563) | const __hash__: Option> = None; method __repr__ (line 565) | fn __repr__(&self) -> String { method __str__ (line 569) | fn __str__(&self) -> String { method get_left (line 574) | pub fn get_left(&self) -> f32 { method set_left (line 579) | pub fn set_left(&mut self, left: f32) { method get_top (line 584) | pub fn get_top(&self) -> f32 { method set_top (line 589) | pub fn set_top(&mut self, top: f32) { method get_width (line 594) | pub fn get_width(&mut self) -> f32 { method set_width (line 599) | pub fn set_width(&mut self, width: f32) { method get_height (line 604) | pub fn get_height(&mut self) -> f32 { method set_height (line 609) | pub fn set_height(&mut self, height: f32) { method get_confidence (line 614) | pub fn get_confidence(&mut self) -> f32 { method set_confidence (line 619) | pub fn set_confidence(&mut self, confidence: f32) { method as_xyaah (line 623) | pub fn as_xyaah(&self) -> PyUniversal2DBox { method new (line 629) | pub fn new(left: f32, top: f32, width: f32, height: f32) -> Self { method new_with_confidence (line 636) | pub fn new_with_confidence( type PyUniversal2DBox (line 653) | pub struct PyUniversal2DBox(pub(crate) Universal2DBox); constant __hash__ (line 658) | const __hash__: Option> = None; method __repr__ (line 660) | fn __repr__(&self) -> String { method __str__ (line 664) | fn __str__(&self) -> String { method get_radius (line 668) | pub fn get_radius(&self) -> f32 { method as_ltwh (line 672) | pub fn as_ltwh(&self) -> PyResult { method gen_vertices (line 681) | pub fn gen_vertices(&mut self) { method get_vertices (line 685) | pub fn get_vertices(&self) -> PyPolygon { method rotate (line 692) | pub fn rotate(&mut self, angle: f32) { method get_confidence (line 697) | pub fn get_confidence(&self) -> f32 { method set_confidence (line 702) | pub fn set_confidence(&mut self, confidence: f32) { method get_xc (line 707) | pub fn get_xc(&self) -> f32 { method set_xc (line 712) | pub fn set_xc(&mut self, xc: f32) { method get_yc (line 717) | pub fn get_yc(&self) -> f32 { method set_yc (line 722) | pub fn set_yc(&mut self, yc: f32) { method get_angle (line 727) | pub fn get_angle(&self) -> Option { method set_angle (line 732) | pub fn set_angle(&mut self, angle: Option) { method get_aspect (line 737) | pub fn get_aspect(&self) -> f32 { method set_aspect (line 742) | pub fn set_aspect(&mut self, aspect: f32) { method get_height (line 747) | pub fn get_height(&self) -> f32 { method set_height (line 752) | pub fn set_height(&mut self, height: f32) { method new (line 760) | pub fn new(xc: f32, yc: f32, angle: Option, aspect: f32, height: ... method new_with_confidence (line 768) | pub fn new_with_confidence( method ltwh (line 789) | pub fn ltwh(left: f32, top: f32, width: f32, height: f32) -> Self { method ltwh_with_confidence (line 798) | pub fn ltwh_with_confidence( method area (line 810) | pub fn area(&self) -> f32 { function test_radius (line 824) | fn test_radius() { function test_not_too_far (line 831) | fn test_not_too_far() { function test_same (line 838) | fn test_same() { function test_too_far (line 844) | fn test_too_far() { function dist_same (line 851) | fn dist_same() { function dist_less_1 (line 857) | fn dist_less_1() { function dist_is_1 (line 865) | fn dist_is_1() { function test_iou (line 873) | fn test_iou() { FILE: src/utils/clipping.rs function is_inside (line 12) | fn is_inside(q: &Coord, p1: &Coord, p2: &Coord) -> bool { function compute_intersection (line 17) | fn compute_intersection( function sutherland_hodgman_clip (line 40) | pub fn sutherland_hodgman_clip( function clip (line 99) | fn clip() { FILE: src/utils/clipping/bbox_own_areas.rs function exclusively_owned_areas (line 8) | pub fn exclusively_owned_areas(boxes: &[&Universal2DBox]) -> Vec); method get_points (line 13) | pub fn get_points(&self) -> Vec<(f64, f64)> { constant __hash__ (line 18) | const __hash__: Option> = None; method __repr__ (line 20) | fn __repr__(&self) -> String { method __str__ (line 24) | fn __str__(&self) -> String { function sutherland_hodgman_clip_py (line 34) | pub fn sutherland_hodgman_clip_py( function intersection_area_py (line 43) | pub fn intersection_area_py(subject: PyUniversal2DBox, clipping: PyUnive... FILE: src/utils/kalman.rs constant CHI2_UPPER_BOUND (line 16) | pub const CHI2_UPPER_BOUND: f32 = 100.0; constant CHI2INV95 (line 18) | pub const CHI2INV95: [f32; 9] = [ type KalmanState (line 43) | pub struct KalmanState { function mean_pos_xc (line 49) | pub fn mean_pos_xc(&self) -> f32 { function mean_pos_yc (line 52) | pub fn mean_pos_yc(&self) -> f32 { function mean_vel_xc (line 55) | pub fn mean_vel_xc(&self) -> f32 { function mean_vel_yc (line 58) | pub fn mean_vel_yc(&self) -> f32 { function dump (line 66) | pub fn dump(&self) { type Error (line 73) | type Error = Errors; method try_from (line 75) | fn try_from(value: KalmanState) -> Result { type Error (line 95) | type Error = Errors; method try_from (line 97) | fn try_from(value: KalmanState) -> Result { constant DT (line 103) | pub const DT: u64 = 1; FILE: src/utils/kalman/kalman_2d_box.rs constant DIM_2D_BOX (line 9) | pub const DIM_2D_BOX: usize = 5; constant DIM_2D_BOX_X2 (line 10) | pub const DIM_2D_BOX_X2: usize = DIM_2D_BOX * 2; type Universal2DBoxKalmanFilter (line 15) | pub struct Universal2DBoxKalmanFilter { method new (line 31) | pub fn new(position_weight: f32, velocity_weight: f32) -> Self { method std_position (line 46) | fn std_position(&self, k: f32, cnst: f32, p: f32) -> [f32; DIM_2D_BOX] { method std_velocity (line 51) | fn std_velocity(&self, k: f32, cnst: f32, p: f32) -> [f32; DIM_2D_BOX] { method initiate (line 58) | pub fn initiate(&self, bbox: &Universal2DBox) -> KalmanState) -> KalmanSta... method project (line 104) | fn project( method update (line 124) | pub fn update( method distance (line 150) | pub fn distance(&self, state: KalmanState, measurement:... method calculate_cost (line 172) | pub fn calculate_cost(distance: f32, inverted: bool) -> f32 { method default (line 24) | fn default() -> Self { function constructor (line 194) | fn constructor() { function step (line 204) | fn step() { function gating_distance (line 225) | fn gating_distance() { type PyUniversal2DBoxKalmanFilter (line 262) | pub struct PyUniversal2DBoxKalmanFilter { method new (line 290) | pub fn new(position_weight: f32, velocity_weight: f32) -> Self { method initiate (line 297) | pub fn initiate(&self, bbox: PyUniversal2DBox) -> PyUniversal2DBoxKalm... method predict (line 304) | pub fn predict( method update (line 314) | pub fn update( method distance (line 325) | pub fn distance( method calculate_cost (line 335) | pub fn calculate_cost(distance: f32, inverted: bool) -> f32 { type PyUniversal2DBoxKalmanFilterState (line 269) | pub struct PyUniversal2DBoxKalmanFilterState { method universal_bbox (line 276) | pub fn universal_bbox(&self) -> PyUniversal2DBox { method bbox (line 281) | pub fn bbox(&self) -> PyResult { FILE: src/utils/kalman/kalman_2d_point.rs constant DIM_2D_POINT (line 5) | pub const DIM_2D_POINT: usize = 2; constant DIM_2D_POINT_X2 (line 6) | pub const DIM_2D_POINT_X2: usize = DIM_2D_POINT * 2; type Point2DKalmanFilter (line 11) | pub struct Point2DKalmanFilter { method new (line 26) | pub fn new(position_weight: f32, velocity_weight: f32) -> Self { method std_position (line 41) | fn std_position(&self, k: f32) -> [f32; DIM_2D_POINT] { method std_velocity (line 46) | fn std_velocity(&self, k: f32) -> [f32; DIM_2D_POINT] { method initiate (line 51) | pub fn initiate(&self, p: &Point2) -> KalmanState { method predict (line 67) | pub fn predict(&self, state: &KalmanState) -> KalmanS... method project (line 86) | fn project( method update (line 103) | pub fn update( method distance (line 123) | pub fn distance(&self, state: &KalmanState, p: &Point... method calculate_cost (line 139) | pub fn calculate_cost(distance: f32, inverted: bool) -> f32 { method default (line 20) | fn default() -> Self { function from (line 155) | fn from(s: KalmanState<{ DIM_2D_POINT_X2 }>) -> Self { function test (line 166) | fn test() { type PyPoint2DKalmanFilter (line 232) | pub struct PyPoint2DKalmanFilter { method new (line 270) | pub fn new(position_weight: f32, velocity_weight: f32) -> Self { method initiate (line 277) | pub fn initiate(&self, x: f32, y: f32) -> PyPoint2DKalmanFilterState { method predict (line 284) | pub fn predict(&self, state: PyPoint2DKalmanFilterState) -> PyPoint2DK... method update (line 291) | pub fn update( method distance (line 303) | pub fn distance(&self, state: PyPoint2DKalmanFilterState, x: f32, y: f... method calculate_cost (line 309) | pub fn calculate_cost(distance: f32, inverted: bool) -> f32 { type PyPoint2DKalmanFilterState (line 239) | pub struct PyPoint2DKalmanFilterState { method new (line 244) | pub fn new(state: KalmanState<{ DIM_2D_POINT_X2 }>) -> Self { method inner (line 248) | pub fn inner(&self) -> &KalmanState<{ DIM_2D_POINT_X2 }> { method x (line 256) | pub fn x(&self) -> f32 { method y (line 261) | pub fn y(&self) -> f32 { FILE: src/utils/kalman/kalman_2d_point_vec.rs type Vec2DKalmanFilter (line 6) | pub struct Vec2DKalmanFilter { method new (line 20) | pub fn new(position_weight: f32, velocity_weight: f32) -> Self { method initiate (line 26) | pub fn initiate(&self, points: &[Point2]) -> Vec Vec { method default (line 12) | fn default() -> Self { type PyVec2DKalmanFilter (line 88) | pub struct PyVec2DKalmanFilter { method new (line 96) | pub fn new(position_weight: f32, velocity_weight: f32) -> Self { method initiate (line 103) | pub fn initiate(&self, points: Vec<(f32, f32)>) -> Vec, inverted: bool) -> Vec { FILE: src/utils/nms.rs type Candidate (line 9) | struct Candidate<'a> { function new (line 16) | pub fn new(bbox: &'a Universal2DBox, rank: &Option, index: usize) -... function nms (line 32) | pub fn nms( FILE: src/utils/nms/nms_py.rs function nms_py (line 46) | pub fn nms_py( FILE: src/utils/point.rs type Point2D (line 1) | pub struct Point2D(pub f32, pub f32); FILE: src/utils/primitive.rs type MetricObject (line 4) | type MetricObject = f32; method calculate_metric_object (line 6) | fn calculate_metric_object( type MetricObject (line 19) | type MetricObject = (); method calculate_metric_object (line 21) | fn calculate_metric_object(