-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The future of analysis.py
functions
#146
Comments
Thanks for the nice overview of your understanding of the functions... I think most of your assessment is pretty similar to how I see it now, too.. I think quite a lot of it stemmed from the early days when we were taking existing code that I had written to wrap it up into the package and thus relatively specific to the way we were using the tracking. Deprecating the more detailed things in here makes perfect sense. Some of it like the histograms could maybe picked up in some kind of tutorial notebook. Other things might be better placed under utils. I guess for most of these functions I might be the only one who has really used them a bit more (would be good to hear if anyone else has, but I doubt it due to the lack of documentation...) and for me it would be completely fine to break backwards compatibility here at some point.. |
I am sitting down now to add to the missing docstring where it seems to make sense at this point (See discussion in #138), then we can still see what we do with those functions in the future. |
Resolved with #207 |
With the discussion of docstrings for these functions in #138, I think it's time that we have a discussion about the future of the analysis functions in
analysis.py
more generally. I also want us to discussplotting.py
andcenterofgravity.py
, but those conversations can be in separate issues. While this issue will be focused on v1.x, I think what we take with us to v2.x and beyond is relevant here.I would really welcome thoughts and comments from @mheikenfeld and @pjmarinescu on the history of these functions and any thoughts that you have on their longer-term future.
Here is a list of all functions in
analysis.py
with a short description of what they do, and my general thoughts on them:cell_statistics_all
tobac/tobac/analysis.py
Line 9 in e6e8fc3
cell_statistics
across all cells passed in.cell_statistics
tobac/tobac/analysis.py
Line 40 in e6e8fc3
cog_cell
tobac/tobac/analysis.py
Line 174 in e6e8fc3
centerofgravity.py
.analysis.py
in v2.0-dev.lifetime_histogram
tobac/tobac/analysis.py
Line 227 in e6e8fc3
haversine
tobac/tobac/analysis.py
Line 240 in e6e8fc3
util
, but that is ensnarled in the discussion on Splitutils
module into internal utilities and external utilities #122 .calculate_distance
tobac/tobac/analysis.py
Line 263 in e6e8fc3
calculate_velocity_individual
tobac/tobac/analysis.py
Line 314 in e6e8fc3
calculate_velocity
tobac/tobac/analysis.py
Line 323 in e6e8fc3
velocity_histogram
tobac/tobac/analysis.py
Line 336 in e6e8fc3
lifetime_histogram
calculate_nearestneighbordistance
tobac/tobac/analysis.py
Line 356 in e6e8fc3
nearestneighbordistance_histogram
tobac/tobac/analysis.py
Line 389 in e6e8fc3
calculate_areas_2Dlatlon
tobac/tobac/analysis.py
Line 412 in e6e8fc3
Calculates cell area using lat/lon
I think the implementation in v2.0-dev is better and we should probably migrate it to v1.x for 1.6 or earlier
calculate_areas
tobac/tobac/analysis.py
Line 476 in e6e8fc3
calculate_areas_2Dlatlon
area_histogram
tobac/tobac/analysis.py
Line 535 in e6e8fc3
histogram_cellwise
tobac/tobac/analysis.py
Line 563 in e6e8fc3
histogram_featurewise
tobac/tobac/analysis.py
Line 581 in e6e8fc3
histogram_cellwise
, but along features rather than along cells.histogram_cellwise
calculate_overlap
tobac/tobac/analysis.py
Line 588 in e6e8fc3
Calculates whether or not two cells overlap
I think this function needs a lot more explanation, but it could potentially be useful.
Exists in v2.0-dev
This was longer than I was expecting, so I've put a summary here:
Recommend Depreciation
cell_statistics_all
cell_statistics
cog_cell
Everything else could generally go either way, but we need more documentation on these functions in general. Perhaps a page or two in the documentation specifically on how to use these functions?
The text was updated successfully, but these errors were encountered: