Main Content

inverseProjection

Reconstruct data cube from principal component bands

    Description

    example

    reconstructedData = inverseProjection(pcDataCube,coeff) reconstructs the original spectral bands in a hyperspectral data cube from the PCA (principal component analysis) or MNF (maximum noise fraction) transformed data cube and their related coefficients.

    Note

    This function requires the Image Processing Toolbox™ Hyperspectral Imaging Library. You can install the Image Processing Toolbox Hyperspectral Imaging Library from Add-On Explorer. For more information about installing add-ons, see Get and Manage Add-Ons.

    Examples

    collapse all

    Read a hyperspectral data into the workspace.

    hcube = hypercube('indian_pines.dat');

    Extract 10 principal component bands and the transformation coefficients using the principal component analysis method.

    [pcDataCube,coeff] = hyperpca(hcube,10);

    Reconstruct the original data from 10 principal component bands.

    reconstructedData = inverseProjection(pcDataCube,coeff);

    Display the first 10 spectral bands in input data cube.

    figure
    montage(hcube.DataCube(:,:,1:10),'BorderSize',[10 10],'Size',[2 5],'DisplayRange',[]);
    title('Original Data Cube')

    Display the first 10 spectral bands in the reconstructed data cube.

    figure
    montage(reconstructedData(:,:,1:10),'BorderSize',[10 10],'Size',[2 5],'DisplayRange',[]);
    title('Reconstructed Data Cube')

    Input Arguments

    collapse all

    PCA or MNF transformed data cube, specified as a 3-D numeric array of size M-by-N-by-P. The PCA or MNF transformed data cube of a hyperspectral data cube is computed using the hyperpca or hypermnf functions respectively. P specifies the number of principal component bands in the transformed data cube.

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    PCA or MNF coefficients, specified as a matrix of size C-by-P.

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Output Arguments

    collapse all

    Reconstructed data cube, returned as a 3-D numeric array of size M-N-by-C. The data type of the reconstructed data cube is same as that of the transformed data cube at the input.

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    See Also

    |

    Introduced in R2020a