Assembly Image Gem
Overview
This gem contains classes used by the Stanford University Digital Library to perform image operations necessary for accessioning of content.
Requires image processing software - see PreRequisites section below.
Notes
- The gem assumes that the user context in which it is executed has write access to the 'tmp' folder. This is because color profiles can be extracted from images during the JP2 creation process, and these profiles need to be stored as local files, and it is beneficial to cache them for later usage by images with the same color profile. If you know there are color profiles which are commonly used, it is better to capture them in the gem itself in the profile folder so they can be re-used and do not need to be extracted.
- If any errors occur during JP2 generation for any reason, a runtime exception will be thrown with a description of the error.
- If an image is passed in with a color profile that cannot be determined by examining the exif header data, an exception will be thrown.
This can commonly occur in basic test TIFs that are black/white and have no profile, so beware during testing.
Usage
To use the JP2 creation method, you first instantiate the image object with an input image and then operate on it.
require 'assembly-image'
input = Assembly::Image.new('/full/path/to/file.tif')
puts input.exif # show exif header information for the TIF
output = input.create_jp2(:output=>'/full/path/to/output.jp2') # generate a new JP2 in the specified location
puts output.exif # show exif header information for the JP2
Running tests
bundle exec rake
Generate documentation
To generate documentation into the "doc" folder:
yard
To keep a local server running with up to date code documentation that you can view in your browser:
yard server --reload
Prerequisites
- Kakadu Proprietary Software Binaries - for JP2 generation
- ImageMagick 6.5.4 or higher
- Exiftool
Kakadu
Download and install demonstration binaries from Kakadu: http://kakadusoftware.com/downloads/
NOTE: If you have upgrade to El Capitan on OS X, you will need to donwload and re-install the latest version of Kakadu, due to changes made with SIP. These changes moved the old executable binaries to an inaccessible location.
Imagemagick
RHEL 6
The version of ImageMagick included with RHEL 6 has all of the dependency libraries included:
yum install ImageMagick
RHEL 5
The version of ImageMagick included with RHEL 5 is too old and does not have all the proper binaries included/built:
yum install lcms lcms-devel libjpeg libjpeg-devel libpng libpng-devel
Required libraries from source:
- libtiff (version 3.9.4 or higher)
Build Imagemagick from source: http://www.imagemagick.org/download/ImageMagick.tar.gz
Mac
brew install jasper libtiff
brew install imagemagick --use-tiff --use-jpeg2000
Exiftool
RHEL
Download latest version from: http://www.sno.phy.queensu.ca/~phil/exiftool
tar -xf Image-ExifTool-#.##.tar.gz
cd Image-ExifTool-#.##
perl Makefile.PL
make test
sudo make install
Mac
brew install exiftool