Processing of very large images

Registered by David Haberthür

Allow the creation of arbitrary large panoramas.

Currently panotools, as well as hugin/nona require memory to hold the complete input and the remapped output image in memory, which consumes a lot of RAM, especially for spherical panoramas. VIPS [1] is a powerful and modular image processing library that supports very large images and multiple processors natively. By porting the core remapping routines of panotools/hugin to VIPS, panoramas of almost arbitrary size can be computed.

A desired result of the projects would be:
  - VIPS operations that support the geometric and photometric (vignetting correction) transformations.
  - Standalone command line program that remaps images using these routines.
  - Program/script to convert panotools scripts to nip2 projects.

[1]: http://www.vips.ecs.soton.ac.uk/index.php?title=VIPS

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

With the resolution of cameras increasing all the time, and computer hardware increasingly multi-core and distributed, this capability will be increasingly useful in future.

I propose that enblend is the first component of Hugin to consider for VIPS porting. That is because VIPS architecture works by loading up a portion of an image and working on that portion before moving to another. This is similar to the way enblend works where it tiles images into a larger image and blends the seams where they overlap which is localized to areas of the image.
Finally enblend is the most commonly reported component to become memory constrained during panorama creation, and is the first part of the panorama creation process to deal with the full size output image.

Nona appears to have many different functions built in such as changing projection, lens correction, vignetting, exposure correction, resizing. So enblend (which is specialized) may be easier to port to VIPS.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.