- Fixed FFT performace issue
- Reduced JuicyPixels module compile time and introduced conversion functions.
- Created
Filter
and implemented few filters:gaussianBlur
- Indroduced
Seq
format wrapper for sequence of images (eg. animated GIFs)
- Fixed
Storable
instance for some Pixel types. - Fixed reading/writing animated GIFs. Added a detailed example to documentation.
- Improved encoding/decoding of images.
- Improved coversion between
ColorSpace
s.
- Significantly improved convolution performance.
- Improved exchanging representation between images, by removing
Exchangable
class, but keepingexchange
function usage unchaged, thus it should be backwards compatible up to a type signature. - Created general
fromVector
totoVector
functions - Brought back
fromRepaArrayS
andfromRepaArrayP
functions [#6]
-
Refactored
Gray
color space to beX
, in order to reflect it's generality -
Renamed few core functions:
mapPx
->liftPx
,zipWithPx
->liftPx2
,broadcastC
->promote
,singleton
->scalar
.
-
upsample
/downsample
functions are now a lot more general.
- Fixed the ability to construct complex images by installing
Complex
intoElevator
- Made it possible to write complex images by concatenating real and imaginary part together.
- Fixed writing images in other representation than
VS
.
Major rewrite, with most of functionality is still backwards compatible, but with a some extra features.
- Storable Repa and Vector representations through generic implementations
ColorSpace
is more general allowing for non polymorphic Pixel typesElevator
works on base types rather than on pixels- Conversions from JuicyPixels and NetPbm is done through casting a Vector rather than through an explicit conversion.
Major API changes:
- Renaming
RS
andRP
Repa representations intoRSU
andRPU
. - Addition
VS
Storable Vector representationas well asRSS
andRPS
Storable Repa representations.
- Significantly simplified interface:
- Removed
ManifestArray
,SequentialArray
andMutableArray
classes in favor ofMArray
.
- Removed
- Rewrite of Repa image representations. Removed
RD
representation. - Introduced function
canvasSize
.
- Changed
Interpolation
in a way that border resolution is supplied separatly from the method. - Introduced function
translate
. - Added a better test suite. Improved coverage.
- Fixed a bug with border resolution strategy
Continue
. - Added better error messaging for border checks.
- Backwards compatibility with GHC 7.8
- GHC 8 support.
- Improved IO:
- OS default image viewer is used for displaying images with ability to use a custom one.
- Histogram plotting is done using diagrams instead of cairo backend, significantly simplifying installation
- Changed the way image displaying works. Now
displayImage
function will try to automatically detect the default external viewer program. - Renamed module
Graphics.Image.IO.External
toGraphics.Image.IO.Formats
, so it reflects the purpose slightly better.
- Added support of "vector>=0.11.0.0"
- Added
rotate
function. - Fixed writing
RGBA
files withwriteImage
(#2).
- Made it compatible with GHC >= 7.4 (#1)
- Added histogram plotting using Charts