17def generate_file(input_fileName, output, xSpace=73, ySpace=128, zSpace=1214, step=2.5, args=None):
18
19 field = pd.read_csv(input_fileName, skiprows=1, sep ='\s+', names=['x', 'y', 'z', 'bx', 'by', 'bz'])
20
21 field_mask = field.copy()
22 field_mask[['bx', 'by', 'bz']] = field_mask[['bx', 'by', 'bz']] != 0
23
24 field_new = field.copy()
25
26 if args.sidesOnly:
27 temp_by = np.array(field_new['by']).reshape([xSpace, ySpace, zSpace])
28 temp_by = gaussian_filter(temp_by, sigma=args.sigma)
29 field_new['by'] = temp_by.reshape(-1)
30 field_new['by'] = field_new['by'] * field_mask['by']
31 rezult = field_new
32 else:
33 field_new[['bx', 'by', 'bz']] = 0
34 index_range = np.random.choice(field_new.index, size=args.nCores)
35 field_new.loc[index_range, 'by'] = random.uniform(-args.peak, args.peak)
36 temp_by = np.array(field_new['by']).reshape([xSpace, ySpace, zSpace])
37 temp_by = gaussian_filter(temp_by, sigma=args.sigma)
38 field_new['by'] = temp_by.reshape(-1)
39 field_new['by'] = field_new['by'] / (field_new['by'].abs().max())
40 field_new['by'] = field_new['by'] * field_mask['by']
41 rezult = field.copy()
42 rezult['by'] = rezult['by'] + rezult['by'] * field_new['by'] * args.fraction
43
44
45
46
47
48 rezult.to_csv(output, sep='\t', header=None, index=None)
49
50