コード例 #1
0
            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()