def get_padded_feature_stack(window_size, correction_switch, degree, pad=-1): eigen_full=extract_polarimetric.eigen_raster_full(window_size, correction_switch, degree) #9 is the window size cov_arr=extract_polarimetric.extract_covariance_arr(window_size, correction_switch, degree) #padding=int(np.floor(window_size/2)) padding=window_size//2 if pad!=0 else 0 Ihh=np.pad(cov_arr[...,0,0], padding, 'constant') Ihv=np.pad(cov_arr[...,1,1], padding, 'constant') Ivv=np.pad(cov_arr[...,2,2], padding, 'constant') arr_lamb1=np.pad(eigen_full[:,:,2], padding, 'constant') arr_lamb2=np.pad(eigen_full[:,:,1], padding, 'constant') arr_lamb3=np.pad(eigen_full[:,:,0], padding, 'constant') co_pol_dif=np.pad(extract_polarimetric.co_pol_diff(cov_arr), padding, 'constant') arr_det_cov=np.pad(np.absolute(extract_polarimetric.determinant_cov_conj(cov_arr)), padding, 'constant') R_co = Rco_X = np.pad(np.real(cov_arr[...,0,2]), padding, 'constant') Ico_X = np.pad(np.absolute(np.imag(cov_arr[...,0,2])), padding, 'constant') #return np.dstack((np.real(Ihh),np.real(Ihv),np.real(Ivv),np.real(arr_lamb1), np.real(arr_lamb2), np.real(arr_lamb3), np.absolute(co_pol_dif),R_co, Ico_X, np.absolute(arr_det_cov))) return np.dstack((np.real(Ihh),np.real(Ihv),np.real(Ivv),np.real(arr_lamb1), np.real(arr_lamb2), np.real(arr_lamb3), np.absolute(co_pol_dif), np.absolute(arr_det_cov)))#,R_co, Ico_X
def krogager_array(window_size, correction, degree): cov_arr=extract_polarimetric.extract_covariance_arr(window_size, correction, degree) clip_extremes=True ShhShh=cov_arr[:,:,0,0] SvvSvv=cov_arr[:,:,2,2] ShvShv=cov_arr[:,:,1,1] ShhSvv_=cov_arr[:,:,0,2] Shh_Svv=cov_arr[:,:,2,0] co_pol_sum_mag=ShhShh+SvvSvv+ShhSvv_+Shh_Svv co_pol_diff_mag=ShhShh+SvvSvv-ShhSvv_-Shh_Svv ShvShh_=cov_arr[:,:,1,0]/np.sqrt(2) ShvSvv_=cov_arr[:,:,1,2]/np.sqrt(2) Shv_Shh=cov_arr[:,:,0,1]/np.sqrt(2) Shv_Svv=cov_arr[:,:,2,1]/np.sqrt(2) iota=1j Srr_mag_complex=ShvShv+ 0.25*co_pol_diff_mag +iota*(ShvShh_-ShvSvv_-Shv_Shh-Shv_Svv)#jShv+0.5*(Shh-Svv)) Srr_mod=np.absolute(Srr_mag_complex) Sll_mag_complex=ShvShv+ 0.25*co_pol_diff_mag -iota*(ShvShh_-ShvSvv_-Shv_Shh-Shv_Svv)#jShv-0.5*(Shh-Svv)) Sll_mod=np.absolute(Sll_mag_complex) Srl_mag=ShhShh+SvvSvv+iota*(ShhSvv_+Shh_Svv) Srl_mod=np.absolute(Srl_mag) ks=Srl_mod #if(Srr_mod>Sll_mod): kd=np.minimum(Sll_mod, Srr_mod) kh=np.maximum(Sll_mod, Srr_mod)-kd #else: #kd=Srr_mod #kh=Sll_mod-Srr_mod return np.dstack((kd,kh,kh)) #mod-> k**2
def plot_feature_space_test(window_size): eigen_arr = extract_polarimetric.eigen_raster_full(window_size) cov_arr = extract_polarimetric.extract_covariance_arr(window_size, False) cppr = np.absolute(extract_polarimetric.co_pol_power_ratio_1(cov_arr)) co_pol_diff = np.absolute(extract_polarimetric.co_pol_diff(cov_arr)) lambda_3 = np.absolute(eigen_arr[:, :, 0]) plot_feature_space(co_pol_diff, lambda_3)
def cloude_pottier(window_size): fig, ax = plt.subplots(nrows=3, ncols=3) arr = extract_polarimetric.eigen_raster_full(window_size) cov_arr = extract_polarimetric.extract_covariance_arr(window_size) plt.subplot(3, 3, 1) plt.imshow(arr[:, :, 2], cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('lambda_1') plt.colorbar() plt.subplot(3, 3, 2) plt.imshow(arr[:, :, 1], cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('lambda_2') plt.colorbar() plt.subplot(3, 3, 3) plt.imshow(arr[:, :, 0], cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('lambda_3') plt.colorbar() plt.subplot(3, 3, 4) plt.imshow(extract_polarimetric.entropy(arr), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Entropy') plt.colorbar() plt.subplot(3, 3, 5) plt.imshow(extract_polarimetric.anisotropy(arr), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Anisotropy') plt.colorbar() plt.subplot(3, 3, 6) plt.imshow(extract_polarimetric.pol_fraction(arr), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Pol_fraction') plt.colorbar() plt.subplot(3, 3, 7) plt.imshow(extract_polarimetric.pedestal_height(arr), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('pedestal_height') plt.colorbar() plt.show()
def Pauli_RGB_array(window_size, correction): cov_arr = extract_polarimetric.extract_covariance_arr( window_size, correction) Shh = np.real(cov_arr[:, :, 0, 0]) Svv = np.real(cov_arr[:, :, 2, 2]) Shv = np.real(cov_arr[:, :, 1, 1]) b = hist_stretch_all(Shh + Svv, 0) r = hist_stretch_all(np.absolute(Shh - Svv), 0) g = hist_stretch_all(Shv, 0) img_arr = np.dstack((r, g, b)) return img_arr
def Freeman_Durdun_Decomposition_1(window_size, correction, degree): #, leaping_win=False, stride_row=1, stride_col=1 cov_arr=extract_polarimetric.extract_covariance_arr(window_size, correction, degree) c11=cov_arr[:,:,0,0] c22=cov_arr[:,:,1,1] c33=cov_arr[:,:,2,2] c13=cov_arr[:,:,0,2] c13_re=np.real(c13) c13_im=np.imag(c13) shp=c11.shape rows=shp[0] cols=shp[1] alpha=beta=fv=fs=fd=np.empty((rows, cols), dtype=np.complex64) #=c11,c11,c11 #Freeman algo #fv=1.5*c22 #c11=c11-fv #c33=c33-fv #c13_re=c13_re-(fv/3) stride_row, stride_col=1,1 for i in range(0, rows, stride_row): for j in range(0, cols, stride_col): fv[i,j]=1.5*c22[i,j] c11[i,j]=c11[i,j]-fv[i,j] c33[i,j]=c33[i,j]-fv[i,j] c13_re[i,j]=c13_re[i,j]-(fv[i,j]/3) #single bounce scattering dominates if(c13_re[i,j]>=0): #print(i,j) alpha[i,j]=-1 fd[i,j]=(c11[i,j]*c33[i,j] - c13_re[i,j]**2 - c13_im[i,j]**2)/(c11[i,j]+c33[i,j]-2*c13_re[i,j]) fs[i,j]=c33[i,j]-fd[i,j] beta[i,j]=np.sqrt((fd[i,j]+c13_re[i,j]) * (fd[i,j]-c13_re[i,j]) + c13_im[i,j]**2)/fs[i,j] #single bounce scattering dominates if(c13_re[i,j]<0): #print(i,j) beta[i,j]=1 fs[i,j]=(c11[i,j]*c33[i,j] - c13_re[i,j]**2 - c13_im[i,j]**2)/(c11[i,j]+c33[i,j]-2*c13_re[i,j]) fd[i,j]=c33[i,j]-fs[i,j] alpha[i,j]=np.sqrt((fs[i,j]+c13_re[i,j]) * (fs[i,j]-c13_re[i,j]) + c13_im[i,j]**2)/fd[i,j] print(i) Ps=fs*(1+np.absolute(beta)**2) Pd=fd*(1+np.absolute(alpha)**2) Pv=8*fv/3 return np.dstack((Pd,Pv,Ps))
def make_cov_arr_df(window_size, correction_switch, degree): cov_arr = extract_polarimetric.extract_covariance_arr( window_size, correction_switch, degree) shp_cov = cov_arr.shape linear_cov_arr = np.reshape( cov_arr, (np.prod(shp_cov[:2]), shp_cov[2] * shp_cov[3])) #print(linear_cov_arr[1]) cov_df = pd.DataFrame(linear_cov_arr, columns=[ 'Ihh', 'ShhShv', 'ShhSvv', 'ShvShh', 'Ihv', 'ShvSvv', 'SvvShh', 'SvvShv', 'Ivv' ]) #cov_df=cov_df.drop(['ShvShh','SvvShh','SvvShv'], axis=1) return cov_df
def polarimetric_features(window_size): fig, ax = plt.subplots(nrows=2, ncols=3) #arr=extract_polarimetric.eigen_raster_full(window_size) cov_arr = extract_polarimetric.extract_covariance_arr(window_size, False) plt.subplot(2, 3, 1) plt.imshow(np.absolute(extract_polarimetric.co_pol_power_ratio_1(cov_arr)), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Ivv/Ihh (Co-pol power ratio)') plt.colorbar() plt.subplot(2, 3, 2) plt.imshow(np.absolute(extract_polarimetric.determinant_cov(cov_arr)), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Det(Cov)') plt.colorbar() plt.subplot(2, 3, 3) plt.imshow(np.absolute(extract_polarimetric.co_pol_diff(cov_arr)), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Co-pol diff (Ihh-Ivv)') plt.colorbar() plt.subplot(2, 3, 4) plt.imshow(np.real(extract_polarimetric.co_pol_cross_product(cov_arr)), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Real(ShhSvv) co-pol cross_product') plt.colorbar() plt.subplot(2, 3, 5) plt.imshow(np.imag(extract_polarimetric.co_pol_cross_product(cov_arr)), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Imag(ShhSvv) Co-pol cross_product') plt.colorbar() plt.show()
def read_Pol_features(window_size, correction_switch, degree, rescale_switch = False, log_Transform_switch = False): #os.chdir('../') eigen_full = extract_polarimetric.eigen_raster_full(window_size, correction_switch, degree) #9 is the window size cov_arr = extract_polarimetric.extract_covariance_arr(window_size, correction_switch, degree) arr_lamb1=np.absolute(eigen_full[:,:,2]) arr_lamb2=np.absolute(eigen_full[:,:,1]) arr_lamb3=np.absolute(eigen_full[:,:,0]) co_pol_dif=np.absolute(extract_polarimetric.co_pol_diff(cov_arr)) arr_det_cov=np.absolute(extract_polarimetric.determinant_cov_conj(cov_arr)) Rco_X = np.real(cov_arr[...,0,2]) Ico_X = abs(np.imag(cov_arr[...,0,2])) I_hh = np.absolute(cov_arr[...,0,0]) I_hv = np.absolute(cov_arr[...,1,1]) I_vv = np.absolute(cov_arr[...,2,2]) if (log_Transform_switch ==True): arr_lamb1 = np.log10(arr_lamb1) arr_lamb2 = np.log10(arr_lamb2) arr_lamb3 = np.log10(arr_lamb3) co_pol_dif = np.log10(co_pol_dif) arr_det_cov = np.log10(arr_det_cov) Rco_X = np.log10(Rco_X) Ico_X = np.log10(Ico_X) I_hh = np.log10(I_hh) I_hv = np.log10(I_hv) I_vv = np.log10(I_vv) if(rescale_switch == True): arr_lamb1=rescale(arr_lamb1) arr_lamb2=rescale(arr_lamb2) arr_lamb3=rescale(arr_lamb3) co_pol_dif = rescale(co_pol_dif) arr_det_cov = rescale(arr_det_cov) Rco_X = rescale(Rco_X) Ico_X = rescale(Ico_X) I_hh = rescale(I_hh) I_hv = rescale(I_hv) I_vv = rescale(I_vv) #if(log_Transform_switch ==True): #return 10*np.log10(np.dstack((arr_lamb1, arr_lamb2, arr_lamb3, co_pol_dif, arr_det_cov, Rco_X, Ico_X, I_hh, I_hv, I_vv))) #else: return np.dstack((arr_lamb1, arr_lamb2, arr_lamb3, co_pol_dif, arr_det_cov, Rco_X, Ico_X, I_hh, I_hv, I_vv))
def Pauli_RGB_array(window_size, correction, degree): cov_arr=extract_polarimetric.extract_covariance_arr(window_size, correction, degree) clip_extremes=True ShhShh=cov_arr[:,:,0,0] SvvSvv=cov_arr[:,:,2,2] ShvShv=cov_arr[:,:,1,1] ShhSvv_=cov_arr[:,:,0,2] Shh_Svv=cov_arr[:,:,2,0] co_pol_sum_mag=ShhShh+SvvSvv+ShhSvv_+Shh_Svv co_pol_diff_mag=ShhShh+SvvSvv-ShhSvv_-Shh_Svv #b=plotting.hist_stretch_all(np.real(co_pol_sum_mag)/2, 0, clip_extremes) #r=plotting.hist_stretch_all(np.real(co_pol_diff_mag)/2, 0, clip_extremes) #g=plotting.hist_stretch_all(np.real(ShvShv), 0, clip_extremes) b=np.real(co_pol_sum_mag)/2 r=np.real(co_pol_diff_mag)/2 g=np.real(ShvShv) img_arr=np.dstack((r,g,b)) #print(np.imag(co_pol_sum_mag)) #print(np.imag(co_pol_diff_mag)) return img_arr
def plot_all_UAVSAR_features(directory_MLC, window_size, correction_switch, degree): os.chdir(directory_MLC) #ax = plt.subplots(3,3) matplotlib.rcParams.update({'font.size': 3}) cov_arr = extract_polarimetric.extract_covariance_arr( window_size, correction_switch, degree) coh_arr = extract_polarimetric.extract_coherency_arr( window_size, correction_switch, degree) #===============1============= plt.subplot(5, 4, 1) plt.imshow(10 * np.log10(np.absolute(cov_arr[..., 0, 0])), cmap='gray') plt.colorbar(label='dB') plt.ylabel('Azimuth') plt.title('$I_{HH}$') plt.subplot(5, 4, 2) plt.imshow(10 * np.log10(np.absolute(cov_arr[..., 1, 1])), cmap='gray') plt.colorbar(label='dB') #plt.ylabel('Azimuth') plt.title('$I_{HV}$') plt.subplot(5, 4, 3) plt.imshow(10 * np.log10(np.absolute(cov_arr[..., 2, 2])), cmap='gray') plt.colorbar(label='dB') #plt.ylabel('Azimuth') plt.title('$I_{VV}$') #===============1============= arr_co_pol_pow_ratio = extract_polarimetric.co_pol_power_ratio_1(cov_arr) plt.subplot(5, 4, 4) plt.imshow(np.absolute(arr_co_pol_pow_ratio), cmap='gray') plt.colorbar() #plt.ylabel('Azimuth') plt.title('$\gamma_{CO}$') #===============2============= Rco_X = np.real(cov_arr[..., 0, 2]) Ico_X = np.imag(cov_arr[..., 0, 2]) plt.subplot(5, 4, 5) plt.imshow(10 * np.log10(Rco_X), cmap='gray') plt.colorbar(label='dB') plt.title('$r_{CO}$') plt.ylabel('Azimuth') #===============6============= plt.subplot(5, 4, 6) plt.imshow(10 * np.log10(abs(Ico_X)), cmap='gray') plt.colorbar(label='dB') plt.title('$|i_{CO}|$') #===============4============= plt.subplot(5, 4, 7) slc_dir = '/home/anurag/Documents/MScProject/SAR/OilSpill/North_Sea_UAVSAR/UAV_norway/UA_norway_00709_15092_000_150610_L090_CX_02' sd_phase_diff = extract_polarimetric.sd_co_pol_phase_diff(slc_dir) plt.imshow(np.absolute(sd_phase_diff), cmap='gray') plt.colorbar() plt.title('$\phi_{CO}$') #===============5============= plt.subplot(5, 4, 8) plt.imshow(10 * np.log10(extract_polarimetric.determinant_cov(cov_arr)), cmap='gray') plt.colorbar(label='dB') plt.title('$det (C_{FP})$') #plt.ylabel('Azimuth') #===============6============= plt.subplot(5, 4, 9) plt.imshow(10 * np.log10(np.absolute(cov_arr[..., 0, 0] - cov_arr[..., 2, 2])), cmap='gray') plt.colorbar(label='dB') plt.title('PD') plt.ylabel('Azimuth') #===============7============= plt.subplot(5, 4, 10) plt.imshow(np.absolute(cov_arr[..., 1, 1]) / np.absolute( (cov_arr[..., 0, 0] + cov_arr[..., 2, 2])), cmap='gray') plt.colorbar() plt.title('$P_{X}$') #===============8============= eigen_full = extract_polarimetric.eigen_raster_full( window_size, correction_switch, degree) arr_lamb1 = eigen_full[:, :, 2] arr_lamb2 = eigen_full[:, :, 1] arr_lamb3 = eigen_full[:, :, 0] #===============8============= plt.subplot(5, 4, 11) plt.imshow(10 * np.log10(np.absolute(arr_lamb1)), cmap='gray') plt.colorbar(label='dB') plt.title('$\lambda_{1}$') #===============9============= plt.subplot(5, 4, 12) plt.imshow(10 * np.log10(np.absolute(arr_lamb2)), cmap='gray') plt.colorbar(label='dB') #plt.ylabel('Azimuth') plt.title('$\lambda_{2}$') #===============10============= plt.subplot(5, 4, 13) plt.imshow(10 * np.log10(np.absolute(arr_lamb3)), cmap='gray') plt.colorbar(label='dB') plt.title('$\lambda_{3}$') plt.ylabel('Azimuth') #===============11============= plt.subplot(5, 4, 14) arr_ent = extract_polarimetric.entropy(eigen_full) plt.imshow(10 * np.log10(np.absolute(arr_ent)), cmap='gray') plt.colorbar() plt.title('$H$') #===============12============= plt.subplot(5, 4, 15) arr_pol_frac = extract_polarimetric.pol_fraction(eigen_full) plt.imshow(arr_pol_frac, cmap='gray') plt.colorbar() plt.title('$PF$') #===============13============= plt.subplot(5, 4, 16) arr_anisotropy = extract_polarimetric.anisotropy(eigen_full) plt.imshow(arr_anisotropy, cmap='gray') plt.colorbar() #plt.xlabel('Range') #plt.ylabel('Azimuth') plt.title('$A$') #================14============== plt.subplot(5, 4, 17) co_pol_corr_arr = extract_polarimetric.co_pol_correlation(cov_arr) plt.imshow(np.absolute(co_pol_corr_arr), cmap='gray') plt.colorbar() plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('$Co-pol Correlation$') #================15============== plt.subplot(5, 4, 18) arr_conform_coeff = extract_polarimetric.conformity_coeff(cov_arr) plt.imshow(np.absolute(arr_conform_coeff), cmap='gray') plt.colorbar() plt.xlabel('Range') plt.title('Conformity Coefficient') #================16============== plt.subplot(5, 4, 19) alpha = extract_polarimetric.mean_alpha_angle(eigen_full, window_size, correction_switch, degree) plt.imshow(alpha, cmap='gray') plt.colorbar(label='degrees') plt.title('Mean alpha angle') plt.xlabel('Range') #================16============== plt.subplot(5, 4, 20) PH = extract_polarimetric.pedestal_height(eigen_full) plt.imshow(PH, cmap='gray') plt.colorbar() plt.title('PH') plt.xlabel('Range') plt.tight_layout() plt.savefig( '/home/anurag/Documents/MScProject/Meetings_ITC/Results/Features/Polarimetric_Features/Inc_corr_applied/Det_cov_conj.tiff', dpi=300, box_inches='tight', papertype='a4', orientation='portrait') plt.show()
def plot_covariance_matrix_elements(window_size, inci_switch): arr = extract_polarimetric.extract_covariance_arr(window_size, inci_switch) fig, ax = plt.subplots(nrows=3, ncols=3) elements = [ 'C22', 'C33', 'C12_real', 'C12_imag', 'C13_real', 'C13_imag', 'C23_real', 'C23_imag' ] plt.subplot(3, 3, 1) #plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k') plt.imshow(np.real(arr[:, :, 0, 0]), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Ihh') plt.colorbar() plt.subplot(3, 3, 2) #plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k') plt.imshow(np.real(arr[:, :, 0, 1]), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('ShhShv_real') plt.colorbar() plt.subplot(3, 3, 3) #plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k') plt.imshow(np.real(arr[:, :, 0, 2]), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Shhvv_real') plt.colorbar() plt.subplot(3, 3, 4) #plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k') plt.imshow(np.imag(arr[:, :, 1, 0]), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Shhvv_imag') plt.colorbar() plt.subplot(3, 3, 5) plt.imshow(np.real(arr[:, :, 1, 1]), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Ihv') plt.colorbar() plt.subplot(3, 3, 6) plt.imshow(np.real(arr[:, :, 1, 2]), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('ShvSvv_real') plt.colorbar() plt.subplot(3, 3, 7) plt.imshow(np.imag(arr[:, :, 2, 0]), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('ShhSvv_imag') plt.colorbar() plt.subplot(3, 3, 8) plt.imshow(np.imag(arr[:, :, 2, 1]), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('ShvSvv_imag') plt.colorbar() plt.subplot(3, 3, 9) plt.imshow(np.real(arr[:, :, 2, 2]), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Ihv') plt.colorbar() #plt.suptitle('C3 elements - No averaging applied') plt.show()
def extract_UAVSAR_T3(directory, window_size, correction_switch, degree): os.chdir(directory) T3 = extract_polarimetric.extract_covariance_arr(window_size, correction_switch, degree) return T3
def polarimetric_features(window_size, correction_switch): #fig, ax = plt.subplots(nrows=2, ncols=3) #arr=extract_polarimetric.eigen_raster_full(window_size) cov_arr = extract_polarimetric.extract_covariance_arr( window_size, correction_switch) #plt.subplot(2,3,1) plt.imshow(np.absolute(extract_polarimetric.co_pol_power_ratio_1(cov_arr)), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Ivv/Ihh (Co-pol power ratio)') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'Ivv-Ihh_(Co-pol power ratio)' + '.tiff', dpi=300) plt.clf() #plt.subplot(2,3,2) plt.imshow(incidence_angle_corr.hist_stretch( np.absolute(extract_polarimetric.determinant_cov(cov_arr)), 6), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Det(Cov)') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'Det(Cov)_stretched' + '.tiff', dpi=300) plt.clf() #plt.subplot(2,3,2) plt.imshow(np.absolute(extract_polarimetric.determinant_cov(cov_arr)), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Det(Cov)') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'Det(Cov)' + '.tiff', dpi=300) plt.clf() #plt.subplot(2,3,3) plt.imshow(np.absolute(extract_polarimetric.co_pol_diff(cov_arr)), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Co-pol diff (Ihh-Ivv)') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'Co-pol diff(Ihh-Ivv)' + '.tiff', dpi=300) plt.clf() #plt.subplot(2,3,4) plt.imshow(np.real(extract_polarimetric.co_pol_cross_product(cov_arr)), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Real(ShhSvv) co-pol cross_product') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'Real(ShhSvv) co-pol cross_product' + '.tiff', dpi=300) plt.clf() #plt.subplot(2,3,5) plt.imshow(np.imag(extract_polarimetric.co_pol_cross_product(cov_arr)), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Imag(ShhSvv) Co-pol cross_product') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'Imag(ShhSvv) Co-pol cross_product', dpi=300) plt.clf()
def cloude_pottier(window_size): #fig, ax = plt.subplots(nrows=3, ncols=3) arr = extract_polarimetric.eigen_raster_full(window_size) cov_arr = extract_polarimetric.extract_covariance_arr(window_size, False) #plt.subplot(3,3,1) plt.imshow(arr[:, :, 2], cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('lambda_1') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'lambda_1' + '.tiff', dpi=300) plt.clf() #plt.subplot(3,3,2) plt.imshow(arr[:, :, 1], cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('lambda_2') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'lambda_2' + '.tiff', dpi=300) plt.clf() #plt.subplot(3,3,3) plt.imshow(arr[:, :, 0], cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('lambda_3') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'lambda_3' + '.tiff', dpi=300) plt.clf() #plt.subplot(3,3,4) plt.imshow(extract_polarimetric.entropy(arr), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Entropy') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'Entropy' + '.tiff', dpi=300) plt.clf() #plt.subplot(3,3,5) plt.imshow(extract_polarimetric.anisotropy(arr), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Anisotropy') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'Anisotropy' + '.tiff', dpi=300) plt.clf() #plt.subplot(3,3,6) plt.imshow(extract_polarimetric.pol_fraction(arr), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('Pol_fraction') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'Pol_fraction' + '.tiff', dpi=300) plt.clf() #plt.subplot(3,3,7) plt.imshow(extract_polarimetric.pedestal_height(arr), cmap='gray') plt.xlabel('Range') plt.ylabel('Azimuth') plt.title('pedestal_height') plt.colorbar() plt.savefig('/home/anurag/Documents/MScProject/Meetings_ITC/Results/' + 'pedestal_height' + '.tiff', dpi=300) plt.clf()
def MLC_prod(window_size, correction_switch, degree): return extract_polarimetric.extract_covariance_arr(window_size, correction_switch, degree)
correction_switch=True window_size_fea=9 window_size_smoo=35 window_size_boun=3 ''' degree=1 ncomp=2 inci_corr=False window_size_fea=9 window_size_smoo=50 window_size_boun=3 ''' mlc_orig=cov_arr=extract_polarimetric.extract_covariance_arr(1, True, 1) arr_dstack = read_Pol_features(window_size_fea, correction_switch, degree, rescale_switch = True, log_Transform_switch = False) print(arr_dstack.shape) #================get GLCM features================== feature = np.dstack((arr_dstack, glcm)) print (feature.shape) #=========Visualize_histogram============ #visualize_hist(feature) #sys.exit()
if __name__ == '__main__': os.chdir( '../North_Sea_UAVSAR/UAV_norway/UA_norway_00709_15092_000_150610_L090_CX_01/MLC_Python_New/norway_00709_15092_000_150610_L090_CX_01_mlc' ) window_size_cov, correction_switch, degree = 1, False, 1 num_features = 8 num_classes = 2 m = 5 Niter = 10 Looks = 12 * 3 #Looks=1 beta = 1.4 # smoothening parameter cov_arr = extract_polarimetric.extract_covariance_arr( window_size_cov, correction_switch, degree) cov_df = make_cov_arr_df(window_size_cov, correction_switch, degree) #print(cov_df) #print(cov_df) # TR = classification.get_training_set(cov_df) TS = classification.get_test_set(cov_df, padding=25) #print(TR.shape) Wishart = Wishart_Likelihood(num_classes, m, beta, cov_arr, window_size_cov, Niter, Looks,