({{, (RefLink[InverseImagePyramid, paclet:ref/InverseImagePyramid])[pyr] 
reconstructs an image from an (RefLink[ImagePyramid, paclet:ref/ImagePyramid]) object pyr.}, {, (RefLink[InverseImagePyramid, paclet:ref/InverseImagePyramid])[pyr,pyrtype]
assumes the specified pyramid type pyrtype.}, {, (RefLink[InverseImagePyramid, paclet:ref/InverseImagePyramid])[pyr,pyrtype,n]
reconstructs up to pyramid level n.}, {, (RefLink[InverseImagePyramid, paclet:ref/InverseImagePyramid])[pyr,pyrtype,{size}]
reconstructs up to the smallest pyramid level larger than the specified size.}})

OpenersNotesSection(Spacer1)Details

(RefLink[InverseImagePyramid, paclet:ref/InverseImagePyramid]) computes the inverse of (RefLink[ImagePyramid, paclet:ref/ImagePyramid]).

Image pyramid is a multi-resolution representation of an image to facilitate efficient multi-scale 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.

(RefLink[InverseImagePyramid, paclet:ref/InverseImagePyramid]) works with 2D and 3D image pyramids.

The pyramid type pyrtype can be any of the following:

Use (RefLink[InverseImagePyramid, paclet:ref/InverseImagePyramid])[pyr,n] to reconstruct the pyramid using the type embedded in pyr.

OpenersPrimaryExamplesSection(Spacer1)Examples  (5)

OpenersExampleSection0(Spacer1)Basic Examples  (2)

Reconstruct an image from a bandpass pyramid:

pyr=ImagePyramid[,"Bandpass",4]

InverseImagePyramid[pyr]

Reconstruct an image to a specific size:

pyr=ImagePyramid[,"Bandpass",4]

InverseImagePyramid[pyr,Automatic,{50,50}]

OpenersExampleSection2(Spacer1)Applications  (2)

Simulate decoding an image by incorporating more and more details:

n=3;

image=;

Compute the Laplacian pyramid:

pyr=ImagePyramid[image,"Laplacian",n];

Display more details by reconstructing with higher and higher levels of the pyramid:

Table[
Image[
InverseImagePyramid[pyr,k],ImageSize->ImageDimensions[image]
],
{k,n,1,-1}
]

Denoise an image by attenuating the lowest level of the Laplacian pyramid:

noisy=;

pyr=ImagePyramid[noisy,"Laplacian"];

Attenuate the noise in the lowest pyramid level by factor 0.1:

pyr[1]

pyr[1]=0.1* pyr[1];

Reconstruct the image without the noise:

InverseImagePyramid[pyr]

OpenersExampleSection3(Spacer1)Properties & Relations  (1)

Compare the result of a reconstruction to the original image:

image=;

result=InverseImagePyramid[ImagePyramid[image,"Bandpass",4]]

Compute the difference between the reconstructed image and the original:

ImageDistance[result,image,DistanceFunction->"RootMeanSquare"]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[ImagePyramid, paclet:ref/ImagePyramid])  ▪  (RefLink[ImagePyramidApply, paclet:ref/ImagePyramidApply])  ▪  (RefLink[ImageResize, paclet:ref/ImageResize])  ▪  (RefLink[GaussianFilter, paclet:ref/GaussianFilter])  ▪  (RefLink[LaplacianGaussianFilter, paclet:ref/LaplacianGaussianFilter])  ▪  (RefLink[InverseWaveletTransform, paclet:ref/InverseWaveletTransform])  ▪  (RefLink[Upsample, paclet:ref/Upsample])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Creating & Importing Images, paclet:guide/CreatingAndImportingImages])}})}})