Example #1
0
        if args.gamma:
            g.gamma = args.gamma
        if args.zoom:
            g.ifs.d = args.zoom
        if args.colour or palette:
            g.ifs.transforms = [(p, t.get_mutated_colour(palette=palette) ) for (p,t) in g.ifs.transforms]
        if args.saturation:
            adjust_saturation(g, args.saturation)
        f = open(ifs_file, 'w')
        f.write(repr(g))
        f.truncate()
        f.close()

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("gen", help="Directory or file to regenerate.")
    parser.add_argument("--iterations", help="Number of iterations.", type=int)
    parser.add_argument("--points", help="Number of points.", type=int)
    parser.add_argument("--scale", help="Lighting scale adjustment.", type=float)
    parser.add_argument("--gamma", help="Gamma adjustment.", type = float)
    parser.add_argument("--zoom", help="Camera zoom - bigger numbers zoom out, default is 0.5.", type=float)
    parser.add_argument("--colour", help="Mutate colours.", action="store_true")
    parser.add_argument("--palette", help="Palette file.", type=file)
    parser.add_argument("--saturation", help="Saturation adjustment.", type=float)
    
    
    args = parser.parse_args()
    
    ifs_files = get_ifs_files(args.gen)
    update_files( ifs_files, args)
    run_jobs(('pypy pyifs.py --gen %s  --desc %s' % (f, f) for f in ifs_files))
Example #2
0
            g1 = pyifs.Generator.from_file(f1)
            g1.ifs.transforms = [(p, t.get_mutated_transform(args.percent) ) for (p,t) in g1.ifs.transforms]
            if args.before:
                g1.before = [pyifs.Linear()]
            else:
                g1.before = [t.get_mutated_transform(args.percent) for t in g1.before]
            if args.after:
                g1.after = [pyifs.Linear(params={'c':0.0, 'f':0.0})]
            else:
                g1.after = [t.get_mutated_transform(args.percent) for t in g1.after]
            mutant_name = get_mutant_name(f1, args.suffix, i)
            g1.img_name = os.path.join(args.output_dir, mutant_name + '.png')
            
            child_file = open(os.path.join(args.output_dir, mutant_name + '.ifs'), 'w')
            child_file.write(repr(g1))
            child_file.close()
            

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("source", help="File or directory of files to mutate.")
    parser.add_argument("--percent", help="Percent of parameters to mutate out of 100.", default=50, type=int)
    parser.add_argument("--variants", help="Number of mutations per file.", default=4, type=int)
    parser.add_argument("--output_dir", help="Output directory for offspring specifications.", default=".")
    parser.add_argument("--suffix", help="Suffix to add to file name.", default="m")
    parser.add_argument("--before", help="Transform to put in before.")
    parser.add_argument("--after", help="Transform to put in after.")
    args = parser.parse_args()
    l1 = get_ifs_files(args.source)
    mutate(l1, args)
Example #3
0
        g = [pyifs.Generator.from_file(f) for f in c]
        tx = [x.ifs.transforms for x in g]
        child_name = "%s" % i
        t = []
        counts = [random.randint(1,len(x)-1) for x in tx]
        max_count = max([len(x) for x in tx])
        counts[-1] = max_count - sum(counts[:-1]) if max_count - sum(counts[:-1]) > 0 else 0
        t = []
        for x,count in zip(tx, counts):
            t += get_slice(x,count) 
        ifs = pyifs.IFS( t )
        random.shuffle(ifs.transforms)
        params = g[0].get_parameters()
        params['img_name'] = os.path.join(args.output_dir, child_name + '.png')
        child = pyifs.Generator(ifs, **params)
        
        child_file = open(os.path.join(args.output_dir, child_name + '.ifs'), 'w')
        child_file.write(repr(child))
        child_file.close()
            

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("breed", help="Directory or file to breed.")
    parser.add_argument("--output_dir", help="Output directory for offspring specifications [.].", default=".")
    parser.add_argument("--variants", help="Number of variations to create [8].", type=int, default=8)
    parser.add_argument("--parents", help="Number of variations to create [2].", type=int, default=2)
    args = parser.parse_args()
    l = get_ifs_files(args.breed)
    
    cross(l, args)