Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-1
ECE-1467ECE-1467Subsurface ImagingSubsurface Imaging
Course NotesCourse NotesPart 5: Lab ExperimentsPart 5: Lab Experiments
Profs. Brooks and DiMarzio
Northeastern University
Spring 2004
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-2
HOSIS Instrumentation Block HOSIS Instrumentation Block DiagramDiagram
Computer System with Video Board
Processed Images
Tunable FilterSee SupplementaryNotes
CCD Camera
Halogen Lamp
Target Tissue
Thanks to Peter Dwyer atLucid Technologies, MGH, and NU
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-3
Hyperspectral ImagerHyperspectral Imager
Camera
Filter (Polarized Input)
Object Plane
Light Source(Quartz-HalogenThrough Fiber)With Polarizer
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-4
Why Polarized Light?Why Polarized Light?Single Scatter tends toPreserve Polarization
(Not always, of course) Vert
Vert
Hor
Hor
Multiple Scatter tends toDestroy Polarization
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-5
Live-Capture ModeLive-Capture Mode
Frame the Picture Adjust Exposure Monitor Zeros
– Shown in Blue
Monitor Saturation– Shown in Pink
Signal Voltage
2N-1
0
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-6
HSI ProgramsHSI Programs
An Introduction to the tools used for Hyperspectral Imaging
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-7
Frame GrabberFrame Grabber
GUIAllows user to input starting and final
wavelengths, steps between and average pictures per.
Shows real time images for target alignment and focusing
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-8
Frame Grabber ScreenshotFrame Grabber Screenshot
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-9
qFinderqFinder
The Q Finder measures pixel values for the user defined bandwidth and adjusts attenuation where needed.
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-10
qFinder function call and qFinder function call and ScreenshotsScreenshots
qFinder(target_count, start, step, stop)qFinder(200,400,10,720)
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-11
hsi3hsi3
Shows cross sections of the HSI data cube, and measures reflectance spectrum for selected regions.
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-12
hsi3 function call and hsi3 function call and ScreenshotScreenshot
Hsi3(data, wavelengths, hilimit)hsi3(Whole_Image,wavelength_list, 1)
400 500 600 7000
0.2
0.4
0.6
0.8
1
, Wavelength, nm
column141, row243
0
0.2
0.4
0.6
0.8
1
x
y
CD+MK HSI3-rev1.01 for Matlab 6p1: 16
=550
200400
100
200
300
400
500
600
0
0.2
0.4
0.6
0.8
1
, Wavelength, nm
y
column141
400 500 600 700
100
200
300
400
500
600
0
0.2
0.4
0.6
0.8
1 row243
100200300400
400
500
600
700
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-13
MATLAB Command LinesMATLAB Command Linesfgfg;
save moose elk caribou wombat
load moose
hsi3(elk,wavelength_list,255);
Run our GUI-based framegrabber program
Matlab function to save a file called moose.mat containingthe variables elk, caribou, and wombat.
Matlab function to load all the variables stored in moose.mat
Display the datacube elk, with wavelength_list on the wavelength axis, and a colorbar that goes from 0 to 255.
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-14
More MATLAB Command More MATLAB Command LinesLines
showmepics(elk,255);
imagesc(squeeze(elk(:,:,3));
axis image; colorbar;
Matlab function to show an image as a function of x and yfor the third value of wavelength.
Matlab functions to make pixels equal size in both directions and to display a colorbar beside it.
Our function to run imagesc on every wavelength.
imagesc(squeeze(elk(:,200,:));Matlab function to show an image as a function of wavelength and y for the 200th value of y.
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-15
A Sample Run: CollectionA Sample Run: Collection
fg;id=‘White’save white Whole_Image wavelength_list id
hsi3( Whole_Image,wavelength_list,255);
Image the White Standard
Check Levels
fg;id=‘Moose’save moose Whole_Image wavelength_list id
hsi3( Whole_Image,wavelength_list,255);
Image the Object
Check Levels
Jan 03 C. DiMarzio/M. Costanzo, NU 10471-5-16
A Sample Run: ProcessingA Sample Run: Processing
fg;id=‘Dark’save dark Whole_Image wavelength_list id
Image the Dark Level (Not Used with this camera)
load white; white= double(Whole_Image);load moose; moose= double(Whole_Image);load dark; dark= Whole_Image;
hsi3(refl,wavelength_list,1.2);
Load and Process
refl=(moose-dark)./(white-dark);
Load ‘em all and give ‘em the right names.
Calculate thereflectance
Max value “should”be 1.0?
Instead, Use dark=-23;