Processing of very large images
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.
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
- Started by
- Completed by
Related branches
Related bugs
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.