# uncomment to preview movies #ext, display = None, True #initialize fx, fy, ft = mc.get_grids(mc.N_X, mc.N_Y, mc.N_frame) #fx, fy, ft = mc.get_grids(256, 256, 256) #fx, fy, ft = mc.get_grids(512, 512, 128) color = mc.envelope_color(fx, fy, ft) name_ = mc.figpath + name # explore parameters for B_sf in [0.025, 0.05, 0.1, 0.2, 0.4, 0.8]: name_ = mc.figpath + name + '-B_sf' + str(B_sf).replace('.', '_') if mc.anim_exist(name_, vext=vext): z = color * mc.envelope_gabor(fx, fy, ft, B_sf=B_sf, B_theta=np.inf) # mc.visualize(z, name=name_ + '_envelope') im = mc.rectif(mc.random_cloud(z)) # mc.cube(im, name=name_ + '_cube') mc.anim_save(im, name_, display=False, vext=vext) # mc.anim_save(im, name_, display=False, vext='.gif') if DEBUG: # control enveloppe's shape z_low = mc.envelope_gabor(fx, fy, ft, B_sf=0.037, loggabor=False) z_high = mc.envelope_gabor(fx, fy, ft, B_sf=0.15, loggabor=False) import pylab, numpy pylab.clf()
import math name = 'contrast_methods-' #initialize fx, fy, ft = mc.get_grids(mc.N_X, mc.N_Y, mc.N_frame) color = mc.envelope_color(fx, fy, ft) ext = '.zip' contrast = 0.25 B_sf = 0.3 for method in ['Michelson', 'energy']: z = color * mc.envelope_gabor(fx, fy, ft, B_sf=B_sf) name_ = mc.figpath + name + method + '-contrast-' + str(contrast).replace('.', '_') + '-B_sf-' + str(B_sf).replace('.','_') if mc.anim_exist(name_): im = np.ravel(mc.random_cloud(z)) im_norm = mc.rectif(mc.random_cloud(z), contrast, method=method, verbose=True) plt.figure() plt.subplot(111) plt.title('Michelson normalised Histogram Ctr: ' + str(contrast)) plt.ylabel('pixel counts') plt.xlabel('grayscale') bins = int((np.max(im_norm[:])-np.min(im_norm[:])) * 256) plt.xlim([0, 1]) plt.hist(np.ravel(im_norm), bins=bins, normed=False, facecolor='blue', alpha=0.75) plt.savefig(name_) def image_entropy(img): """calculate the entropy of an image"""