コード例 #1
0
Outputs:
	det_out - dictionary of RGB image, ground truth image, and detector outputs

6/2/2018 - Alina Zare
10/12/2018 - Python Implementation by Yutai Zhou
"""
# Load data
an_hsi_img_for_tgt_det_demo = loadmat('an_hsi_img_for_tgt_det_demo.mat')
hsi_sub = an_hsi_img_for_tgt_det_demo['hsi_sub']
tgt_spectra = an_hsi_img_for_tgt_det_demo['tgt_spectra']
tgt_spectra = tgt_spectra.squeeze()
wavelengths = an_hsi_img_for_tgt_det_demo['wavelengths']
gt_img_sub = an_hsi_img_for_tgt_det_demo['gtImg_sub']

det_out = {}
det_out['RGB'] = get_RGB(hsi_sub, wavelengths)
det_out['Ground Truth'] = gt_img_sub

# init detector args
guard_win = 1
bg_win = 3
beta = 0.001
n_dim_ss = 10
ems = hsi_sub[:3,
              1, :].T  # need to provide background endmembers (can get them using SPICE unmixing)

# call detectors
abd_out = abd_detector(hsi_sub, tgt_spectra, ems)
det_out['ABD'] = abd_out
ace_out, _, _ = ace_detector(hsi_sub, tgt_spectra)
det_out['ACE Squared'] = ace_out
コード例 #2
0
#
# Outputs:
#   im_reduced: cell array containing reduced data results
#
# Author: Alina Zare
# Email Address: [email protected]
# Created: June 3, 2018

# load data
an_hsi_image_sub_for_demo = loadmat('an_hsi_image_sub_for_demo.mat')
img = an_hsi_image_sub_for_demo['hsi_img_sub']
wavelengths = an_hsi_image_sub_for_demo['wavelengths']

# run hdr
hdr_out = dimReduction(img)
# run mnf
mnf_out = mnf(img, 0.999)[0]
mnf_out = (mnf_out - np.min(mnf_out)) / np.max(mnf_out)

# visualize
plt.subplot(1, 3, 1)
plt.title("RGB Image")
plt.imshow(get_RGB(img, wavelengths))
plt.subplot(1, 3, 2)
plt.title("HDR Image")
plt.imshow(hdr_out[:, :, :3])
plt.subplot(1, 3, 3)
plt.title("MNF Image")
plt.imshow(mnf_out[:, :, :3])
plt.show()
コード例 #3
0
	    if not present or empty, no mask restrictions are used
	wavelength - 1 x n_band vector listing wavelength values for hsi_img in nm

Outputs:
  class_out - dictionary of rgb image and classifier outputs

6/3/2018 - Alina Zare
10/2018 - Python Implementation by Yutai Zhou
"""
an_hsi_img_for_class_demo = loadmat('an_hsi_img_for_class_demo.mat')
hsi_img = an_hsi_img_for_class_demo['hsi_sub']
train_data = an_hsi_img_for_class_demo['train_data']
wavelength = an_hsi_img_for_class_demo['wavlength']

class_out = {}
class_out['RGB'] = get_RGB(hsi_img, wavelength)
class_out['KNN'] = knn_classifier(hsi_img, train_data, K = 3)
class_out['FKNN'] = fuzzy_knn_classifier(hsi_img, train_data, K = 3, m = 2.1)
class_out['PKNN'] = poss_knn_classifier(hsi_img, train_data, K = 3, eta = 0.01, m = 2.1)

# KNN Results
fig, ax = plt.subplots(1,2,figsize=(15, 8))
plt.subplots_adjust(hspace=.5)
plt.suptitle('KNN Results')

ax[0].imshow(class_out['RGB']); ax[0].set_title('RGB')
cax = ax[1].imshow(class_out['KNN']); ax[1].set_title('KNN')
cbar = fig.colorbar(cax, ticks=[i for i in range(len(train_data[0]))], orientation='vertical')
cbar.ax.set_yticklabels([i[0] for i in train_data[0][:]['name']])

# Fuzzy KNN Results