We’re happy to announce the release of scikit-image v0.14.1!
scikit-image is an image processing toolbox for SciPy that includes algorithms for segmentation, geometric transformations, color space manipulation, analysis, filtering, morphology, feature detection, and more.
This is our first release under our Long Term Support for 0.14 policy. As a reminder, 0.14 is the last release to support Python 2.7, but it will be updated with bug fixes and popular features until January 1st, 2020.
This release contains the following changes from 0.14.0:
skimage.color.adapt_rgb
was applying input functions to the wrong axis
(#3097)CollectionViewer
now indexes correctly (it had been broken by an update
to NumPy indexing) (#3288)matrix
from NumPy 1.15
(#3238, #3242, #3292)__all__
listing of moments_coord_central
, so it
and moments_normalized
can now be correctly imported from the measure
namespace (#3374)label2rgb(..., kind='avg')
(#3280)filters.threshold_li
(#3402)img_as_float
now allows single-precision (32-bit) float arrays to pass
through unmodified, rather than being up-converted to 64-bit (#3110, #3052,
#3391)cycle_spin
function for enhanced denoising works single-threaded
when dask is not installed now (#3218)io
module will no longer inadvertently set the matplotlib
backend when imported (#3243)get
keyword from dask in favor of scheduler
(#3366)cval
parameter to threshold_local (#3370)dynamic_range
in measure.compare_psnr
(#3313)center
parameter of
skimage.transform.rotate
(#3341)measure.profile_line
(#3236)import *
from the scikit-image package root (#3265)lookfor
is no longer defined in __init__.py
but rather imported to it
(#3162)pyproject.toml
to ensure Cython is present before building (#3295)Made with commits from (alphabetical by last name):
Reviewed by (alphabetical by last name):
And with the special support of [MeeseeksDev](https://github.com/MeeseeksBox), created by Matthias Bussonnier
We’re happy to announce the release of scikit-image v0.14.0!
scikit-image is an image processing toolbox for SciPy that includes algorithms for segmentation, geometric transformations, color space manipulation, analysis, filtering, morphology, feature detection, and more.
This is the last major release with official support for Python 2.7. Future releases will be developed using Python 3-only syntax.
However, 0.14 is a long-term support (LTS) release and will receive bug fixes and backported features deemed important (by community demand) until January 1st 2020 (end of maintenance for Python 2.7; see PEP 373 for details).
For more information, examples, and documentation, please visit our website:
skimage.lookfor
. (#2713)skimage.transform.rescale
, skimage.transform.resize
,
and skimage.transform.pyramid_*
transforms. (#1522)skimage.future.manual_polygon_segmentation
,
skimage.future.manual_lasso_segmentation
. (#2584)skimage.filters.apply_hysteresis_threshold
. (#2665)skimage.segmentation.morphological_chan_vese
(2D),
skimage.segmentation.morphological_geodesic_active_contour
(2D and 3D). (#2791)skimage.measure.moments_central
,
skimage.measure.moments_central
, skimage.measure.moments_normalized
,
skimage.measure.moments_hu
. This change leads to 3D/nD compatibility for
many regionprops. (#2603)skimage.measure.moments_coords
,
skimage.measure.moments_coords_central
. (#2859)blob_dog
and blob_log
. (#2854)skimage.measure.inertia_tensor
. (#2603)skimage.restoration.cycle_spin
. (#2647)skimage.feature.haar_like_feature
,
skimage.feature.haar_like_feature_coord
,
skimage.feature.draw_haar_like_feature
. (#2848)skimage.draw.random_shapes
. (#2773)skimage.data.cbcl_face_database
. (#2905)skimage.util.montage
. (#2626)skimage.color.rgb2ydbdr
,
skimage.color.ydbdr2rgb
. (#3018)VisuShrink
method for skimage.restoration.denoise_wavelet
. (#2470)max_ratio
parameter for skimage.feature.match_descriptors
. (#2472)skimage.transform.resize
and skimage.transform.rescale
have a new
anti_aliasing
option to avoid aliasing artifacts when down-sampling
images. (#2802)skimage.feature.hog
. (#2870)skimage.restoration.denoise_nl_means
) has
a new optional parameter, sigma
, that can be used to specify the noise
standard deviation. This enables noise-robust patch distance estimation. (#2890)skimage.measure.compare_ssim
,
skimage.measure.compare_psnr
, etc. (#2893)alignment
parameter in skimage.feature.plot_matches
. (#2955)seed
parameter in skimage.transform.probabilistic_hough_line
. (#2960)skimage.measure.regionprops.bbox_area
returning incorrect value. (#2837)skimage.feature.hog
to closely follow the paper. (#2864)skimage.color.convert_colorspace
not working for YCbCr, YPbPr. (#2780)rescale
not working properly with different rescale factors in multichannel case. (#2959)skimage.util.invert
. (#3030)skimage.measure.find_contours
raising StopIteration on Python 3.7. (#3038)skimage.util.montage.
namespace has been removed, and
skimage.util.montage.montage2d
function is now available as
skimage.util.montage2d
.skimage.morphology.binary_erosion
now uses True
as border
value, and is now consistent with skimage.morphology.erosion
.freeimage
plugin has been removed from skimage.io
.skimage.util.montage2d
is deprecated and will be removed in 0.15.
Use skimage.util.montage
function instead.skimage.novice
is deprecated and will be removed in 0.16.skimage.transform.resize
and skimage.transform.rescale
have a new
anti_aliasing
option that avoids aliasing artifacts when down-sampling
images. This option will be enabled by default in 0.15.regionprops
will use row-column coordinates in 0.16. You can start
using them now with regionprops(..., coordinates='rc')
. You can silence
warning messages, and retain the old behavior, with
regionprops(..., coordinates='xy')
. However, that option will go away
in 0.16 and result in an error. This change has a number of consequences.
Specifically, the “orientation” region property will measure the
anticlockwise angle from a vertical line, i.e. from the vector (1, 0) in
row-column coordinates.skimage.morphology.remove_small_holes
min_size
argument is deprecated
and will be removed in 0.16. Use area_threshold
instead.We’d also like to thank all the people who contributed their time to perform the reviews:
This release is the result of 14 months of work. It contains the following 186 merged pull requests by 67 committers:
We are assuming that you have default Python environment already configured on
your computer and you intend to install scikit-image
inside of it. If you
want to create and work with Python virtual environments, please follow the
instructions on venv and virtual environments.
There are two ways you can install scikit-image
on your preferred Python
environment.
scikit-image
comes pre-installed with several Python distributions,
including Anaconda, Enthought Canopy, Python(x,y) and WinPython.
However, you can install or upgrade existing scikit-image
via
shell/command prompt.
On Windows, you can install scikit-image
using:
pip install scikit-image
For Conda-based distributions (Anaconda, Miniconda), execute:
conda install scikit-image
If you are using pure Python i.e. the distribution from python.org, you’ll need to manually download packages (such as numpy, scipy and scikit-image) using Python wheels available from Christoph Gohlke’s website. You can install Python wheels using:
pip install SomePackage-1.0-py2.py3-none-any.whl
On Debian and Ubuntu, install scikit-image
with:
sudo apt-get install python-skimage
You can install scikit-image
development version if either your
distribution ships an outdated version or you want to develop and work on new
features before the package is released officially.
Before installing the development version, uninstall the standard version of
scikit-image
using pip as:
pip uninstall scikit-image
or using conda (for Anaconda users) as:
conda uninstall scikit-image
Now clone scikit-image on your local computer:
git clone https://github.com/scikit-image/scikit-image.git
Change the directory and build from source code:
cd scikit-image
python setup.py develop
If you experience the error Error:unable to find vcvarsall.bat
it means
that your computer does not have recommended compilers for Python. You can
either download and install Windows compilers from here or use
MinGW compilers . If using MinGW, make sure to correctly configure
distutils
by modifying (or create, if not existing) the configuration file
distutils.cfg
(located for example at
C:\Python26\Lib\distutils\distutils.cfg
) to contain:
[build]
compiler=mingw32
Once the build process is complete, run:
pip install -U -e .
Make sure to give space after -e
and add dot at the end. This will install
scikit-image
development version and upgrade (or install) all the required
dependencies. Otherwise, you can run the following command to skip installation
of dependencies:
pip install -U[--no-deps] -e .
You can install or upgrade dependencies required for scikit-image anytime after installation using:
pip install -r requirements.txt --upgrade
For more details on compiling in Windows, there is a lot of knowledge iterated into the setup of appveyor (a continuous integration service).
Install all the required dependencies:
sudo apt-get install python-matplotlib python-numpy python-pil python-scipy
Get suitable compilers for successful installation:
sudo apt-get install build-essential cython
Obtain the source from the git repository at
http://github.com/scikit-image/scikit-image
by running:
git clone https://github.com/scikit-image/scikit-image.git
After unpacking, change into the source directory and execute:
pip install -e .
To update:
git pull # Grab latest source
python setup.py build_ext -i # Compile any modified extensions
You can use pip to automatically install the runtime dependencies as follows:
$ pip install -r requirements.txt
You can use scikit-image
with the basic requirements listed above, but some
functionality is only available with the following installed: