Hi all, I'm pleased to announce version 1.0 of imageio - a library for reading and writing images. This library started as a spin-off of the freeimage plugin in skimage, and is now a fully-fledged library with unit tests and all. Imageio provides an easy interface to read and write a wide range of image data, including animated images, volumetric data, and scientific formats. It is cross-platform, runs on Python 2.x and 3.x, and is easy to install. Imageio is plugin-based, making it easy to extend. It could probably use more scientific formats. I welcome anyone who's interested to contribute! install: pip install imageio website: http://imageio.github.io release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html Regards, Almar
Hi Almar On 2014-11-13 23:03:24, Almar Klein <almar.klein@gmail.com> wrote:
I'm pleased to announce version 1.0 of imageio - a library for reading and writing images. This library started as a spin-off of the freeimage plugin in skimage, and is now a fully-fledged library with unit tests and all.
Thanks for the announcement! Can you expand on how you see the eco-system of scikit-image, imread and imageio interacting? Regards Stéfan
Thanks for the announcement! Can you expand on how you see the eco-system of scikit-image, imread and imageio interacting?
Since imageio has a pretty good plugin system, it could be a good place to implement io for all the weird scientific file formats that exist. Next to imread(), volread(), etc. imageio also provides the read() function, which returns a reader object specific to the plugin. This reader object can have additional methods and may yield other data then just 2D/3D numpy arrays if this makes sense for the format. So I suppose I am hoping for skimage devs to embrace imageio and help move it further. With that, I suppose skimage could focus on the processing rather than the io, since ideally, we'd have one library for processing images, and one for reading/saving images. <rant> Developers tend to have a fear for dependencies. I understand this, and I try to minimize dependencies myself, but reading/writing images is a task that warrants a standalone package IMO. It troubles me a bit that different libraries are each rolling their own image io functionalities. </rant> As for the imread package: Zach and I considered it when discussing plans for imageio, but imread is based on C++, which is harder to maintain and makes it a harder dependency. imageio is pure Python with ctypes bindings to some libs that are auto-downloaded. - Almar PS: some fancy stuff that imageio can do which might be interesting for skimage users: stream images from webcam, export visualizations to animated gif or mp4.
Hi Almar, Thanks for this. Our own IO is much improved thanks to a few PRs by Steven Sylvester, so I care a little bit less than I would have if this had come a few months ago. =P Generally, though, I do agree with you that a dedicated package might be the better spot for this. Part of Steven's improvements was to make PIL a dependency. If imageio is easy enough to install, and complete enough, it might replace that dependency. What I'm looking for in an IO package is proper treatment of less-common data types that are nonetheless common in scientific imaging, such as uint16 and 3D tiffs. (Prior to Steven's PRs, skimage did a poor job with those.) Can you comment on that? Thanks for the post, and for the library! -- I think it will lead to good places. =) Juan. On Fri, Nov 14, 2014 at 9:40 AM, Almar Klein <almar.klein@gmail.com> wrote:
Thanks for the announcement! Can you expand on how you see the
eco-system of scikit-image, imread and imageio interacting?
Since imageio has a pretty good plugin system, it could be a good place to implement io for all the weird scientific file formats that exist. Next to imread(), volread(), etc. imageio also provides the read() function, which returns a reader object specific to the plugin. This reader object can have additional methods and may yield other data then just 2D/3D numpy arrays if this makes sense for the format.
So I suppose I am hoping for skimage devs to embrace imageio and help move it further.
With that, I suppose skimage could focus on the processing rather than the io, since ideally, we'd have one library for processing images, and one for reading/saving images.
<rant> Developers tend to have a fear for dependencies. I understand this, and I try to minimize dependencies myself, but reading/writing images is a task that warrants a standalone package IMO. It troubles me a bit that different libraries are each rolling their own image io functionalities. </rant>
As for the imread package: Zach and I considered it when discussing plans for imageio, but imread is based on C++, which is harder to maintain and makes it a harder dependency. imageio is pure Python with ctypes bindings to some libs that are auto-downloaded.
- Almar
PS: some fancy stuff that imageio can do which might be interesting for skimage users: stream images from webcam, export visualizations to animated gif or mp4.
-- You received this message because you are subscribed to the Google Groups "scikit-image" group. To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Hi Almar On 2014-11-14 00:40:37, Almar Klein <almar.klein@gmail.com> wrote:
With that, I suppose skimage could focus on the processing rather than the io, since ideally, we'd have one library for processing images, and one for reading/saving images.
That is certainly the direction we're aiming for. At the moment, we try to have a minimal setup that works in 80% of use-cases. Once imageio is distributed widely in the main distributions, we can even make it a default dependency. In the mean time, let's talk about integrating it as a plugin, or perhaps add a page to the skimage docs on how to read more exotic formats (especially cross-platform video would be a big win!). Stéfan
Almar, This is a very interesting project indeed. We included a copy of Christophe's `tifffile.py` in our repo and are using that within our PIL plugin for loading TIFF files. We have an interest in minimizing our dependencies, especially when considering our Debian packaging. I could see perhaps *vendoring* ImageIO to replace `skimage.io` and requiring FreeImage as the only external dependency. Stéfan would have to weigh in on that. Regards, Steve On Thursday, November 13, 2014 3:03:27 PM UTC-6, Almar Klein wrote:
Hi all,
I'm pleased to announce version 1.0 of imageio - a library for reading and writing images. This library started as a spin-off of the freeimage plugin in skimage, and is now a fully-fledged library with unit tests and all.
Imageio provides an easy interface to read and write a wide range of image data, including animated images, volumetric data, and scientific formats. It is cross-platform, runs on Python 2.x and 3.x, and is easy to install.
Imageio is plugin-based, making it easy to extend. It could probably use more scientific formats. I welcome anyone who's interested to contribute!
install: pip install imageio website: http://imageio.github.io release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html
Regards, Almar
We included a copy of Christophe's `tifffile.py` in our repo and are using that within our PIL plugin for loading TIFF files.
Ah great, in that case I suspect making an imageio plugin would be easy.
I could see perhaps *vendoring* ImageIO to replace `skimage.io` and requiring FreeImage as the only external dependency.
What do you mean by "vendoring"? BTW: the freeimage lib is auto-downloaded. Imageio also has its own version of that lib for Linux, since I found some Linux's have a rather old version of FreeImage, which was causing bugs. Also good to know: Ghislain Vaillant is currently making a debian package for imageio. Regards, Almar
Stéfan would have to weigh in on that.
Regards,
Steve
On Thursday, November 13, 2014 3:03:27 PM UTC-6, Almar Klein wrote:
Hi all,
I'm pleased to announce version 1.0 of imageio - a library for reading and writing images. This library started as a spin-off of the freeimage plugin in skimage, and is now a fully-fledged library with unit tests and all.
Imageio provides an easy interface to read and write a wide range of image data, including animated images, volumetric data, and scientific formats. It is cross-platform, runs on Python 2.x and 3.x, and is easy to install.
Imageio is plugin-based, making it easy to extend. It could probably use more scientific formats. I welcome anyone who's interested to contribute!
install: pip install imageio website: http://imageio.github.io release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html <http://imageio.readthedocs.org/en/latest/releasenotes.html>
Regards, Almar
-- You received this message because you are subscribed to the Google Groups "scikit-image" group. To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe@googlegroups.com <mailto:scikit-image+unsubscribe@googlegroups.com>. For more options, visit https://groups.google.com/d/optout.
Almar, By vendoring I meant including a snapshot of the imageio project in the scikit-image repo, and using it if there is not a system version available (which is how we handle `tifffile.py`). As someone who has worked in a lab with no internet connection, I am wary of requiring an external library to be downloaded upon install, and I agree with Stéfan that we should include imageio as an optional plugin in the short term and then once an imageio Debian package and conda mainline package are available, more toward making it a requirement instead of PIL. I will implement the imageio scikit-image plugin (unless you'd rather), but I've got a few other commitments lined up prior to getting more involved in the short term. Regards, Steve On Thursday, November 13, 2014 3:03:27 PM UTC-6, Almar Klein wrote:
Hi all,
I'm pleased to announce version 1.0 of imageio - a library for reading and writing images. This library started as a spin-off of the freeimage plugin in skimage, and is now a fully-fledged library with unit tests and all.
Imageio provides an easy interface to read and write a wide range of image data, including animated images, volumetric data, and scientific formats. It is cross-platform, runs on Python 2.x and 3.x, and is easy to install.
Imageio is plugin-based, making it easy to extend. It could probably use more scientific formats. I welcome anyone who's interested to contribute!
install: pip install imageio website: http://imageio.github.io release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html
Regards, Almar
By vendoring I meant including a snapshot of the imageio project in the scikit-image repo, and using it if there is not a system version available (which is how we handle `tifffile.py`).
I suppose you'd like imageio to use relative imports throughout for this to work? It does not yet, but that's easy enough to fix from my end.
I agree with Stéfan that we should include imageio as an optional plugin in the short term and then once an imageio Debian package and conda mainline package are available, more toward making it a requirement instead of PIL.
That sounds like a reasonable plan.
I will implement the imageio scikit-image plugin (unless you'd rather), but I've got a few other commitments lined up prior to getting more involved in the short term.
Great. I am involved in a few other things now as well, so I was hoping someone would pick this up.
As someone who has worked in a lab with no internet connection, I am wary of requiring an external library to be downloaded upon install
Actually, it's downloaded at runtime. Which is even worse, I guess :) The motivation for this is that a) it made the code simpler; 2) some dependencies like the ffmpeg exe are rather large, and installing these by default (or shipping them along in the dist package) seemed like something that might irritate users who just want to read a png image. I'd be happy to work towards a solution for that. At least to get freeimage working. Perhaps you can help find a solution, as having been in such a situation, you might have a good idea of what could work and what not. See: https://github.com/imageio/imageio/issues/42 Regards, Almar
On Thursday, November 13, 2014 3:03:27 PM UTC-6, Almar Klein wrote:
Hi all,
I'm pleased to announce version 1.0 of imageio - a library for reading and writing images. This library started as a spin-off of the freeimage plugin in skimage, and is now a fully-fledged library with unit tests and all.
Imageio provides an easy interface to read and write a wide range of image data, including animated images, volumetric data, and scientific formats. It is cross-platform, runs on Python 2.x and 3.x, and is easy to install.
Imageio is plugin-based, making it easy to extend. It could probably use more scientific formats. I welcome anyone who's interested to contribute!
install: pip install imageio website: http://imageio.github.io release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html <http://imageio.readthedocs.org/en/latest/releasenotes.html>
Regards, Almar
-- You received this message because you are subscribed to the Google Groups "scikit-image" group. To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe@googlegroups.com <mailto:scikit-image+unsubscribe@googlegroups.com>. For more options, visit https://groups.google.com/d/optout.
Yes, all imports would have to be relative. I've chimed in on #42, but posting my thoughts here: "I'd vote to have a source-only version, and wheels for 64 bit Linux, Windows, and OSX with just the freeimage support. Rather that auto-downloading, it would be nice to present the user with the option of whether to download an external lib, perhaps as a simple Tk dialog. I think partial functionality is fine in this case given the nature of the library." Regards, Steve On Thursday, November 13, 2014 3:03:27 PM UTC-6, Almar Klein wrote:
Hi all,
I'm pleased to announce version 1.0 of imageio - a library for reading and writing images. This library started as a spin-off of the freeimage plugin in skimage, and is now a fully-fledged library with unit tests and all.
Imageio provides an easy interface to read and write a wide range of image data, including animated images, volumetric data, and scientific formats. It is cross-platform, runs on Python 2.x and 3.x, and is easy to install.
Imageio is plugin-based, making it easy to extend. It could probably use more scientific formats. I welcome anyone who's interested to contribute!
install: pip install imageio website: http://imageio.github.io release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html
Regards, Almar
FYI: imageio v1.1 is available now. Release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html - Almar On 19-11-14 13:01, Steven Silvester wrote:
Yes, all imports would have to be relative. I've chimed in on #42, but posting my thoughts here:
"I'd vote to have a source-only version, and wheels for 64 bit Linux, Windows, and OSX with just the freeimage support. Rather that auto-downloading, it would be nice to present the user with the option of whether to download an external lib, perhaps as a simple Tk dialog. I think partial functionality is fine in this case given the nature of the library."
Regards,
Steve
On Thursday, November 13, 2014 3:03:27 PM UTC-6, Almar Klein wrote:
Hi all,
I'm pleased to announce version 1.0 of imageio - a library for reading and writing images. This library started as a spin-off of the freeimage plugin in skimage, and is now a fully-fledged library with unit tests and all.
Imageio provides an easy interface to read and write a wide range of image data, including animated images, volumetric data, and scientific formats. It is cross-platform, runs on Python 2.x and 3.x, and is easy to install.
Imageio is plugin-based, making it easy to extend. It could probably use more scientific formats. I welcome anyone who's interested to contribute!
install: pip install imageio website: http://imageio.github.io release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html <http://imageio.readthedocs.org/en/latest/releasenotes.html>
Regards, Almar
-- You received this message because you are subscribed to the Google Groups "scikit-image" group. To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe@googlegroups.com <mailto:scikit-image+unsubscribe@googlegroups.com>. For more options, visit https://groups.google.com/d/optout.
Hi, imageio v1.3 is available now: http://imageio.readthedocs.org Imageio is growing in popularity and a user just suggested that skimage should use it as the default plugin, which reminded me of this thread. Time to revive this discussion? - Almar On 04-02-15 15:45, Almar Klein wrote:
FYI:
imageio v1.1 is available now.
Release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html
- Almar
On 19-11-14 13:01, Steven Silvester wrote:
Yes, all imports would have to be relative. I've chimed in on #42, but posting my thoughts here:
"I'd vote to have a source-only version, and wheels for 64 bit Linux, Windows, and OSX with just the freeimage support. Rather that auto-downloading, it would be nice to present the user with the option of whether to download an external lib, perhaps as a simple Tk dialog. I think partial functionality is fine in this case given the nature of the library."
Regards,
Steve
On Thursday, November 13, 2014 3:03:27 PM UTC-6, Almar Klein wrote:
Hi all,
I'm pleased to announce version 1.0 of imageio - a library for reading and writing images. This library started as a spin-off of the freeimage plugin in skimage, and is now a fully-fledged library with unit tests and all.
Imageio provides an easy interface to read and write a wide range of image data, including animated images, volumetric data, and scientific formats. It is cross-platform, runs on Python 2.x and 3.x, and is easy to install.
Imageio is plugin-based, making it easy to extend. It could probably use more scientific formats. I welcome anyone who's interested to contribute!
install: pip install imageio website: http://imageio.github.io release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html <http://imageio.readthedocs.org/en/latest/releasenotes.html>
Regards, Almar
-- You received this message because you are subscribed to the Google Groups "scikit-image" group. To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe@googlegroups.com <mailto:scikit-image+unsubscribe@googlegroups.com>. For more options, visit https://groups.google.com/d/optout.
Congratulations, and thanks for the nudge. Here's a PR to add a plugin to scikit-image: https://github.com/scikit-image/scikit-image/pull/1575. On Friday, July 3, 2015 at 8:11:15 AM UTC-5, Almar Klein wrote:
Hi,
imageio v1.3 is available now: http://imageio.readthedocs.org
Imageio is growing in popularity and a user just suggested that skimage should use it as the default plugin, which reminded me of this thread. Time to revive this discussion?
- Almar
FYI:
imageio v1.1 is available now.
Release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html
- Almar
On 19-11-14 13:01, Steven Silvester wrote:
Yes, all imports would have to be relative. I've chimed in on #42, but posting my thoughts here:
"I'd vote to have a source-only version, and wheels for 64 bit Linux, Windows, and OSX with just the freeimage support. Rather that auto-downloading, it would be nice to present the user with the option of whether to download an external lib, perhaps as a simple Tk dialog. I think partial functionality is fine in this case given the nature of the library."
Regards,
Steve
On Thursday, November 13, 2014 3:03:27 PM UTC-6, Almar Klein wrote:
Hi all,
I'm pleased to announce version 1.0 of imageio - a library for reading and writing images. This library started as a spin-off of the freeimage plugin in skimage, and is now a fully-fledged library with unit tests and all.
Imageio provides an easy interface to read and write a wide range of image data, including animated images, volumetric data, and scientific formats. It is cross-platform, runs on Python 2.x and 3.x, and is easy to install.
Imageio is plugin-based, making it easy to extend. It could
On 04-02-15 15:45, Almar Klein wrote: probably
use more scientific formats. I welcome anyone who's interested to contribute!
install: pip install imageio website: http://imageio.github.io release notes: http://imageio.readthedocs.org/en/latest/releasenotes.html <http://imageio.readthedocs.org/en/latest/releasenotes.html>
Regards, Almar
-- You received this message because you are subscribed to the Google Groups "scikit-image" group. To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image...@googlegroups.com <javascript:> <mailto:scikit-image+unsubscribe@googlegroups.com <javascript:>>. For more options, visit https://groups.google.com/d/optout.
participants (4)
-
Almar Klein
-
Juan Nunez-Iglesias
-
Stefan van der Walt
-
Steven Silvester