Chapter 4. SciKit: Taking SciPy One Step Further
SciPy and NumPy are great tools and provide us with most of the functionality that we need.
Sometimes, though we need more advanced tools, and that’s where the scikits come in. These are a
set of packages that are complementary to SciPy. There are currently more than 20 scikit
packages available; a list can be found at SciKits. Here we will go over two well-maintained and popular packages: Scikitimage,
a more beefed-up image module than scipy.ndimage, is aimed to
be an imaging processing toolkit for SciPy. Scikit-learn is a machine learning package that can
be used for a range of scientific and engineering purposes.
4.1 Scikit-Image
SciPy’s ndimage class contains
many useful tools for processing multi-dimensional data, such as basic
filtering (e.g., Gaussian smoothing), Fourier transform, morphology (e.g.,
binary erosion), interpolation, and measurements. From those functions we
can write programs to execute more complex operations. Scikit-image has
fortunately taken on the task of going a step further to provide more
advanced functions that we may need for scientific research. These
advanced and high-level modules include color space conversion, image
intensity adjustment algorithms, feature detections, filters for
sharpening and denoising, read/write capabilities, and more.
4.1.1 Dynamic Threshold
A common application in imaging science is segmenting image components from one another, which is referred to as thresholding. The classic ...