ImagePyramidApply

ImagePyramidApply[f,pyr]

applies f to all images in the ImagePyramid object pyr.

ImagePyramidApply[f,{pyr1,pyr2,}]

applies f to the sequence of corresponding levels taken from each pyri.

Details

  • ImagePyramidApply can be used to modify images at all levels of an image pyramid at once.
  • Image pyramid is a multi-resolution representation of an image to facilitate efficient multiscale processing. Typical applications include noise removal, image blending, texture synthesis and efficient rendering.
  • An image pyramid consists of several images with consecutively lower resolutions. Typically, specific levels of the pyramid are processed, and the result is reconstructed using the inverse process.
  • ImagePyramidApply works with 2D and 3D image pyramids.
  • The function f needs to return compatible images for different pyramid levels.
  • In ImagePyramidApply[f,{pyr1,,pyrn}], f is supplied with n arguments.
  • ImagePyramidApply[f,{pyr1,pyr2,}] works with any number of commensurate image pyramids.

Examples

open allclose all

Basic Examples  (1)

Apply a gradient filter at several scales simultaneously:

Compare to a gradient at a single scale :

Applications  (5)

Efficient Image Viewer  (1)

Panning across and zooming into a large image requires the import and resizing of large amounts of data. ImagePyramid resolves this issue by readily providing an appropriate scale of an image.

Generate the lowpass image pyramid of a 34-megapixel image:

Resizing the image to an appropriate viewing size takes almost a second:

Obtaining the resized image from the image pyramid is about 100 times faster:

Image pyramids ensure smooth zooming for large images:

Multiscale Feature Detection  (3)

Alter pyramid levels and type to detect mountain ridges at all scales:

Reconstruct assuming a Laplacian pyramid to add up features extracted from all levels:

Perform a multiscale saliency filtering:

Apply ImageSaliencyFilter to an image:

Apply a saliency filter to all levels of the image pyramid to get a multiscale result:

Use Laplacian reconstruction to add up filter responses at all levels:

Extract the surfaces in a 3D volume:

Generate a Gaussian pyramid with scaling factor :

Apply the ridge filter to all three scales:

Accumulate the band-limited results of the ridge filter by treating the pyramid as a Laplacian pyramid when reconstructing the volume:

Image Effects  (1)

Merge the portraits of Werner Heisenberg and Erwin Schrödinger:

Split and merge the two images without multiscale blending:

To obtain a more agreeable result, split and merge the images at all scales using image pyramids:

Introduced in 2019
 (12.0)