🚀 Features
<details>
<summary>Update metrics for evaluating tracking performance msschwartz21 (95)</summary>
This PR introduces several substantial changes
- Reorganization of functions with the addition of two new modules: `metrics` and `trk_io`. Backwards compatible imports were maintained whenever possible.
- `load_trks`, `trk_folder_to_trks`, `save_trks`, `save_trk`, `save_track_data` from `utils` to `trk_io`
- `match_nodes`, `contig_tracks` from `isbi_utils` to `utils`
- `classify_divisions`, `calculate_summary_stats` from `isbi_utils` to `metrics`
- `benchmark_division_performance` deprecated in `isbi_utils` and renamed to `benchmark_tracking_performance` in `metrics`
- Fixes bugs in how we built graphs of tracks and compared between ground truth and predictions
- Originally we converted lineage data to isbi format prior to generating a graph. This intermediate step unintentionally removed any discontinuities that were present in a lineage. There is now a new function `deepcell_tracking.utils.trk_to_graph` that faithfully converts lineage data to a graph without any intermediate steps.
- The use of a `node_key` generated by `match_nodes` unintentionally dropped lineages if more than one predicted lineage was mapped onto a single ground truth lineage. Instead of mapping cell ids when we create the graph, we instead map cell ids on the fly when we are comparing graphs which eliminates the risk of accidentally dropping lineages from consideration.
- Introduces Association Accuracy as a new metric that evaluates how many edges in the tracking graph are correctly assigned. This score discounts edges involved with a division, but does detect discontinuities in lineages.
- Introduces Target Effectiveness as a new metric that evaluates how many cells in a lineage are correctly assigned to the lineage.
</details>
🧰 Maintenance
<details>
<summary>Bump version to 0.6.0 msschwartz21 (97)</summary>
</details>