def generateICAVoxelModel(model, data, size, efOrder): random.seed(0) nShow = 45 for ii in range(nShow): blob = model.generate(numDims = None) # rotate axes to x,y,z order #blob = flat2XYZ(blob, size = (2,10,20)) #blob = flat2XYZ(blob, size = (10,10,20)) if efOrder: blob = flat2XYZ(blob, size = size) else: blob = reshape(blob, size) #print 'blob from', blob.min(), 'to', blob.max() #continue #pdb.set_trace() for rr in range(24,25): rot = rr * 1 plot3DShape(blob, smoothed = False, plotEdges = True, figSize = (800,800), rotAngle = rot, saveFilename = os.path.join(resman.rundir, 'PVMgen_%03d_rot%03d_blocky.png' % (ii, rot))) plot3DShape(blob, smoothed = True, plotEdges = True, figSize = (800,800), rotAngle = rot, saveFilename = os.path.join(resman.rundir, 'PVMgen_%03d_rot%03d_smooth.png' % (ii, rot)))
def visInput(data, labels=None, efOrder=True): #shape = random.normal(0,1,3*3*3) #idx = 9 # 9 is good to check chirality... but numbers not matching up. #blob = reshape(data[idx,:], (20,10,10)) nShow = min(data.shape[0], 50) for ii in range(nShow): blob = data[ii, :] # rotate axes to x,y,z order if efOrder: blob = flat2XYZ(blob) else: blob = reshape(blob, (10, 10, -1)) if labels: print ii, getEFFindUrl('http://devj.cornell.endlessforms.com', labels[ii]), '\t', sum(blob > .1) #print ii, '\t', sum(blob > .1) for rr in range(1, 2): rot = rr * 24 plot3DShape(blob, smoothed=False, plotEdges=True, figSize=(800, 800), rotAngle=rot, saveFilename=os.path.join( resman.rundir, 'shape_%03d_rot%03d.png' % (ii, rot)))
def mutateIndepVoxelModel(model, data, size, efOrder): for seed in range(1): random.seed(seed) blob = model.generate() degreesPerFrame = 1 framesPerMutation = 8 for frame in range(450): rot = frame * degreesPerFrame if efOrder: blobPlot = flat2XYZ(blob) else: blobPlot = reshape(blob, size) plot3DShape(blobPlot, smoothed=False, plotEdges=True, figSize=(800, 800), rotAngle=rot, saveFilename=os.path.join( resman.rundir, 'IVMmut_s%03d_f%03d.png' % (seed, frame))) if frame % framesPerMutation == 0: blob = model.nearby(blob)
def demo(): random.seed(0) size = (10, 10, 20) xx = randomCubeSphere(size, Nsamples=50) for ii in range(10): plot3DShape(reshape(xx[ii, :], size), figSize=(800, 800)) raw_input('push enter for next')
def demo(): random.seed(0) size = (10,10,20) xx = randomCubeSphere(size, Nsamples = 50) for ii in range(10): plot3DShape(reshape(xx[ii,:], size), figSize = (800,800)) raw_input('push enter for next')
def mutateICAVoxelModel(model, data, size, mutateFn, efOrder): if mutateFn == 'mutateFewDimensions': tag = 'Few' elif mutateFn == 'mutateMetHast': tag = 'MH' else: raise Exception('unknown mutateFn: %s' % repr(mutateFn)) for seed in range(5): random.seed(seed) blob = 0 tries = 100 while sum(blob > .1) == 0 and tries > 0: pc, blob = model.generate(fullReturn=True) tries -= 1 #if mutateFn == 'mutateMetHast': # delta = None # no delta yet #pdb.set_trace() degreesPerFrame = 1 framesPerMutation = 1 for frame in range(720): rot = frame * degreesPerFrame if efOrder: blob = flat2XYZ(blob, size) else: blob = reshape(blob, size) plot3DShape(blob, smoothed=False, plotEdges=True, figSize=(800, 800), rotAngle=rot, saveFilename=os.path.join( resman.rundir, 'PVMmut%s_s%03d_f%05d_blocky.png' % (tag, seed, frame))) plot3DShape(blob, smoothed=True, plotEdges=True, figSize=(800, 800), rotAngle=rot, saveFilename=os.path.join( resman.rundir, 'PVMmut%s_s%03d_f%05d_smooth.png' % (tag, seed, frame))) if mutateFn == 'mutateFewDimensions': if frame % framesPerMutation == 0: pc, blob = model.mutateFewDimensions(pc, howmany=1) else: pc, blob = model.mutateMetHast(pc, proposalNoise=.025)
def generateIndepVoxelModel(model, data, size, efOrder): random.seed(0) nShow = 50 for ii in range(nShow): blob = model.generate() # rotate axes to x,y,z order if efOrder: blob = flat2XYZ(blob) else: blob = reshape(blob, size) for rr in range(1,2): rot = rr * 24 plot3DShape(blob, smoothed = False, plotEdges = True, figSize = (800,800), rotAngle = rot, saveFilename = os.path.join(resman.rundir, 'IVMgen_%03d_rot%03d.png' % (ii, rot)))
def mutateICAVoxelModel(model, data, size, mutateFn, efOrder): if mutateFn == 'mutateFewDimensions': tag = 'Few' elif mutateFn == 'mutateMetHast': tag = 'MH' else: raise Exception('unknown mutateFn: %s' % repr(mutateFn)) for seed in range(5): random.seed(seed) blob = 0 tries = 100 while sum(blob > .1) == 0 and tries > 0: pc, blob = model.generate(fullReturn = True) tries -= 1 #if mutateFn == 'mutateMetHast': # delta = None # no delta yet #pdb.set_trace() degreesPerFrame = 1 framesPerMutation = 1 for frame in range(720): rot = frame * degreesPerFrame if efOrder: blob = flat2XYZ(blob, size) else: blob = reshape(blob, size) plot3DShape(blob, smoothed = False, plotEdges = True, figSize = (800,800), rotAngle = rot, saveFilename = os.path.join(resman.rundir, 'PVMmut%s_s%03d_f%05d_blocky.png' % (tag, seed, frame))) plot3DShape(blob, smoothed = True, plotEdges = True, figSize = (800,800), rotAngle = rot, saveFilename = os.path.join(resman.rundir, 'PVMmut%s_s%03d_f%05d_smooth.png' % (tag, seed, frame))) if mutateFn == 'mutateFewDimensions': if frame % framesPerMutation == 0: pc, blob = model.mutateFewDimensions(pc, howmany = 1) else: pc, blob = model.mutateMetHast(pc, proposalNoise = .025)
def mutateIndepVoxelModel(model, data, size, efOrder): for seed in range(1): random.seed(seed) blob = model.generate() degreesPerFrame = 1 framesPerMutation = 8 for frame in range(450): rot = frame * degreesPerFrame if efOrder: blobPlot = flat2XYZ(blob) else: blobPlot = reshape(blob, size) plot3DShape(blobPlot, smoothed = False, plotEdges = True, figSize = (800,800), rotAngle = rot, saveFilename = os.path.join(resman.rundir, 'IVMmut_s%03d_f%03d.png' % (seed, frame))) if frame % framesPerMutation == 0: blob = model.nearby(blob)
def generateIndepVoxelModel(model, data, size, efOrder): random.seed(0) nShow = 50 for ii in range(nShow): blob = model.generate() # rotate axes to x,y,z order if efOrder: blob = flat2XYZ(blob) else: blob = reshape(blob, size) for rr in range(1, 2): rot = rr * 24 plot3DShape(blob, smoothed=False, plotEdges=True, figSize=(800, 800), rotAngle=rot, saveFilename=os.path.join( resman.rundir, 'IVMgen_%03d_rot%03d.png' % (ii, rot)))
def visInput(data, labels = None, efOrder = True): #shape = random.normal(0,1,3*3*3) #idx = 9 # 9 is good to check chirality... but numbers not matching up. #blob = reshape(data[idx,:], (20,10,10)) nShow = min(data.shape[0], 50) for ii in range(nShow): blob = data[ii,:] # rotate axes to x,y,z order if efOrder: blob = flat2XYZ(blob) else: blob = reshape(blob, (10,10,-1)) if labels: print ii, getEFFindUrl('http://devj.cornell.endlessforms.com', labels[ii]), '\t', sum(blob > .1) #print ii, '\t', sum(blob > .1) for rr in range(1,2): rot = rr * 24 plot3DShape(blob, smoothed = False, plotEdges = True, figSize = (800,800), rotAngle = rot, saveFilename = os.path.join(resman.rundir, 'shape_%03d_rot%03d.png' % (ii, rot)))
def generateICAVoxelModel(model, data, size, efOrder): random.seed(0) nShow = 45 for ii in range(nShow): blob = model.generate(numDims=None) # rotate axes to x,y,z order #blob = flat2XYZ(blob, size = (2,10,20)) #blob = flat2XYZ(blob, size = (10,10,20)) if efOrder: blob = flat2XYZ(blob, size=size) else: blob = reshape(blob, size) #print 'blob from', blob.min(), 'to', blob.max() #continue #pdb.set_trace() for rr in range(24, 25): rot = rr * 1 plot3DShape(blob, smoothed=False, plotEdges=True, figSize=(800, 800), rotAngle=rot, saveFilename=os.path.join( resman.rundir, 'PVMgen_%03d_rot%03d_blocky.png' % (ii, rot))) plot3DShape(blob, smoothed=True, plotEdges=True, figSize=(800, 800), rotAngle=rot, saveFilename=os.path.join( resman.rundir, 'PVMgen_%03d_rot%03d_smooth.png' % (ii, rot)))