Extracting wavelength vector from an .hdr file
6 views (last 30 days)
Show older comments
Hi all,
I am fairly new to MATLAB.
I'd like to extract a number of wavelengths as a vector from an .hdr file (see below). They are one value per line, preceded by four spaces, followed by a comma, and start at line 21 and stop at line 224 of the file.
How can I read them into matlab?
Thank you in advance!
.hdr file contents:
ENVI
description = {Data recorded with Specim IQ}
samples = 512
lines = 512
bands = 204
header offset = 0
file type = ENVI
data type = 12
interleave = BIL
sensor type = SPECIM IQ
byte order = 0
default bands = {70,53,19}
latitude = 0.00000000
longitude = 0.00000000
acquisition date = 23-05-2019
errors = none
binning = {1,1}
tint = 3
fps = 150
wavelength = {
397.32,
400.20,
403.09,
405.97,
408.85,
411.74,
414.63,
417.52,
420.40,
423.29,
426.19,
429.08,
431.97,
434.87,
437.76,
440.66,
443.56,
446.45,
449.35,
452.25,
455.16,
458.06,
460.96,
463.87,
466.77,
469.68,
472.59,
475.50,
478.41,
481.32,
484.23,
487.14,
490.06,
492.97,
495.89,
498.80,
501.72,
504.64,
507.56,
510.48,
513.40,
516.33,
519.25,
522.18,
525.10,
528.03,
530.96,
533.89,
536.82,
539.75,
542.68,
545.62,
548.55,
551.49,
554.43,
557.36,
560.30,
563.24,
566.18,
569.12,
572.07,
575.01,
577.96,
580.90,
583.85,
586.80,
589.75,
592.70,
595.65,
598.60,
601.55,
604.51,
607.46,
610.42,
613.38,
616.34,
619.30,
622.26,
625.22,
628.18,
631.15,
634.11,
637.08,
640.04,
643.01,
645.98,
648.95,
651.92,
654.89,
657.87,
660.84,
663.81,
666.79,
669.77,
672.75,
675.73,
678.71,
681.69,
684.67,
687.65,
690.64,
693.62,
696.61,
699.60,
702.58,
705.57,
708.57,
711.56,
714.55,
717.54,
720.54,
723.53,
726.53,
729.53,
732.53,
735.53,
738.53,
741.53,
744.53,
747.54,
750.54,
753.55,
756.56,
759.56,
762.57,
765.58,
768.60,
771.61,
774.62,
777.64,
780.65,
783.67,
786.68,
789.70,
792.72,
795.74,
798.77,
801.79,
804.81,
807.84,
810.86,
813.89,
816.92,
819.95,
822.98,
826.01,
829.04,
832.07,
835.11,
838.14,
841.18,
844.22,
847.25,
850.29,
853.33,
856.37,
859.42,
862.46,
865.50,
868.55,
871.60,
874.64,
877.69,
880.74,
883.79,
886.84,
889.90,
892.95,
896.01,
899.06,
902.12,
905.18,
908.24,
911.30,
914.36,
917.42,
920.48,
923.55,
926.61,
929.68,
932.74,
935.81,
938.88,
941.95,
945.02,
948.10,
951.17,
954.24,
957.32,
960.40,
963.47,
966.55,
969.63,
972.71,
975.79,
978.88,
981.96,
985.05,
988.13,
991.22,
994.31,
997.40,
1000.49,
1003.58
}
0 Comments
Answers (2)
Subhadeep Koley
on 16 Nov 2020
% Load the HDR information
info = enviinfo('yourFile.hdr');
% Extract out the wavelength values
wavelengthValues = info.Wavelength;
The above mentioned feture comes under Image Processing Toolbox's Hyperspectral Imaging Library support package, and can be downloaded from here. For more information on Hyperspectral Imaging Library see the documentation.
0 Comments
R. Rocha de Oliveira
on 31 Jul 2019
Try to use "impot data" option in matlab. Usualy you can define the delimiters, start and end row.
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!