def loadData(downsample=1.0): ''' ''' dat = np.genfromtxt('dat/Intensity.csv', delimiter = ',', dtype="f8,f8,f8,f8,f8,f8,f8,S20,f8,f8", names=True, skip_header=0) intensity = {} meta = {} meta['model'] = dat['model'][0] meta['iterations'] = int(dat['iterations'][0]) meta['samples'] = int(dat.shape[0] / meta['iterations']) # Preallocate memory: intensity['rawintensity'] = np.zeros((meta['iterations'], meta['samples'])) intensity['intensity'] = np.zeros((meta['iterations'], meta['samples'])) meta['lens_accom'] = np.zeros(meta['iterations']) meta['pupil_size_%'] = np.zeros(meta['iterations']) meta['off_axis_*'] = np.zeros(meta['iterations']) meta['object_distance'] = np.zeros(meta['iterations']) meta['age_&'] = np.zeros(meta['iterations']) meta['eye_length_%'] = np.zeros(meta['iterations']) for i in range(0, meta['iterations']): ind1 = i * meta['samples'] ind2 = (i + 1) * meta['samples'] intensity['rawintensity'][i,:] = dat['encircled_intensity'][ind1:ind2] intensity['intensity'][i,:] = (dat['encircled_intensity'][ind1:ind2] / np.max(intensity['rawintensity'][i,:])) meta['lens_accom'][i] = dat['lens_focus_D'][ind1] meta['pupil_size_%'][i] = dat['pupil_size_mm'][ind1] meta['off_axis_*'][i] = dat['offaxis_deg'][ind1] meta['object_distance'][i] = dat['obj_distance_mm'][ind1] meta['age_&'][i] = dat['age_y'][ind1] meta['eye_length_%'][i] = dat['axial_len_mm'][ind1] # set up parameters of the eye: xvals = dat['radius_mm'][0: meta['samples']] # retinal image, here is radius of image area meta['retImg'] = np.max(xvals) # 1/2 size of image in mm radians = 2 * np.arctan(meta['retImg'] / (meta['eye_length_%'][0])) meta['deg'] = dm.rad2deg(radians) meta['mm/deg'] = meta['retImg'] * 2 / meta['deg'] meta['xvals'] = xvals variable = findDependentVar(meta) printParams(meta) return intensity, meta
def genMeta(): '''Just temporary. ''' # get from ray tracer eventually _meta = {} _meta['samples'] = 399 _meta['retImg'] = 0.1995 #this is only radius, D = 2x 0.1995 _meta['eye_length'] = 23.92 _meta['pupil_size'] = 3 radians = 2 * np.arctan(_meta['retImg'] / _meta['eye_length']) _meta['deg'] = rad2deg(radians) _meta['mm/deg'] = 2 * _meta['retImg'] / _meta['deg'] cycles = np.arange(0, _meta['samples']) / 2.0 cpd = (cycles / _meta['retImg']) * _meta['mm/deg'] return _meta, cpd