Class: FilePipeline::FileOperations::PtiffConversion

Inherits:
FileOperation
  • Object
show all
Defined in:
lib/file_pipeline/file_operations/default_operations/ptiff_conversion.rb

Overview

Saves a file to a tiled multi-resolution TIFF (‘pyramid’), as required by e.g. the IIP image server.

See iipimage.sourceforge.io/documentation/images/ or www.loc.gov/preservation/digital/formats/fdd/fdd000237.shtml for more information on the format.

Instance Attribute Summary

Attributes inherited from FileOperation

#options

Instance Method Summary collapse

Methods inherited from FileOperation

#captured_data_tag, #extension, #failure, #name, #results, #run, #success, #target

Constructor Details

#initialize(**opts) ⇒ PtiffConversion

:args: options

Returns a new instance.

Options
  • :tile - Writes a tiled TIFF (default true)

  • :tile_width: Tile width in pixels (default 256)

  • :tile_height: Tile height in pixels (default 256)



21
22
23
24
25
26
27
28
29
# File 'lib/file_pipeline/file_operations/default_operations/ptiff_conversion.rb', line 21

def initialize(**opts)
  defaults = {
    tile: true,
    tile_width: 256,
    tile_height: 256
  }
  super(opts, defaults)
  @options[:pyramid] = true
end

Instance Method Details

#operation(*args) ⇒ Object

:args: src_file, out_file

Writes a pyramid tiff version of src_file to out_file.



34
35
36
37
38
39
# File 'lib/file_pipeline/file_operations/default_operations/ptiff_conversion.rb', line 34

def operation(*args)
  src_file, out_file = args
  image = Vips::Image.new_from_file src_file
  image.tiffsave(out_file, options)
  # Return lof if any
end

#target_extensionObject

Returns '.tiff' (all files created by #operation will be TIFF files).



43
44
45
# File 'lib/file_pipeline/file_operations/default_operations/ptiff_conversion.rb', line 43

def target_extension
  '.tiff'
end