rivetTDA / rivet

RIVET is a tool for Topological Data Analysis, in particular two-parameter persistent homology.
GNU General Public License v3.0
73 stars 24 forks source link

Change the Binning Convention #84

Open mlesnick opened 7 years ago

mlesnick commented 7 years ago

Originally reported by: M L (GitHub: mlesnick)


This is an old todo that never made its way onto the issue tracker:

Right now the convention for binning is to divide the interval spanning the grades into bin of equal size and then snap each grade to the top endpoint of the containing bin.

This has the unfortunate effect of changing the endpoints that RIVET shows, and this can be confusing e.g. when the bottom endpoint of interval spanning the grades is 0.

Matthew and I agreed that a better strategy is to allow to snap upwards or downwards to the closest endpoint, and have the first and last bins be half the size of all the others. This way, no grade moves more than half the size of a bin and, then lowest and highest grades are left untouched.

mlesnick commented 5 years ago

@mlwright84 Perhaps a better fix would be to round upwards, as we already do, but have the lowest grade in the bifiltration be it's own bin of measure 0. Then one bin is smaller than the others, but this doesn't bother me. After some time has passed I'm not so keen on rounding some grades upwards and some downwards.

mlwright84 commented 5 years ago

I think Mike's suggestion makes a lot of sense, and it's the best idea we've had so far on this topic. In a sense, we don't even have to regard the lowest bin as being of measure 0 -- if the width of each other bin is w, then we could regard the lowest bin as the interval (-w,0].