Reading multispectral and hyperspectral scenes

We use the term multispectral to refer to scene spectral radiance estimated using simple instruments, such as multiple multiple illuminants and color filters. We use the term hyperspectral to refer to spectral radiances measured with specialized instruments that literally acquire each image in a narrow waveband.

In the end, however, both types of scenes are read in to generate the scene spectral radiance data. Some multispectral and hyperspectral scene data are included in data/images and much additional freely available scene radiance data can be found on the ImageVal web site. These are all formatted so they can be read using the function sceneFromFile.

The multispectral data are tyically stored in a compressed format, using the singular value decomposition (principal components).

When the data are compressed, the files contain the following variables:

Other multispectral and hyperspectral data can be downloaded from

https://exhibits.stanford.edu/data/browse/iset-hyperspectral-image-database

See also: s_sceneFromRGB, sceneFromFile

Copyright ImagEval Consulting LLC, 2013

Contents

ieInit;

Name the scene data file

fullFileName = fullfile(isetRootPath,...
    'data','images','multispectral','StuffedAnimals_tungsten-hdrs');

Specify the wavelength sampling

wList = (400:10:700);
meanLuminance = [];  % Accepts the data
display = [];        % Use default ISET display structure (displayCreate)

Read the file and display the scene

scene = sceneFromFile(fullFileName,'multispectral',meanLuminance,display,wList);
ieAddObject(scene); sceneWindow
Reading multispectral data with mcCOEF.
Saved using svd method

ans = 

  sceneWindow_App with properties:

                        figure1: [1×1 Figure]
                       FileMenu: [1×1 Menu]
                   menuFileLoad: [1×1 Menu]
                   menuFileSave: [1×1 Menu]
                  menuSaveImage: [1×1 Menu]
                menuFileRefresh: [1×1 Menu]
                  menuFileClose: [1×1 Menu]
                       menuEdit: [1×1 Menu]
              menuEditSceneName: [1×1 Menu]
               menuEditNewScene: [1×1 Menu]
                  menuCopyScene: [1×1 Menu]
                 menuEditDelete: [1×1 Menu]
             menuEditDeleteSome: [1×1 Menu]
                   menuSpectral: [1×1 Menu]
                     menuSPDdiv: [1×1 Menu]
                    menuSPDMult: [1×1 Menu]
          menuEditSetIlluminant: [1×1 Menu]
               menuResampleWave: [1×1 Menu]
       menuEditAdjustMonochrome: [1×1 Menu]
              menuEditTransform: [1×1 Menu]
              menuEditScaleSize: [1×1 Menu]
                       editCrop: [1×1 Menu]
              menuEditTranspose: [1×1 Menu]
                 menuEditRotate: [1×1 Menu]
                  menuEditRotCW: [1×1 Menu]
                 menuEditRotCCW: [1×1 Menu]
                   menuEditFlip: [1×1 Menu]
         menuEditFlipHorizontal: [1×1 Menu]
           menuEditFlipVertical: [1×1 Menu]
               menuEditFontSize: [1×1 Menu]
            menuEditClearWindow: [1×1 Menu]
                 menuEditViewer: [1×1 Menu]
                       PlotMenu: [1×1 Menu]
               menuPlotRadiance: [1×1 Menu]
              menuPlotRadianceE: [1×1 Menu]
              menuPlotRadImGrid: [1×1 Menu]
           menuPlotIllumPhotons: [1×1 Menu]
             menuPlotIlluminant: [1×1 Menu]
        menuPlotIlluminantImage: [1×1 Menu]
            menuPlotReflectance: [1×1 Menu]
             menuPlotImTrueSize: [1×1 Menu]
            menuPlotMultipleRGB: [1×1 Menu]
          menuPlotImageSpectral: [1×1 Menu]
                  menuPlotDepth: [1×1 Menu]
           menuPlotDepthContour: [1×1 Menu]
                      menuScene: [1×1 Menu]
               menuSceneMacbeth: [1×1 Menu]
       menuSceneMacbethTungsten: [1×1 Menu]
            menuSceneMacbethD50: [1×1 Menu]
            menuSceneMacbethD65: [1×1 Menu]
              menuSceneMacbethC: [1×1 Menu]
    menuSceneMacbethFluorescent: [1×1 Menu]
          menuSceneMacbethVisIR: [1×1 Menu]
                 menuSceneLstar: [1×1 Menu]
                 menuScenesTest: [1×1 Menu]
                menuScenesSweep: [1×1 Menu]
                   menuHarmonic: [1×1 Menu]
            menuSceneFreqOrient: [1×1 Menu]
            menuSceneSlantedBar: [1×1 Menu]
             menuSceneZonePlate: [1×1 Menu]
                menuSceneMackay: [1×1 Menu]
          menuSceneCheckerboard: [1×1 Menu]
            menuScenePointArray: [1×1 Menu]
             menuSceneGridLines: [1×1 Menu]
              menuSceneTestLine: [1×1 Menu]
           menuSceneRadialLines: [1×1 Menu]
                    menuUniform: [1×1 Menu]
         menuSceneUniformPhoton: [1×1 Menu]
             menuSceneUniformEE: [1×1 Menu]
                 menuUniformD65: [1×1 Menu]
      menuSceneUniformEESpecify: [1×1 Menu]
      menuSceneUniformBBspecify: [1×1 Menu]
                 menuScenesRamp: [1×1 Menu]
                 menuSceneNoise: [1×1 Menu]
                  menuSceneFile: [1×1 Menu]
             menuSceneMultiSpec: [1×1 Menu]
             menuSceneChooseRGB: [1×1 Menu]
         menuFileChooseFileMono: [1×1 Menu]
                         menuAn: [1×1 Menu]
                menuAnalyzeLine: [1×1 Menu]
               menuAnalyzeLineH: [1×1 Menu]
               menuAnalyzeLineV: [1×1 Menu]
               menuAnalyzeLFFTH: [1×1 Menu]
               menuAnalyzeLFFTv: [1×1 Menu]
            menuAnalyzeLineWave: [1×1 Menu]
                 menuAnalyzeLWH: [1×1 Menu]
                 menuAnalyzeLWV: [1×1 Menu]
                 menuAnalyzeROI: [1×1 Menu]
                  menuLuminance: [1×1 Menu]
        menuAnalyzeChromaticity: [1×1 Menu]
                  menPlotLumLin: [1×1 Menu]
                  PlotLuminance: [1×1 Menu]
            menuAnIlluminantCCT: [1×1 Menu]
                       menuHelp: [1×1 Menu]
       menuHelpSceneProgrammers: [1×1 Menu]
              menuHelpProgGuide: [1×1 Menu]
               menuHelpAppNotes: [1×1 Menu]
                        UITable: [1×1 Table]
                          Panel: [1×1 Panel]
                     txtMessage: [1×1 Label]
                        Panel_2: [1×1 Panel]
                    popupRender: [1×1 DropDown]
                         text21: [1×1 Label]
                txtDisplayGamma: [1×1 Label]
                      editGamma: [1×1 EditField]
                        btnPrev: [1×1 Button]
                        btnNext: [1×1 Button]
               popupSelectScene: [1×1 DropDown]
                     sceneImage: [1×1 UIAxes]
                 MoreinfoButton: [1×1 Button]
                 boxDescription: [1×1 ButtonGroup]
            txtSceneDescription: [1×1 Label]
                       boxScene: [1×1 ButtonGroup]
                           txtM: [1×1 Label]
                        txtDist: [1×1 Label]
                   editDistance: [1×1 EditField]
                         txtDeg: [1×1 Label]
                         txtFOV: [1×1 Label]
                     editHorFOV: [1×1 EditField]
                        txtCDM2: [1×1 Label]
                         txtLum: [1×1 Label]
                  editLuminance: [1×1 EditField]
                      imageMenu: [1×1 ContextMenu]
                 HorLumLineMenu: [1×1 Menu]
                    RefreshMenu: [1×1 Menu]