all functions modularised, but equalisation does not make changes in histogram and otsu returns slightly varied results than scikit