Commit Graph

43 Commits

Author SHA1 Message Date
Juan Nunez-Iglesias dcd822bf48 Remove deprecated sigma default warning in SLIC 2014-04-09 17:57:06 +10:00
Juan Nunez-Iglesias 9510c03ce5 Remove deprecated ratio keyword in SLIC 2014-04-09 17:55:35 +10:00
Michal Romaniuk 0c4adddf81 Some changes based on feedback from discussion on Github. 2014-01-22 19:25:18 +00:00
Michal Romaniuk 131dea07a0 Merged the separate loops for SLIC-zero and SLIC into one, and some minor improvements based on feedback on Github. 2014-01-21 20:08:07 +00:00
Michal Romaniuk 0bd1d4490e Added SLIC-zero to SLIC and changed SLIC implementation slightly 2014-01-21 19:45:08 +00:00
Guillem Palou Visa 15c2989158 Added deprecation warning 2014-01-17 16:52:44 +01:00
Guillem Palou Visa f461d76004 Fixed minor documentation issues 2014-01-12 17:03:10 +00:00
Guillem Palou Visa 4982b00f0c Labels start at 0, for backward compatibility
Code is PEP8 compliant
2013-12-24 18:45:55 +01:00
Guillem Palou Visa 64d945da71 fixing tests 2013-12-24 16:18:57 +01:00
Guillem Palou e68ab76b24 Added max_size as a parameter 2013-12-23 01:17:51 +01:00
Guillem Palou 0d6540a82c Changed SLIC superpixels so that connectivity is enforced optionally.
A separate, private function is created that implements the postprocessing step
2013-12-23 00:49:06 +01:00
Johannes Schönberger b4c190e560 Explicitly set sigma value to 0 to avoid warning 2013-11-12 08:27:14 +01:00
Johannes Schönberger 8fb6fd02a0 Scale sigma only in scalar case 2013-09-26 16:52:58 +02:00
Juan Nunez-Iglesias 05fbc3fbfc Bug fix: typo: wrote spacing instead of sigma 2013-09-16 22:42:48 +10:00
Juan Nunez-Iglesias 00e5ff263b Add spacing descriptions; use np.double
Implement @ahojnnes's comments on pull request. Use `np.double` as
dtype for arrays because in Cython, `float` is not `np.double`. And
add further clarification about the `spacing` parameter.
2013-09-16 21:26:44 +10:00
Juan Nunez-Iglesias 846765e5f9 Add spacing support for new, speeded-up SLIC 2013-09-16 17:52:25 +10:00
Juan Nunez-Iglesias 610a0d1793 Add support for list sigma input in SLIC
Previously, having a different `sigma` for different dimensions
required an array input. This allows the user to use a simple list,
which gets converted to an array internally.

Importantly, it removes a very unhelpful error:

```python
>>> im = np.random.rand(10, 20)
>>> from skimage import segmentation as seg
Exception AttributeError: "'UmfpackContext' object has no attribute '_symbolic'" in <bound method UmfpackContext.__del__ of <scipy.sparse.linalg.dsolve.umfpack.umfpack.UmfpackContext object at 0x1045ff5d0>> ignored

>>> s = seg.slic(im, 2, sigma=[2, 1])
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-3-689b36a2f0ef> in <module>()
----> 1 s = seg.slic(im, 2, sigma=[2, 1])

/Users/nuneziglesiasj/venv/skimdev2/lib/python2.7/site-packages/scikit_image-0.9dev-py2.7-macosx-10.5-x86_64.egg/skimage/segmentation/slic_superpixels.pyc in slic(image, n_segments, compactness, max_iter, sigma, multichannel, convert2lab, ratio)
    106     if not isinstance(sigma, coll.Iterable):
    107         sigma = np.array([sigma, sigma, sigma])
--> 108     if (sigma > 0).any():
    109         sigma = list(sigma) + [0]
    110         image = ndimage.gaussian_filter(image, sigma)

AttributeError: 'bool' object has no attribute 'any'
```
2013-09-16 17:49:07 +10:00
Juan Nunez-Iglesias 9d86c9a1e1 Ignore convert2lab keyword if not multichannel 2013-09-16 17:33:08 +10:00
Juan Nunez-Iglesias bf5f08e894 Update SLIC docstring to remove deprecated example
The `ratio` keyword has been deprecated but it was still being used in
the example in the SLIC docstring. This replaces that usage by the new
`compactness` keyword.
2013-09-16 17:30:48 +10:00
Johannes Schönberger 88d84c720a Raise warning for sigma parameter and add to TODO for next release 2013-09-16 08:48:46 +02:00
Johannes Schönberger 06e99a537a Merge pull request #5 from jni/slic-speed-fix-dims
Fix image dimension sanitizing at function start
2013-09-15 23:37:25 -07:00
Juan Nunez-Iglesias ea1566fffb Fix image dimension sanitizing at function start
`np.atleast_3d` will add a singleton dimension at the end of an array
if needed. This is not the correct thing to do if `multichannel=False`
based on the subsequent lines. If the input image was 2D with shape
`(40, 50)` and `multichannel=False`, then `np.atleast_3d` gives it
shape `(40, 50, 1)`, and then, because `multichannel=False`, the rest
of the code gives it shape `(40, 50, 1, 1)`. This results in the final
returned array having shape `(40, 50, 1)` instead of the desired
`(40, 50)`.

This commit fixes that and updates the test to detect this failure.
2013-09-16 16:02:24 +10:00
Johannes Schönberger bc2f23d1a8 Revert default value of maximum iterations 2013-09-16 07:59:57 +02:00
Johannes Schönberger 05aaeef5ac Change default value of sigma 2013-09-14 10:08:07 +02:00
Johannes Schönberger 8137c41e22 Add optional description to parameters 2013-09-03 10:48:53 +02:00
Johannes Schönberger 770e28d2bb Rename clusters to segments 2013-09-03 10:47:49 +02:00
Johannes Schönberger d9e64b43e6 Make image C-contiguous 2013-09-03 08:40:18 +02:00
Johannes Schönberger 80ed875147 Add missing rgb2lab import 2013-09-01 17:12:10 +02:00
Johannes Schönberger a6d1b10e25 Use absolute imports 2013-09-01 16:53:05 +02:00
Johannes Schönberger eeddd9e35f Revert multichannel magic and improve parameter docs 2013-09-01 16:46:01 +02:00
Johannes Schönberger e5eea8e135 Improve documentation of sigma 2013-09-01 16:46:01 +02:00
Johannes Schönberger 471b293a9e Remove unnecessary parameters and update doc string 2013-09-01 16:46:00 +02:00
Johannes Schönberger 6b5556b279 Reduce memory footprint 2013-09-01 16:46:00 +02:00
Johannes Schönberger fd729a4e30 Improve SLIC 2013-09-01 16:46:00 +02:00
Juan Nunez-Iglesias 878c562a45 Replace 'ratio' kwarg with 'compactness' in SLIC 2013-07-29 00:28:38 +10:00
Juan Nunez-Iglesias af3ea5f817 Remove unused 'ratio' argument from _slic_cython 2013-07-25 00:23:01 +10:00
Juan Nunez-Iglesias aadd346964 Fix ratio scaling in SLIC 2013-07-22 20:19:24 +10:00
Juan Nunez-Iglesias 8c2011d4f9 Add UTF8 coding declaration to slic_superpixels.py 2013-07-02 13:22:14 +02:00
Juan Nunez-Iglesias 69fb3fb7ba Make means array contiguous for numpy <= 1.6.1 2013-07-02 13:22:13 +02:00
Juan Nunez-Iglesias 55fe6ce2d6 Bug fix: spatial vs image dimension comparison reversed 2013-07-02 13:22:13 +02:00
Juan Nunez-Iglesias 5a43e03061 Bug fix: add z dimension regardless of multichannel 2013-07-02 13:22:13 +02:00
Juan Nunez-Iglesias e9c5f666ae Use educated guesses for presence of color channels in SLIC 2013-07-02 13:22:13 +02:00
Juan Nunez-Iglesias e757b9ae06 Rename slic.py to avoid name conflicts 2013-07-02 13:22:13 +02:00