orientation_map_generator_pypet.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import numpy as np
  2. import pandas as pd
  3. from scripts.spatial_maps.orientation_maps.orientation_map import OrientationMap
  4. from pypet import Environment, cartesian_product
  5. DATA_FOLDER = "../../../data/"
  6. LOG_FOLDER = "../../../logs/"
  7. TRAJ_NAME_ORIENTATION_MAPS = "precalculated_orientation_maps_test"
  8. def generate_and_save_seeded_map(traj):
  9. corr_len = traj.corr_len
  10. seed = traj.seed
  11. print(corr_len,seed)
  12. dim = 60
  13. size = 900
  14. map = OrientationMap(dim, dim, corr_len, size, size, seed)
  15. loaded = False
  16. try:
  17. map.load_orientation_map()
  18. loaded = True
  19. except:
  20. print(
  21. 'No map yet with {}x{} pixels and {} pixel correllation length and {} seed'.format(map.x_dim, map.y_dim, map.corr_len, map.rnd_seed))
  22. if not loaded:
  23. map.improve(10)
  24. traj.f_add_result('map', map.angle_grid, comment='map with {}x{} pixels and {} pixel correllation length and seed {}'.format(map.x_dim, map.y_dim, map.corr_len, map.rnd_seed))
  25. print('map_{}x{}_pixels_{}_corr_pix_{}_seed is saved'.format(map.x_dim, map.y_dim,map.corr_len,map.rnd_seed))
  26. return map.angle_grid
  27. def create_seeded_maps_in_scale_range():
  28. env = Environment(trajectory=TRAJ_NAME_ORIENTATION_MAPS, filename=DATA_FOLDER,
  29. file_title='orientation_map_set',
  30. comment='A number of precalculated orientation maps!',
  31. large_overview_tables=True,
  32. overwrite_file=True,
  33. multiproc=True,
  34. log_folder=LOG_FOLDER,
  35. ncores=0)
  36. traj = env.trajectory
  37. traj.f_add_parameter('corr_len', 200.0, comment='Correlation length')
  38. traj.f_add_parameter('seed', 1, comment='Seed for random')
  39. correlation_length_range = np.linspace(1.0, 650.0, 24, endpoint=True).tolist()
  40. # correlation_length_range = [200.0, 400.0, 800.0]
  41. seed_range = range(10)
  42. # seed_range = [1]
  43. traj.f_explore(cartesian_product({'corr_len': correlation_length_range, 'seed': seed_range}))
  44. env.run(generate_and_save_seeded_map)
  45. env.disable_logging()
  46. if __name__ == "__main__":
  47. create_seeded_maps_in_scale_range()