I'm pleased to announce a major overhaul of the Images package. The big change 
is deeper integration with other packages: Color and FixedPointNumbers.

Integrating more closely with Color became possible with Color's recent 
transition to a parametric representation, so that it became possible to 
represent the pixels formats used in conventional images. This mean that now 
you won't typically need a "color dimension" to the arrays used to represent 
images; a 2d image will be, well, 2d. You'll also get a rich array of color 
conversion functionality for free.

FixedPointNumbers exploits some of Julia's magic with number types. For 
example, it makes Uint8s (really, a new type called Ufixed8) act as if they 
span the range 0 to 1. Compared to other image-processing packages you may 
have used before, no longer do you have to retain a mental separation between 
integer-valued images (spanning 0 to 255, for example) and floating point-
valued images (spanning 0 to 1). Moreover, if you're using a 12-bit (or 14-bit 
or ...), you'll find that there are types that map 12 bits to 0 to 1 already 
waiting for you.

On top of this, testing, consistency, and breadth of functionality has been 
somewhat increased. My hope is that you'll find that things work just a little 
bit better and more naturally with the new package.

While every effort was made to introduce deprecations where necessary, it's 
very likely that some breakage will ensue. I've created a page 
(https://github.com/timholy/Images.jl/blob/master/doc/fixing_breakages.md) that 
describes a couple of likely sources of trouble; if you encounter problems, 
feel free to report issues or add to that page.

You can get an overview of the new Images at the homepage:
https://github.com/timholy/Images.jl

Enjoy!

--Tim

Reply via email to