Minor optimizations, shifted small portions of code around.
Rethought my approach to WLOP. Pre-computed some things, decided to use a dummy point cloud for the time being (project a cube onto a cube)
Yeah formulating a 125 million point cloud in python was not exactly my best move
Minor performance improvements, need to figure out how to offset dist_pj_pjj properly
Fixed the issue with weight v.
However, runtime is still terrible. Computing the dist_pj_pjj
matrix takes forever.
Fixed a lot more performance by not being dumb with numpy. Sasuga #scipy
Wow so apparently you don't need __init__.py in windows but you do in linux.
Minor pre-allocation optimization
Hopefully this works, some minor adjustments to alpha / v code and added an isnan check to the E1 loop
WLOP implementation is working but overall it does not make the data any better. Other filters will be explored.
Added a radial outlier filter, which removes
points that don't have some N number of neighbours within a given radius.
Tests are provided as well.
Added new class for NonPlanarOutlierFilter
Does nothing right now, just some easy tests.
Also fixed engo699/filters/__init__.py so that it loads things in a
better way.
Added tests for plane / line fitting
Changed to use unittest assertions instead (they're clearer and in general work better because the expressions aren't evaluated as a statement, so I can write them over multiple lines unlike with plain asserts)
Also started using unittest assert functions
Finished skeleton code for NonPlanarOutlierFilter
This involved several things:

1. Finishing the linear fitting functions (probably won't need line fits but it was a copy and paste from the ptranc code I wrote last July
2. Finished testing for linear fitting
3. Updated all the tests to use if __name__ == '__main__': unittest.main()
4. Writing the bare bones implementation of my NonPlanarOutlierFilter by using the plane fit.
Started implementing a createPlane function
Planes work now and also utility is updated to normalize quaternions
Better testing/modified geometry.py to use ufuncs
Added tests for createSquarePlane, fixed some assumptions
about the geometry.py module
Added test to check for duplicates (python sets are cool)