tf_lossop_norm = tf_optimizer.minimize( tf_loss, var_list=[tf_glob_real, tf_glob_imag]) ''' Initialize the model ''' sess = tf.Session() sess.run(tf.global_variables_initializer()) ''' Compute the ATF ''' if (psf_model == 'BORN' or psf_model == '3QDPC'): #%% print('We are precomputing the PSF') myATF = sess.run(muscat.TF_ATF) myASF = sess.run(muscat.TF_ASF) if (is_debugging): #% write Freq-Support to disk tf_helper.plot_ASF_ATF(savepath, myATF, myASF) tf_helper.plot_obj_fft(savepath, np_meas) # assert some memory or reset the lists iter_last = 0 mylosslist = [] myfidelitylist = [] myposlosslist = [] myneglosslist = [] mytvlosslist = [] result_phaselist = [] result_absorptionlist = [] globareallist = [] globalimaglist = [] myfwdlist = [] #%% ''' Optimize the model '''
# The first call is -unfortunately- very expensive... print('Compute Result') start = time.time() myfwd = sess.run(tf_fwd) end = time.time() print(end - start) #nip.v5(muscat.A_input) #%% display the results centerslice = myfwd.shape[0]//2 #myfwd = myfwd_old + 1j if(psf_model == 'BORN' or psf_model == '3QDPC'): #% write Freq-Support to disk tf_helper.plot_ASF_ATF(savepath, muscat.myATF, muscat.myASF) tf_helper.plot_obj_fft(savepath, myfwd) #%% #%% Display Apertures plt.subplot(131), plt.title('Ic'),plt.imshow(np.abs(muscat.Ic)), plt.colorbar()#, plt.show() plt.subplot(132), plt.title('Abs Po'),plt.imshow(np.abs(muscat.Po)), plt.colorbar()#, plt.show() plt.subplot(133), plt.title('Angle Po'),plt.imshow(np.angle(muscat.Po)), plt.colorbar()# plt.show() #%% plt.figure() plt.subplot(231), plt.title('real XZ'),plt.imshow(np.real(myfwd)[:,myfwd.shape[1]//2,:]), plt.colorbar()#, plt.show() plt.subplot(232), plt.title('real YZ'),plt.imshow(np.real(myfwd)[:,:,myfwd.shape[2]//2]), plt.colorbar()#, plt.show() plt.subplot(233), plt.title('real XY'),plt.imshow(np.real(myfwd)[centerslice,:,:]), plt.colorbar()# plt.show() plt.subplot(234), plt.title('imag XZ'),plt.imshow(np.imag(myfwd)[:,myfwd.shape[1]//2,:]), plt.colorbar()#, plt.show() plt.subplot(235), plt.title('imag YZ'),plt.imshow(np.imag(myfwd)[:,:,myfwd.shape[2]//2]), plt.colorbar()#, plt.show() plt.subplot(236), plt.title('imag XY'),plt.imshow(np.imag(myfwd)[centerslice,:,:]), plt.colorbar(), plt.show() plt.subplot(231), plt.title('abs XZ'),plt.imshow(np.abs(myfwd)[:,myfwd.shape[1]//2,:]), plt.colorbar()#, plt.show()