Topological Data Analysis with Applications