-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tearing Images.jl appart #267
Comments
I completely agree with the idea that Images should be modularized. FYI I'm pretty sure that ImageMagick does not account for very much of the load time; a lot of it is surely all the code generation that happens when looping over colortypes. Just put But the best reason to modularize is because folks have had a lot of trouble with ImageMagick, particularly on OSX. And many people may not even need I/O. It's not entirely clear what to put in ImagesIO.jl, maybe even that should just be a thin wrapper around several options for I/O. For example,OSXNative.jl might be split out into its own package, for example, although it falls back to the ImageMagick interface when it runs into trouble. |
I was pretty sure as well, but i removed everything but the ~ 200 lines of On Sun, 15 Mar 2015 02:32 Tim Holy [email protected] wrote:
|
BTW, at one point I proposed we should start a JuliaImages organization. If you're getting started on this, it seems like a reasonable time to implement that. |
It may be interesting for you to know that the https://github.com/joa-quim/GMT.jl has reached a working state. It's not finished as among other things it works side-by-side with improvements of the GMT library itself. The interest of this wrapper is that GMT (http://gmt.soest.hawaii.edu/projects/gmt/wiki) uses GDAL (http://www.gdal.org/) to read a lot of formats. So one can now read georeferenced images such as GeoTiff, Jpeg2k, etc.. |
Good to know. There are so many potential ways to get image data into julia, indeed we shouldn't value ImageMagick above all these others. Just takes someone to do the work 😄. |
I think this is a very good idea and could myself contribute the However, we need to talk about interfacing. All these formats carry metadata information and I think its important to have:
I have not used the |
Yes, I plan to reuse the image type! 2015-03-15 19:59 GMT+01:00 Tobias Knopp [email protected]:
|
Hi, Hope this can grow into something nice with some crowd effort =) Best, |
It will be much better to roll ColorTypes into Color. I've got a grant due and am swamped, but I will see what I can do about centralizing these. |
Definitely, that'd be the next big step :) Its a slow process i guess... |
Closed by #577 |
Hi,
Brutal title, I know :D
But I'm working on making image IO more lightweight and then probably unify it under the package ImagIO.
I've started working on an Interface that works like this:
I started off by ripping out libmagickwand.
I just wanted to make the point, that It's now way faster, but I actually just measured it and ImageMagick itself seems to be the main culprit in loading times for Images.jl.
Wonder what's going on there. I tried to nail it down with
tic()
,toc()
, but it seems, that this gives me faulty values, as it returns values which must be false (like thatinclude("colortypes.jl")
takes 6s andinclude("libmagickwand.jl")
takes 1s and then if you only include "libmagickwand.jl" alone, suddenly this takes 7s).Anyways, it's still useful, to have all these different functionality differentiated and not all mingled into one package.
By the way, I'm already looking forward to replace all the color arithmetic code by a simple:
type RGB{T} <: FixedSizeVector{T, 3}
:)
Hope this is a direction you can all agree with!
Also it will help to simply switch the loading libraries, which just become a little more relevant as @aaalexandrov just wrapped a nice library (DevIL.jl), which might be more lightweight than imagemagick. Well I don't know, we need to find out ;)
But if they both are separate libraries which implement the same interface, it'll be very easy to switch them out on a higher level.
Best,
Simon
The text was updated successfully, but these errors were encountered: