Encoding routine for the HSZ data structures

Contents

Syntax:

    HSZ = encode_HSZ(HS)
    HSZ = encode_HSZ(HS, options)

Description:

    Converts the encoding of an HSZ data structure from RAW to a 
    Gaussian mixture model (GMM) or a spline (NURBS).

Input:

    HS: Input RAW HSZ structure.
    options: Structure with the following fields:
        IlluminantEncoding: Determines the manner in which the spectra on
            HSZ.L.Elements and HSZ.L.Endmembers is encoded. The default
            is 'NURBS'. For the Gaussian mixture, use 'GMM'.
        MaterialEncoding: Determines the manner in which the spectra on
            HSZ.S.Elements and HSZ.S.Endmembers is encoded. The default 
            is 'NURBS'.
       SpecularityEncoding: Encoding scheme used for the highlights at
            output. The default is 'NURBS'.
       numGMMsL: Number of mixtures used for the GMM encoding of the
            illuminant.
       numGMMsS: Number of mixtures used for the GMM encoding of the
            reflectance.
       numGMMsK: Number of mixtures used for the GMM encoding of the
            specular highlights.

Output:

    HSZ: An HSZ structure encoded according to the options above.

See also:

    eval_HSZ, get_nurbs, get_gaussian_mixture