Munsell soil color chart: A hyperspectral dataset
Description
This dataset contains hyperspectral images obtained using SPECIM IQ for the Munsell soil color chart (MSC).
The hyperspectral images are stored in ENVI format. For those who are only interested in the endmember spectra for the MSC, we also provided the spectral library .sli and .hdr inside the endmembers folder.
The acquisition details for each image can be found in the .hdr file and metadata folder inside the whole folder. For the whole image, the acquisition details are:
Table 1. Acquisition details
samples | 512 |
lines | 512 |
bands | 204 |
default bands | 70, 53,19 |
binning | 1,1 |
tint (integration time) | 10 (ms) |
fps | 100 |
wavelength range | 397.32 - 1003.58 nm |
The dataset is organized into several folders, each containing different types of datasets.
- whole folder contains the entire scene hyperspectral image. This folder contains capture, metadata, and results subfolder.
- .png inside the folder is natural color plotting (RGB from default bands in Table. 1) from captured hyperspectral image.
- capture folder contains dark reference, white reference and radiance data
- metadata folder contains the metadata of the acquisition and device settings.
- results contains the reflectance calculated by the device (in .dat, .hdr and rendered natural plotting in .png ) from the hyperspectral camera and .png images of the scene, background, and viewfinder from the device's RGB camera.
-
chips folder contains only the cropped 20*20 voxels for each color chip reflectances. Each page has its own folder and each folder contains .hdr and .img for each color chip.
-
endmembers folder contains the spectral library (.sli and .hdr). Each page in MSC have their own .sli and .hdr.
Some of the code snippets that might help to read the dataset
using python spectral library to load the dataset
from spectral import *
import matplotlib.pyplot as plt
# load the hyperspectral image .hdr and store it to a variable
hsi = open_image(PATH)
# get the natural RGB plotting of the hyperspectral image using the SPECIM main band
hsi_rgb = hsi[:,:,[70,53,19]]
# read the spectral library .sli and store it to a variable
sli = open_image(PATH)
# plot the first endmember
plt.plot(sli.spectra[0])
# get the endmembers name
sli.names
if you have any question kindly reach me on riestiyf@stud.ntnu.no