Extensions and applications of persistence based algorithms in computational topology