From 3e18d33d736cfa11a5be94fac068b3e93a0dec9e Mon Sep 17 00:00:00 2001 From: michael Date: Tue, 4 Oct 2016 16:44:11 +0200 Subject: [PATCH 1/2] Extension to get temperature and pressure dependent dispersion values --- ZemaxGlass.py | 427 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 274 insertions(+), 153 deletions(-) diff --git a/ZemaxGlass.py b/ZemaxGlass.py index 6bfadea..b0f71a9 100644 --- a/ZemaxGlass.py +++ b/ZemaxGlass.py @@ -11,9 +11,10 @@ import matplotlib.pyplot as plt import matplotlib.transforms from matplotlib.transforms import offset_copy -import DataCursor +# import DataCursor import colorsys import pdb +from astropy.units.equivalencies import temperature class ZemaxGlassLibrary(object): ''' @@ -41,8 +42,8 @@ class ZemaxGlassLibrary(object): ''' - def __init__(self, dir=None, wavemin=400.0, wavemax=700.0, nwaves=300, catalog='all', sampling_domain='wavelength', - degree=3, debug=False): + def __init__(self, dir = None, wavemin = 400.0, wavemax = 700.0, nwaves = 300, catalog = 'all', sampling_domain = 'wavelength', + degree = 3, debug = False): ''' Initialize the glass library object. @@ -63,24 +64,27 @@ def __init__(self, dir=None, wavemin=400.0, wavemax=700.0, nwaves=300, catalog=' ''' self.debug = debug - self.degree = degree ## the degree of polynomial to use when fitting dispersion data - #self.basis = basis ## the type of basis to use for polynomial fitting ('Taylor','Legendre') - self.sampling_domain = sampling_domain ## the domain ('wavelength' or 'wavenumber') in which to evenly sample the data + self.degree = degree # # the degree of polynomial to use when fitting dispersion data + # self.basis = basis ## the type of basis to use for polynomial fitting ('Taylor','Legendre') + self.sampling_domain = sampling_domain # # the domain ('wavelength' or 'wavenumber') in which to evenly sample the data if (dir == None): dir = os.path.dirname(__file__) + '/AGF_files/' self.dir = dir - self.library = read_library(dir, catalog=catalog) + self.library = read_library(dir, catalog = catalog) + + + self.pressure_dispersion_measurement_reference = 0.10113e6 # Pa if (sampling_domain == 'wavelength'): - self.waves = linspace(wavemin, wavemax, nwaves) ## wavelength in nm - self.wavenumbers = 1000.0 / self.waves ## wavenumber in um^-1 + self.waves = linspace(wavemin, wavemax, nwaves) # # wavelength in nm + self.wavenumbers = 1000.0 / self.waves # # wavenumber in um^-1 elif (sampling_domain == 'wavenumber'): sigma_min = 1000.0 / wavemax sigma_max = 1000.0 / wavemin - self.wavenumbers = linspace(sigma_min, sigma_max, nwaves) ## wavenumber in um^-1 - self.waves = 1000.0 / self.wavenumbers ## wavelength in nm + self.wavenumbers = linspace(sigma_min, sigma_max, nwaves) # # wavenumber in um^-1 + self.waves = 1000.0 / self.wavenumbers # # wavelength in nm return @@ -114,7 +118,7 @@ def __getattr__(self, name): return ## ========================= - def pprint(self, catalog=None, glass=None): + def pprint(self, catalog = None, glass = None): ''' Pretty-print the glass library, or a chosen catalog in it. @@ -164,7 +168,7 @@ def pprint(self, catalog=None, glass=None): return ## ============================================================================= - def simplify_schott_catalog(self, zealous=False): + def simplify_schott_catalog(self, zealous = False): ''' Remove redundant, little-used, and unusual glasses from the Schott glass catalog. @@ -175,26 +179,31 @@ def simplify_schott_catalog(self, zealous=False): ''' schott_glasses = [] - for glass in self.library['schott']: - schott_glasses.append(glass) + if 'schott' in self.library: + for glass in self.library['schott']: + schott_glasses.append(glass) + elif 'SCHOTT' in self.library: + for glass in self.library['SCHOTT']: + schott_glasses.append(glass) - ## Remove the "inquiry glasses". + + # # Remove the "inquiry glasses". I_glasses = ['FK3', 'N-SK10', 'N-SK15', 'BAFN6', 'N-BAF3', 'N-LAF3', 'SFL57', 'SFL6', 'SF11', 'N-SF19', 'N-PSK53', 'N-SF64', 'N-SF56', 'LASF35'] num_i = alen(I_glasses) - ## Remove the "high-transmission" duplications of regular glasses. + # # Remove the "high-transmission" duplications of regular glasses. H_glasses = ['LF5HT', 'BK7HT', 'LLF1HT', 'N-SF57HT', 'SF57HT', 'LF6HT', 'N-SF6HT', 'F14HT', 'LLF6HT', 'SF57HHT', 'F2HT', 'K5HT', 'SF6HT', 'F8HT', 'K7HT'] num_h = alen(H_glasses) - ## Remove the "soon-to-be-inquiry" glasses from the Schott catalog. + # # Remove the "soon-to-be-inquiry" glasses from the Schott catalog. N_glasses = ['KZFSN5', 'P-PK53', 'N-LAF36', 'UBK7', 'N-BK7'] num_n = alen(N_glasses) - ## Remove the Zinc-sulfide and zinc selenide glasses. + # # Remove the Zinc-sulfide and zinc selenide glasses. ZN_glasses = ['CLEARTRAN_OLD', 'ZNS_VIS'] num_zn = alen(ZN_glasses) - ## "zealous": remove the "P" glasses specifically designed for hot press molding, and several glasses that are nearly identical to others in the catalog. + # # "zealous": remove the "P" glasses specifically designed for hot press molding, and several glasses that are nearly identical to others in the catalog. Z_glasses = ['N-F2', 'N-LAF7', 'N-SF1', 'N-SF10', 'N-SF2', 'N-SF4', 'N-SF5', 'N-SF57', 'N-SF6', 'N-ZK7', 'P-LASF50', 'P-LASF51', 'P-SF8', 'P-SK58A', 'P-SK60'] num_z = alen(Z_glasses) @@ -204,9 +213,12 @@ def simplify_schott_catalog(self, zealous=False): if zealous: remove = remove or (glass in Z_glasses) if remove: - del self.library['schott'][glass] + if 'schott' in self.library: + del self.library['schott'][glass] + elif 'SCHOTT' in self.library: + del self.library['SCHOTT'][glass] - ## Refresh any existing information in the library. + # # Refresh any existing information in the library. if hasattr(self, 'nglasses'): nglasses = 0 for catalog in self.library: @@ -222,7 +234,7 @@ def simplify_schott_catalog(self, zealous=False): return ## ========================= - def get_dispersion(self, glass, catalog): + def get_dispersion(self, glass, catalog, temperature_environment = 20., pressure_environment = 0.10113e6): ''' For a given glass, calculate the dispersion curve (refractive index as a function of wavelength in nm). @@ -236,6 +248,10 @@ def get_dispersion(self, glass, catalog): The name of the glass we want to know about. catalog : str The catalog containing the glass. + temperature = 20 Degree Celsius: float + The temperature of the environment, e.g. air. + pressure_environment = 0.10113e6 Pa : float + The pressure of the enviornment, e.g. air at normal conditions. For vacuum set this value to zero. Returns ------- @@ -256,80 +272,138 @@ def get_dispersion(self, glass, catalog): dispform = self.library[catalog][glass]['dispform'] ld = self.library[catalog][glass]['ld'] - ## Zemax's dispersion formulas all use wavelengths in um. So, to compare "ld" - ## and wavemin,wavemax we first convert the former to nm and then, when done - ## we convert to um. - if (amax(self.waves) < ld[0]*1000.0) or (amin(self.waves) > ld[1]*1000.0): + # # Zemax's dispersion formulas all use wavelengths in um. So, to compare "ld" + # # and wavemin,wavemax we first convert the former to nm and then, when done + # # we convert to um. + if (amax(self.waves) < ld[0] * 1000.0) or (amin(self.waves) > ld[1] * 1000.0): print('wavemin,wavemax=(%f,%f), but ld=(%f,%f)' % (amin(self.waves), amax(self.waves), ld[0], ld[1])) print('Cannot calculate an index in the required spectral range. Aborting ...') - return(None,None) + return(None, None) - ## Choose which domain is the one in which we sample uniformly. Regardless - ## of choice, the returned vector "w" gives wavelength in um. + # # Choose which domain is the one in which we sample uniformly. Regardless + # # of choice, the returned vector "w" gives wavelength in um. if (self.sampling_domain == 'wavelength'): - w = self.waves / 1000.0 ## convert from nm to um + w = self.waves / 1000.0 # # convert from nm to um elif (self.sampling_domain == 'wavenumber'): w = self.wavenumbers if (dispform == 1): - formula_rhs = cd[0] + (cd[1] * w**2) + (cd[2] * w**-2) + (cd[3] * w**-4) + (cd[4] * w**-6) + (cd[5] * w**-8) + formula_rhs = cd[0] + (cd[1] * w ** 2) + (cd[2] * w ** -2) + (cd[3] * w ** -4) + (cd[4] * w ** -6) + (cd[5] * w ** -8) indices = sqrt(formula_rhs) - elif (dispform == 2): ## Sellmeier1 - formula_rhs = (cd[0] * w**2 / (w**2 - cd[1])) + (cd[2] * w**2 / (w**2 - cd[3])) + (cd[4] * w**2 / (w**2 - cd[5])) + elif (dispform == 2): # # Sellmeier1 + formula_rhs = (cd[0] * w ** 2 / (w ** 2 - cd[1])) + (cd[2] * w ** 2 / (w ** 2 - cd[3])) + (cd[4] * w ** 2 / (w ** 2 - cd[5])) indices = sqrt(formula_rhs + 1.0) - elif (dispform == 3): ## Herzberger - L = 1.0 / (w**2 - 0.028) - indices = cd[0] + (cd[1] * L) + (cd[2] * L**2) + (cd[3] * w**2) + (cd[4] * w**4) + (cd[5] * w**6) - elif (dispform == 4): ## Sellmeier2 - formula_rhs = cd[0] + (cd[1] * w**2 / (w**2 - (cd[2])**2)) + (cd[3] * w**2 / (w**2 - (cd[4])**2)) + elif (dispform == 3): # # Herzberger + L = 1.0 / (w ** 2 - 0.028) + indices = cd[0] + (cd[1] * L) + (cd[2] * L ** 2) + (cd[3] * w ** 2) + (cd[4] * w ** 4) + (cd[5] * w ** 6) + elif (dispform == 4): # # Sellmeier2 + formula_rhs = cd[0] + (cd[1] * w ** 2 / (w ** 2 - (cd[2]) ** 2)) + (cd[3] * w ** 2 / (w ** 2 - (cd[4]) ** 2)) indices = sqrt(formula_rhs + 1.0) - elif (dispform == 5): ## Conrady - indices = cd[0] + (cd[1] / w) + (cd[2] / w**3.5) - elif (dispform == 6): ## Sellmeier3 - formula_rhs = (cd[0] * w**2 / (w**2 - cd[1])) + (cd[2] * w**2 / (w**2 - cd[3])) + \ - (cd[4] * w**2 / (w**2 - cd[5])) + (cd[6] * w**2 / (w**2 - cd[7])) + elif (dispform == 5): # # Conrady + indices = cd[0] + (cd[1] / w) + (cd[2] / w ** 3.5) + elif (dispform == 6): # # Sellmeier3 + formula_rhs = (cd[0] * w ** 2 / (w ** 2 - cd[1])) + (cd[2] * w ** 2 / (w ** 2 - cd[3])) + \ + (cd[4] * w ** 2 / (w ** 2 - cd[5])) + (cd[6] * w ** 2 / (w ** 2 - cd[7])) indices = sqrt(formula_rhs + 1.0) - elif (dispform == 7): ## HandbookOfOptics1 - formula_rhs = cd[0] + (cd[1] / (w**2 - cd[2])) - (cd[3] * w**2) + elif (dispform == 7): # # HandbookOfOptics1 + formula_rhs = cd[0] + (cd[1] / (w ** 2 - cd[2])) - (cd[3] * w ** 2) indices = sqrt(formula_rhs) - elif (dispform == 8): ## HandbookOfOptics2 - formula_rhs = cd[0] + (cd[1] * w**2 / (w**2 - cd[2])) - (cd[3] * w**2) + elif (dispform == 8): # # HandbookOfOptics2 + formula_rhs = cd[0] + (cd[1] * w ** 2 / (w ** 2 - cd[2])) - (cd[3] * w ** 2) indices = sqrt(formula_rhs) - elif (dispform == 9): ## Sellmeier4 - formula_rhs = cd[0] + (cd[1] * w**2 / (w**2 - cd[2])) + (cd[3] * w**2 / (w**2 - cd[4])) + elif (dispform == 9): # # Sellmeier4 + formula_rhs = cd[0] + (cd[1] * w ** 2 / (w ** 2 - cd[2])) + (cd[3] * w ** 2 / (w ** 2 - cd[4])) indices = sqrt(formula_rhs) - elif (dispform == 10): ## Extended1 - formula_rhs = cd[0] + (cd[1] * w**2) + (cd[2] * w**-2) + (cd[3] * w**-4) + (cd[4] * w**-6) + \ - (cd[5] * w**-8) + (cd[6] * w**-10) + (cd[7] * w**-12) + elif (dispform == 10): # # Extended1 + formula_rhs = cd[0] + (cd[1] * w ** 2) + (cd[2] * w ** -2) + (cd[3] * w ** -4) + (cd[4] * w ** -6) + \ + (cd[5] * w ** -8) + (cd[6] * w ** -10) + (cd[7] * w ** -12) indices = sqrt(formula_rhs) - elif (dispform == 11): ## Sellmeier5 - formula_rhs = (cd[0] * w**2 / (w**2 - cd[1])) + (cd[2] * w**2 / (w**2 - cd[3])) + \ - (cd[4] * w**2 / (w**2 - cd[5])) + (cd[6] * w**2 / (w**2 - cd[7])) + \ - (cd[8] * w**2 / (w**2 - cd[9])) + elif (dispform == 11): # # Sellmeier5 + formula_rhs = (cd[0] * w ** 2 / (w ** 2 - cd[1])) + (cd[2] * w ** 2 / (w ** 2 - cd[3])) + \ + (cd[4] * w ** 2 / (w ** 2 - cd[5])) + (cd[6] * w ** 2 / (w ** 2 - cd[7])) + \ + (cd[8] * w ** 2 / (w ** 2 - cd[9])) indices = sqrt(formula_rhs + 1.0) - elif (dispform == 12): ## Extended2 - formula_rhs = cd[0] + (cd[1] * w**2) + (cd[2] * w**-2) + (cd[3] * w**-4) + (cd[4] * w**-6) + \ - (cd[5] * w**-8) + (cd[6] * w**4) + (cd[7] * w**6) + elif (dispform == 12): # # Extended2 + formula_rhs = cd[0] + (cd[1] * w ** 2) + (cd[2] * w ** -2) + (cd[3] * w ** -4) + (cd[4] * w ** -6) + \ + (cd[5] * w ** -8) + (cd[6] * w ** 4) + (cd[7] * w ** 6) indices = sqrt(formula_rhs) else: print('Dispersion formula #' + str(dispform) + ' (for glass=' + glass + ' in catalog=' + catalog + ') is not a valid choice.') indices = ones_like(w) * nan - #raise ValueError('Dispersion formula #' + str(dispform) + ' (for glass=' + glass + ' in catalog=' + catalog + ') is not a valid choice.') + # raise ValueError('Dispersion formula #' + str(dispform) + ' (for glass=' + glass + ' in catalog=' + catalog + ') is not a valid choice.') + + + # Include pressure and temperature dependence of Environemnt. + # From Applied Optics: TIE-19: Temperature Coefficient of the Refractive Index + td = self.library[catalog][glass]['td'] + temperature_dispersion_measurement_reference = td[6] # Degree Celsius + + p_ref = self.pressure_dispersion_measurement_reference + T_ref = temperature_dispersion_measurement_reference + T = temperature_environment + p = pressure_environment + + n_ref = 1 + (6432.8 + ((2949810. * w ** 2) / (146.*w ** 2 - 1)) + ((25540 * w ** 2) / (41 * w ** 2 - 1))) * 1e-8 - ## Zemax's dispersion formulas all use wavelengths in um. So, to compare "ld" - ## and wavemin,wavemax we first convert the former to nm and then, when done - ## we convert to um. - if (amin(self.waves) < ld[0]*1000.0): + n_air_ref = 1. + ((n_ref - 1.) / (1. + (T_ref - 15) * 3.4785e-3)) * p_ref / p_ref + + n_environment = 1. + ((n_ref - 1.) / (1. + (T - 15) * 3.4785e-3)) * p / p_ref + + indices = indices * n_air_ref / n_environment + + # # Zemax's dispersion formulas all use wavelengths in um. So, to compare "ld" + # # and wavemin,wavemax we first convert the former to nm and then, when done + # # we convert to um. + if (amin(self.waves) < ld[0] * 1000.0): print('Truncating fitting range since wavemin=%f, but ld[0]=%f ...' % (amin(self.waves), ld[0])) - indices[self.waves < ld[0]*1000.0] = 0.0 - if (amax(self.waves) > ld[1]*1000.0): + indices[self.waves < ld[0] * 1000.0] = 0.0 + if (amax(self.waves) > ld[1] * 1000.0): print('Truncating fitting range since wavemax=%f, but ld[1]=%f ...' % (amax(self.waves), ld[1])) - indices[self.waves > ld[1]*1000.0] = 0.0 + indices[self.waves > ld[1] * 1000.0] = 0.0 - ## Convert waves in um back to waves in nm for output. + # # Convert waves in um back to waves in nm for output. self.library[catalog][glass]['indices'] = indices return(self.waves, indices) + + ## ========================= + def get_temperature_dependence(self, glass, catalog, temperatures, temperature_environment = 20, pressure_environment = 0.10113e6): + ''' + For a given glass, calculate the temperature dependence of the refractive index according to the equation in the ZEMAX manual + + Parameters + ---------- + glass : str + The name of the glass we want to know about. + catalog : str + The catalog containing the glass. + temperatures : ndarray [Kelvin] + A numpy array containing the temperatures at which the refractive index shall be calculated + + Returns + ------- + indices : ndarray + A numpy array with the temperature dependence of the glass at the following wavelengths + ''' + + if (catalog == None): + print('Warning: cannot find glass "' + glass + '" in the library! Aborting ...') + return(None, None) + + td = self.library[catalog][glass]['td'] + + wavelength, index_of_refraction = self.get_dispersion(glass, catalog, temperature_environment, pressure_environment) + wavelength = wavelength / 1000. + n = index_of_refraction + delta_T = temperatures - 273.15 - td[-1] + + delta_n_abs = einsum('i,ij->ij', (n ** 2 - 1) / (2 * n), (td[0] * delta_T + td[1] * delta_T ** 2 + td[2] * delta_T ** 3 + \ + einsum('j,i->ij', (td[3] * delta_T + td[4] * delta_T ** 2), 1 / (wavelength ** 2 - sign(td[5]) * td[5] ** 2)))) + + index_of_refraction = index_of_refraction + delta_n_abs.T + + return wavelength, temperatures, index_of_refraction + ## ========================= def get_polyfit_dispersion(self, glass, catalog): ''' @@ -349,16 +423,16 @@ def get_polyfit_dispersion(self, glass, catalog): if ('interp_indices' in self.library[catalog][glass]): return(self.waves, self.library[catalog][glass]['interp_indices']) - ## Generate a vector of wavelengths in nm, with samples every 1 nm. + # # Generate a vector of wavelengths in nm, with samples every 1 nm. (waves, indices) = self.get_dispersion(glass, catalog) okay = (indices > 0.0) if not any(okay): - return(waves, ones_like(waves)*nan) + return(waves, ones_like(waves) * nan) x = linspace(-1.0, 1.0, alen(waves[okay])) coeffs = polyfit(x, indices[okay], self.degree) - coeffs = coeffs[::-1] ## reverse the vector so that the zeroth degree coeff goes first + coeffs = coeffs[::-1] # # reverse the vector so that the zeroth degree coeff goes first self.library[catalog][glass]['interp_coeffs'] = coeffs interp_indices = polyeval_Horner(x, coeffs) @@ -367,7 +441,7 @@ def get_polyfit_dispersion(self, glass, catalog): return(waves, interp_indices) ## ============================================================================= - def cull_library(self, key1, tol1, key2=None, tol2=None): + def cull_library(self, key1, tol1, key2 = None, tol2 = None): ''' Reduce all catalogs in the library such that no two glasses are simultaneously within (+/- tol1) of key1 and (+/- tol2) of key2. @@ -396,7 +470,7 @@ def cull_library(self, key1, tol1, key2=None, tol2=None): for catalog in self.library: for glass in self.library[catalog]: - names.append(catalog+'_'+glass) + names.append(catalog + '_' + glass) catalogs.append(catalog) if (key1 in self.library[catalog][glass]): @@ -420,21 +494,21 @@ def cull_library(self, key1, tol1, key2=None, tol2=None): names_to_remove.append([name for name in names[idx] if name != names[i]]) else: idx = where((abs(keyval1[i] - keyval1) < tol1) and (abs(keyval2 - keyval2[i]) < tol2)) - #print('%3i %3i %5.3f %5.3f %6.3f %6.3f %12s %12s --> REMOVE %3i %12s' % (i, j, keyval1[i], keyval1[j], keyval2[i], keyval2[j], names_all[i], names_all[j], j, names_all[j])) + # print('%3i %3i %5.3f %5.3f %6.3f %6.3f %12s %12s --> REMOVE %3i %12s' % (i, j, keyval1[i], keyval1[j], keyval2[i], keyval2[j], names_all[i], names_all[j], j, names_all[j])) names_to_remove.append([name for name in names[idx] if name != names[i]]) - ## Remove the duplicates from the "remove" list, and then delete those glasses - ## from the glass catalog. + # # Remove the duplicates from the "remove" list, and then delete those glasses + # # from the glass catalog. names_to_remove = unique(names_to_remove) for glass in names_to_remove: - (catalog,glass) = glass.split('_') - #print('i='+str(i)+': catalog='+catalog+'; glass='+name) + (catalog, glass) = glass.split('_') + # print('i='+str(i)+': catalog='+catalog+'; glass='+name) del self.library[catalog][glass] return ## ========================= - def plot_dispersion(self, glass, catalog, polyfit=False, fiterror=False): + def plot_dispersion(self, glass, catalog, polyfit = False, fiterror = False): ''' Plot the glass refractive index curve as a function of wavelength. @@ -452,29 +526,29 @@ def plot_dispersion(self, glass, catalog, polyfit=False, fiterror=False): ''' (x, y) = self.get_dispersion(glass, catalog) - fig = plt.figure(figsize=(10,5)) + fig = plt.figure(figsize = (10, 5)) ax = fig.add_subplot(111) - ax.plot(x, y, 'b-', linewidth=2) + ax.plot(x, y, 'b-', linewidth = 2) if polyfit: (x2, y2) = self.get_polyfit_dispersion(glass, catalog) - ax.plot(x2, y2, 'ko', markersize=4, zorder=0) + ax.plot(x2, y2, 'ko', markersize = 4, zorder = 0) plt.title(glass + ' dispersion') plt.xlabel('wavelength (nm)') plt.ylabel('refractive index') if polyfit and fiterror: - fig.subplots_adjust(right=0.85) + fig.subplots_adjust(right = 0.85) F = plt.gcf() - (xsize,ysize) = F.get_size_inches() - fig.set_size_inches(xsize+5.0,ysize) + (xsize, ysize) = F.get_size_inches() + fig.set_size_inches(xsize + 5.0, ysize) err = y2 - y ax2 = ax.twinx() ax2.set_ylabel('fit error') ax2.plot(x2, err, 'r-') - ## Enforce the plotting range. + # # Enforce the plotting range. xmin = min(x) xmax = max(x) xrange = xmax - xmin @@ -489,12 +563,38 @@ def plot_dispersion(self, glass, catalog, polyfit=False, fiterror=False): ybot = ymin - (0.05 * yrange) ytop = ymax + (0.05 * yrange) - ax.axis([xbot,xtop,ybot,ytop]) + ax.axis([xbot, xtop, ybot, ytop]) return ## ========================= - def plot_catalog_property_diagram(self, catalog='all', prop1='nd', prop2='vd', show_labels=True): + def plot_temperature_dependence(self, glass, catalog, temperatures): + ''' + Plot the glass refractive index curve as a function of temeprature for given wavelengths. + + Parameters + ---------- + glass : str + The name of the glass to analyze. + catalog : str + The catalog containing the glass. + temepratures : ndarray + Array containing the values for which the refractive indes shall be plotted + ''' + + (wavelengths, temperatures, index_of_refraction) = self.get_temperature_dependence(glass, catalog, temperatures) + fig = plt.figure(figsize = (10, 5)) + ax = fig.add_subplot(111) + ax.plot(temperatures, index_of_refraction, 'b-', linewidth = 2) + + plt.title(glass + ' temperature dependence') + plt.xlabel('temperature (K)') + plt.ylabel('refractive index') + + return + + ## ========================= + def plot_catalog_property_diagram(self, catalog = 'all', prop1 = 'nd', prop2 = 'vd', show_labels = True): ''' Plot a scatter diagram of one glass property against another. @@ -527,20 +627,20 @@ def plot_catalog_property_diagram(self, catalog='all', prop1='nd', prop2='vd', s all_p1 = [] all_p2 = [] - fig = plt.figure(figsize=(12,6)) + fig = plt.figure(figsize = (12, 6)) ax = plt.gca() ax.set_color_cycle(colors) - ## Collect lists of the property values for "prop1" and "prop2", one catalog at a time. - ## Plot each catalog separately, so that each can be displayed with unique colors. - for i,cat in enumerate(catalogs): + # # Collect lists of the property values for "prop1" and "prop2", one catalog at a time. + # # Plot each catalog separately, so that each can be displayed with unique colors. + for i, cat in enumerate(catalogs): p1 = [] p2 = [] for glass in self.library[cat]: if (catalog == 'all') and (glass == 'AIR'): continue if (catalog == 'all') and (abs(self.library[cat][glass]['vd']) < 1.0E-6): continue - if (prop1 in ('n0','n1','n2','n3','n4','n5','n6','n6','n8','n9')): + if (prop1 in ('n0', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n6', 'n8', 'n9')): idx = int(prop1[1]) if ('interp_coeffs' not in self.library[cat][glass]): print('Calculating dispersion coefficients for "' + glass + '" ...') @@ -553,7 +653,7 @@ def plot_catalog_property_diagram(self, catalog='all', prop1='nd', prop2='vd', s else: p1.append(self.library[cat][glass][prop1]) - if (prop2 in ('n0','n1','n2','n3','n4','n5','n6','n6','n8','n9')): + if (prop2 in ('n0', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n6', 'n8', 'n9')): idx = int(prop2[1]) if ('interp_coeffs' not in self.library[cat][glass]): print('Calculating dispersion coefficients for "' + glass + '" ...') @@ -568,28 +668,28 @@ def plot_catalog_property_diagram(self, catalog='all', prop1='nd', prop2='vd', s glassnames.append(glass) - if (prop1 in ('n0','n1','n2','n3','n4','n5','n6','n6','n8','n9')): + if (prop1 in ('n0', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n6', 'n8', 'n9')): p1.append(p1_coeffs) - if (prop2 in ('n0','n1','n2','n3','n4','n5','n6','n6','n8','n9')): + if (prop2 in ('n0', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n6', 'n8', 'n9')): p2.append(p2_coeffs) - plt.plot(p1, p2, 'o', markersize=5) + plt.plot(p1, p2, 'o', markersize = 5) all_p1.extend(p1) all_p2.extend(p2) - #DataCursor.DataCursor([ax]) ## turn on the feature of getting a box pointing to data points + # DataCursor.DataCursor([ax]) ## turn on the feature of getting a box pointing to data points plt.title('catalog "' + catalog + '": ' + prop1 + ' vs. ' + prop2) plt.xlabel(prop1) plt.ylabel(prop2) - ## Enforce the plotting range. + # # Enforce the plotting range. xmin = min(all_p1) xmax = max(all_p1) xrange = xmax - xmin if (xrange < 1.0): xrange = 1.0 xbot = xmin - (0.05 * xrange) xtop = xmax + (0.05 * xrange) - xdist = 0.01 * xrange ## for plotting text near the data points + xdist = 0.01 * xrange # # for plotting text near the data points ymin = min(all_p2) ymax = max(all_p2) @@ -597,28 +697,28 @@ def plot_catalog_property_diagram(self, catalog='all', prop1='nd', prop2='vd', s if (yrange < 1.0E-9): yrange = 1.0 ybot = ymin - (0.05 * yrange) ytop = ymax + (0.05 * yrange) - ydist = 0.01 * yrange ## for plotting text near the data points + ydist = 0.01 * yrange # # for plotting text near the data points - plt.axis([xbot,xtop,ybot,ytop]) - leg = plt.legend(catalogs, prop={'size':10}, loc='best') + plt.axis([xbot, xtop, ybot, ytop]) + leg = plt.legend(catalogs, prop = {'size':10}, loc = 'best') leg.draggable() - #leg = plt.legend(catalogs, prop={'size':10}, bbox_to_anchor=(1.2,1)) + # leg = plt.legend(catalogs, prop={'size':10}, bbox_to_anchor=(1.2,1)) if show_labels: - ## Plot all of the glass labels offset by (5,5) pixels in (x,y) from the data point. - trans_offset = offset_copy(ax.transData, fig=fig, x=5, y=5, units='dots') + # # Plot all of the glass labels offset by (5,5) pixels in (x,y) from the data point. + trans_offset = offset_copy(ax.transData, fig = fig, x = 5, y = 5, units = 'dots') for i in arange(alen(glassnames)): - #print('i=%i: glassname=%s, p1=%f, p2=%f' % (i, glassnames[i], p1[i], p2[i])) - plt.text(all_p1[i], all_p2[i], glassnames[i], fontsize=7, zorder=0, transform=trans_offset, color='0.5') + # print('i=%i: glassname=%s, p1=%f, p2=%f' % (i, glassnames[i], p1[i], p2[i])) + plt.text(all_p1[i], all_p2[i], glassnames[i], fontsize = 7, zorder = 0, transform = trans_offset, color = '0.5') return ## ============================================================================= -## End of ZemaxLibrary class +# # End of ZemaxLibrary class ## ============================================================================= -def read_library(glassdir, catalog='all'): +def read_library(glassdir, catalog = 'all'): ''' Get a list of all '*.agf' files in the directory, then call `parse_glassfile()` on each one. @@ -641,20 +741,20 @@ def read_library(glassdir, catalog='all'): ''' glassdir = os.path.normpath(glassdir) - files = glob.glob(os.path.join(glassdir,'*.[Aa][Gg][Ff]')) + files = glob.glob(os.path.join(glassdir, '*.[Aa][Gg][Ff]')) if (len(catalog) > 1) and isinstance(catalog, list): catalogs = catalog else: catalogs = [catalog] - ## Get the set of catalog names. These keys will initialize the glasscat dictionary. + # # Get the set of catalog names. These keys will initialize the glasscat dictionary. glass_library = {} for f in files: - print('Reading ' + f + ' ...') #zzz + print('Reading ' + f + ' ...') # zzz this_catalog = os.path.basename(f)[:-4] - if (this_catalog.lower() not in catalogs) and (catalog != 'all'): continue + if (this_catalog not in catalogs) and (catalog != 'all'): continue glass_library[this_catalog] = parse_glass_file(f) return(glass_library) @@ -686,12 +786,12 @@ def parse_glass_file(filename): nm = line.split() glassname = nm[1] glass_catalog[glassname] = {} - glass_catalog[glassname]['dispform'] = int(nm[2]) + glass_catalog[glassname]['dispform'] = int(float(nm[2])) glass_catalog[glassname]['nd'] = float(nm[4]) glass_catalog[glassname]['vd'] = float(nm[5]) - glass_catalog[glassname]['exclude_sub'] = 0 if (len(nm) < 7) else int(nm[6]) - glass_catalog[glassname]['status'] = 0 if (len(nm) < 8) else int(nm[7]) - glass_catalog[glassname]['meltfreq'] = 0 if ((len(nm) < 9) or (nm.count('-') > 0)) else int(nm[8]) + glass_catalog[glassname]['exclude_sub'] = 0 if (len(nm) < 7) else int(float(nm[6])) + glass_catalog[glassname]['status'] = 0 if (len(nm) < 8) else int(float(nm[7])) + glass_catalog[glassname]['meltfreq'] = 0 if ((len(nm) < 9) or (nm.count('-') > 0)) else int(float(nm[8])) elif line.startswith('ED '): ed = line.split() glass_catalog[glassname]['tce'] = float(ed[1]) @@ -726,7 +826,11 @@ def parse_glass_file(filename): glass_catalog[glassname]['IT'] = {} glass_catalog[glassname]['IT']['wavelength'] = it_row[0] glass_catalog[glassname]['IT']['transmission'] = it_row[1] - glass_catalog[glassname]['IT']['thickness'] = it_row[2] + + if len(it_row) > 2: + glass_catalog[glassname]['IT']['thickness'] = it_row[2] + else: + glass_catalog[glassname]['IT']['thickness'] = nan f.close() @@ -750,14 +854,17 @@ def string_list_to_float_list(x): ''' npts = len(x) if (npts == 0) or ((npts == 1) and (x[0].strip() == '-')): - return([-1.0]*10) + return([-1.0] * 10) res = [] for a in x: if (a.strip() == '-'): res.append(-1.0) else: - res.append(float(a)) + try: + res.append(float(a)) + except: + res.append(nan) return(res) @@ -809,9 +916,9 @@ def polyeval_Horner(x, poly_coeffs): ncoeffs = alen(poly_coeffs) p = zeros(alen(x)) - for n in arange(ncoeffs-1,-1,-1): + for n in arange(ncoeffs - 1, -1, -1): p = poly_coeffs[n] + (x * p) - #print('n=%i, c=%f' % (n, coeffs[n])) + # print('n=%i, c=%f' % (n, coeffs[n])) return(p) ## ================================================================================================= @@ -825,51 +932,65 @@ def get_colors(num_colors): A 16x4 list of colors, with each color being a 4-vector (R,G,B,A). ''' - mycolors = [None]*16 - mycolors[0] = [0.0,0.0,0.0,1.0] ## black - mycolors[1] = [1.0,0.0,0.0,1.0] ## red - mycolors[2] = [0.0,0.0,1.0,1.0] ## blue - mycolors[3] = [0.0,0.5,0.0,1.0] ## dark green - mycolors[4] = [1.0,0.5,0.0,1.0] ## orange - mycolors[5] = [0.0,0.5,0.5,1.0] ## teal - mycolors[6] = [1.0,0.0,1.0,1.0] ## magenta - mycolors[7] = [0.0,1.0,0.0,1.0] ## lime green - mycolors[8] = [0.5,0.5,0.0,1.0] ## olive green - mycolors[9] = [1.0,1.0,0.0,1.0] ## yellow - mycolors[10] = [0.5,0.0,0.0,1.0] ## maroon - mycolors[11] = [0.5,0.0,0.5,1.0] ## purple - mycolors[12] = [0.7,0.7,0.7,1.0] ## bright grey - mycolors[13] = [0.0,1.0,1.0,1.0] ## aqua - mycolors[14] = [0.4,0.4,0.4,1.0] ## dark grey - mycolors[15] = [0.0,0.0,0.5,1.0] ## navy blue + mycolors = [None] * 16 + mycolors[0] = [0.0, 0.0, 0.0, 1.0] # # black + mycolors[1] = [1.0, 0.0, 0.0, 1.0] # # red + mycolors[2] = [0.0, 0.0, 1.0, 1.0] # # blue + mycolors[3] = [0.0, 0.5, 0.0, 1.0] # # dark green + mycolors[4] = [1.0, 0.5, 0.0, 1.0] # # orange + mycolors[5] = [0.0, 0.5, 0.5, 1.0] # # teal + mycolors[6] = [1.0, 0.0, 1.0, 1.0] # # magenta + mycolors[7] = [0.0, 1.0, 0.0, 1.0] # # lime green + mycolors[8] = [0.5, 0.5, 0.0, 1.0] # # olive green + mycolors[9] = [1.0, 1.0, 0.0, 1.0] # # yellow + mycolors[10] = [0.5, 0.0, 0.0, 1.0] # # maroon + mycolors[11] = [0.5, 0.0, 0.5, 1.0] # # purple + mycolors[12] = [0.7, 0.7, 0.7, 1.0] # # bright grey + mycolors[13] = [0.0, 1.0, 1.0, 1.0] # # aqua + mycolors[14] = [0.4, 0.4, 0.4, 1.0] # # dark grey + mycolors[15] = [0.0, 0.0, 0.5, 1.0] # # navy blue return(mycolors[:num_colors]) ## ============================================================================================= if (__name__ == '__main__'): + + wavemin = 762.0 + wavemax = 764.0 + nwaves = 3 + glasslib = ZemaxGlassLibrary(catalog = 'schott', wavemin = wavemin, wavemax = wavemax, nwaves = nwaves) + # glasslib.plot_dispersion('N-BK7', 'schott') + glasslib.plot_temperature_dependence('N-BK7', 'schott', arange(293, 350)) + + wavemin = 400.0 wavemax = 700.0 - glasslib = ZemaxGlassLibrary(catalog='all') - #glasslib = ZemaxGlassLibrary(degree=5) + glasslib = ZemaxGlassLibrary(catalog = 'all') + # glasslib = ZemaxGlassLibrary(degree=5) print('Number of glasses found in the library: ' + str(glasslib.nglasses)) print('Glass catalogs found:', glasslib.catalogs) print(glasslib.glasses) + glasslib.plot_dispersion('N-BK7', 'schott') - glasslib.plot_dispersion('SF66', 'schott', polyfit=True, fiterror=True) - #glasslib.plot_catalog_property_diagram('all', prop1='vd', prop2='nd') - #glasslib.plot_catalog_property_diagram('all', prop1='nd', prop2='dispform') - #glasslib.plot_catalog_property_diagram('schott', prop1='n0', prop2='n1') - #glasslib.plot_catalog_property_diagram('all', prop1='n0', prop2='n1') - glasslib.plot_catalog_property_diagram('cdgm', prop1='vd', prop2='nd') - #glasslib.pprint('schott') ## print the glass info found in the Schott glass catalog - glasslib.pprint() ## print the glass infor for the entire library of glasses - #glasslib.pprint('schott','SF66') ## print the glass info for SF66 in the Schott glass catalog + glasslib.plot_dispersion('SF66', 'schott', polyfit = True, fiterror = True) + # glasslib.plot_catalog_property_diagram('all', prop1='vd', prop2='nd') + # glasslib.plot_catalog_property_diagram('all', prop1='nd', prop2='dispform') + # glasslib.plot_catalog_property_diagram('schott', prop1='n0', prop2='n1') + + # glasslib.plot_catalog_property_diagram('all', prop1='n0', prop2='n1') + glasslib.plot_catalog_property_diagram('cdgm', prop1 = 'vd', prop2 = 'nd') - glasslib = ZemaxGlassLibrary(degree=5, wavemin=7500.0, wavemax=14500.0, catalog='infrared') + # glasslib.pprint('schott') ## print the glass info found in the Schott glass catalog + glasslib.pprint() # # print the glass infor for the entire library of glasses + # glasslib.pprint('schott','SF66') ## print the glass info for SF66 in the Schott glass catalog + + glasslib = ZemaxGlassLibrary(degree = 5, wavemin = 7500.0, wavemax = 14500.0, catalog = 'infrared') print('Number of glasses found in the library: ' + str(glasslib.nglasses)) print('Glass catalogs found:', glasslib.catalogs) glasslib.plot_dispersion('ZNS_BROAD', 'infrared') + + plt.show() From 8d9841fab67028246e21a26f90de9a64590858b0 Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 21 Jun 2017 10:09:40 +0200 Subject: [PATCH 2/2] extension --- .project | 17 + .pydevproject | 5 + ZemaxGlass.py | 15 +- build/lib.linux-x86_64-2.7/ZemaxGlass.py | 1003 ++++++++++++++++++++++ dist/ZemaxGlass-1.1.tar.gz | Bin 0 -> 298376 bytes setup.py | 3 +- 6 files changed, 1035 insertions(+), 8 deletions(-) create mode 100644 .project create mode 100644 .pydevproject create mode 100644 build/lib.linux-x86_64-2.7/ZemaxGlass.py create mode 100644 dist/ZemaxGlass-1.1.tar.gz diff --git a/.project b/.project new file mode 100644 index 0000000..caefa8b --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + zemaxglasscatalog + + + + + + org.python.pydev.PyDevBuilder + + + + + + org.python.pydev.pythonNature + + diff --git a/.pydevproject b/.pydevproject new file mode 100644 index 0000000..32ac5be --- /dev/null +++ b/.pydevproject @@ -0,0 +1,5 @@ + + +dissectsimulation +python 2.7 + diff --git a/ZemaxGlass.py b/ZemaxGlass.py index 25a6994..1754ffe 100644 --- a/ZemaxGlass.py +++ b/ZemaxGlass.py @@ -240,7 +240,7 @@ def simplify_schott_catalog(self, zealous = False): return ## ========================= - def get_dispersion(self, glass, catalog, temperature_environment = 20., pressure_environment = 0.10113e6): + def get_dispersion(self, glass, catalog, temperature_environment = 20., pressure_environment = 0.10113e6, force_update = False): ''' For a given glass, calculate the dispersion curve (refractive index as a function of wavelength in nm). @@ -265,13 +265,13 @@ def get_dispersion(self, glass, catalog, temperature_environment = 20., pressure A numpy array giving the sampled refractive index curve. ''' - if ('indices' in self.library[catalog][glass]): + if ('indices' in self.library[catalog][glass] and not force_update): return(self.waves, self.library[catalog][glass]['indices']) if (catalog == None): print('Warning: cannot find glass "' + glass + '" in the library! Aborting ...') return(None, None) - if ('waves' in self.library[catalog][glass]) and ('indices' in self.library[catalog][glass]): + if ('waves' in self.library[catalog][glass]) and ('indices' in self.library[catalog][glass] and not force_update): return(self.waves, self.library[catalog][glass]['indices']) cd = self.library[catalog][glass]['cd'] @@ -792,12 +792,12 @@ def parse_glass_file(filename): nm = line.split() glassname = nm[1] glass_catalog[glassname] = {} - glass_catalog[glassname]['dispform'] = int(float(nm[2])) + glass_catalog[glassname]['dispform'] = int(float(nm[2])) # int(float(nm[2])) glass_catalog[glassname]['nd'] = float(nm[4]) glass_catalog[glassname]['vd'] = float(nm[5]) - glass_catalog[glassname]['exclude_sub'] = 0 if (len(nm) < 7) else int(float(nm[6])) - glass_catalog[glassname]['status'] = 0 if (len(nm) < 8) else int(float(nm[7])) - glass_catalog[glassname]['meltfreq'] = 0 if ((len(nm) < 9) or (nm.count('-') > 0)) else int(float(nm[8])) + glass_catalog[glassname]['exclude_sub'] = 0 if (len(nm) < 7) else int(float(nm[6])) # int(float(nm[6])) + glass_catalog[glassname]['status'] = 0 if (len(nm) < 8) else int(float(nm[7])) # int(float(nm[7])) + glass_catalog[glassname]['meltfreq'] = 0 if ((len(nm) < 9) or (nm.count('-') > 0)) else int(float(nm[8])) # int(float(nm[8])) elif line.startswith('ED '): ed = line.split() glass_catalog[glassname]['tce'] = float(ed[1]) @@ -967,6 +967,7 @@ def get_colors(num_colors): # glasslib.plot_dispersion('N-BK7', 'schott') glasslib.plot_temperature_dependence('N-BK7', 'schott', arange(293, 350)) + plt.show() wavemin = 400.0 wavemax = 700.0 diff --git a/build/lib.linux-x86_64-2.7/ZemaxGlass.py b/build/lib.linux-x86_64-2.7/ZemaxGlass.py new file mode 100644 index 0000000..1754ffe --- /dev/null +++ b/build/lib.linux-x86_64-2.7/ZemaxGlass.py @@ -0,0 +1,1003 @@ +#! /usr/bin/env python +# -*- coding: UTF-8 -*- + +from numpy import * +import os, glob, sys +import matplotlib.pyplot as plt +import matplotlib.transforms +from matplotlib.transforms import offset_copy +# import DataCursor +import colorsys +import pdb +from astropy.units.equivalencies import temperature + +''' +This file contains a set of utilities for reading Zemax glass (*.agf) files, analyzing glass +properties, and displaying glass data. + +See LICENSE.txt for a description of the MIT/X license for this file. +''' + +__authors__ = 'Nathan Hagen' +__license__ = 'MIT/X11 License' +__contact__ = 'Nathan Hagen ' + +class ZemaxGlassLibrary(object): + ''' + ZemaxGlassLibrary is a class to hold all of the information contained in a Zemax-format library of glass catalogs. + + Glass catalogs are in the form of *.agf files, typically given with a vendor name as the filename. The class + initializer, if given the directory where the catalogs are located, will read them all into a single dictionary + data structure. The ZemaxLibrary class also gathers together associated methods for manipulating the data, such + as methods to cull the number of glasses down to a restricted subset, the ability to plot some glass properties + versus others, the ability to fit different paramatrized dispersion curves to the refractive index data, etc. + + Attributes + ---------- + dir : str + The directory where the glass catalog files are stored. + catalog : float + + Methods + ------- + pprint + simplify_schott_catalog + get_dispersion + get_polyfit_dispersion + cull_library + + ''' + + def __init__(self, dir = None, wavemin = 400.0, wavemax = 700.0, nwaves = 300, catalog = 'all', sampling_domain = 'wavelength', + degree = 3, debug = False): + ''' + Initialize the glass library object. + + Parameters + ---------- + wavemin : float, optional + The shortest wavelength in the spectral region of interest. + wavemax : float, optional + The longest wavelength in the spectral region of interest. + nwaves : float, optional + The number of wavelength samples to use. + catalog : str + The catalog or list of catalogs to look for in "dir". + sampling_domain : str, {'wavelength','wavenumber'} + Whether to sample the spectrum evenly in wavelength or wavenumber. + degree : int, optional + The polynomial degree to use for fitting the dispersion spectrum. + ''' + + self.debug = debug + self.degree = degree # # the degree of polynomial to use when fitting dispersion data + # self.basis = basis ## the type of basis to use for polynomial fitting ('Taylor','Legendre') + self.sampling_domain = sampling_domain # # the domain ('wavelength' or 'wavenumber') in which to evenly sample the data + + if (dir == None): + dir = os.path.dirname(__file__) + '/AGF_files/' + + self.dir = dir + self.library = read_library(dir, catalog = catalog) + + + self.pressure_dispersion_measurement_reference = 0.10113e6 # Pa + + if (sampling_domain == 'wavelength'): + self.waves = linspace(wavemin, wavemax, nwaves) # # wavelength in nm + self.wavenumbers = 1000.0 / self.waves # # wavenumber in um^-1 + elif (sampling_domain == 'wavenumber'): + sigma_min = 1000.0 / wavemax + sigma_max = 1000.0 / wavemin + self.wavenumbers = linspace(sigma_min, sigma_max, nwaves) # # wavenumber in um^-1 + self.waves = 1000.0 / self.wavenumbers # # wavelength in nm + + return + + ## ========================= + def __getattr__(self, name): + ''' + Redirect the default __getattr__() function so that any attempt to generate a currently nonexisting attribute + will trigger a method to generate that attribute from existing attributes. + + Parameters + ---------- + name : str + The name of the attribute being accessed. + ''' + + if (name == 'nglasses'): + nglasses = 0 + for catalog in self.library: + for glass in self.library[catalog]: + nglasses += 1 + return(nglasses) + elif (name == 'catalogs'): + catalogs = self.library.keys() + return(catalogs) + elif (name == 'glasses'): + glasses = [] + for catalog in self.library: + glasses.extend(self.library[catalog].keys()) + return(glasses) + + return + + ## ========================= + def pprint(self, catalog = None, glass = None): + ''' + Pretty-print the glass library, or a chosen catalog in it. + + Parameters + ---------- + catalog : str + The name of the catalog within the library to print. + glass : str + The name of the glass within the library to print. + ''' + + if (catalog == None): + catalogs = self.library.keys() + elif (len(catalog) > 1) and isinstance(catalog, list): + catalogs = catalog + else: + catalogs = [catalog] + + for catalog in self.library: + if (catalog not in catalogs): continue + print(catalog + ':') + for glassname in self.library[catalog]: + if (glass != None) and (glassname != glass.upper()): continue + glassdict = self.library[catalog][glassname] + print(' ' + glassname + ':') + print(' nd = ' + str(glassdict['nd'])) + print(' vd = ' + str(glassdict['vd'])) + print(' dispform = ' + str(glassdict['dispform'])) + if ('tce' in glassdict): + print(' tce = ' + str(glassdict['tce'])) + if ('density' in glassdict): + print(' density = ' + str(glassdict['density'])) + if ('dpgf' in glassdict): + print(' dpgf = ' + str(glassdict['dpgf'])) + if ('cd' in glassdict): + print(' cd = ' + str(glassdict['cd'])) + if ('td' in glassdict): + print(' td = ' + str(glassdict['td'])) + if ('od' in glassdict): + print(' od = ' + str(glassdict['od'])) + if ('ld' in glassdict): + print(' ld = ' + str(glassdict['ld'])) + if ('interp_coeffs' in glassdict): + print(' coeffs = ' + repr(glassdict['interp_coeffs'])) + + print('') + return + + ## ============================================================================= + def simplify_schott_catalog(self, zealous = False): + ''' + Remove redundant, little-used, and unusual glasses from the Schott glass catalog. + + Parameters + ---------- + zealous : bool, optional + Whether to remove the "high transmission" and close-to-redundant glasses. + ''' + + schott_glasses = [] + if 'schott' in self.library: + for glass in self.library['schott']: + schott_glasses.append(glass) + elif 'SCHOTT' in self.library: + for glass in self.library['SCHOTT']: + schott_glasses.append(glass) + + + # # Remove the "inquiry glasses". + I_glasses = ['FK3', 'N-SK10', 'N-SK15', 'BAFN6', 'N-BAF3', 'N-LAF3', 'SFL57', 'SFL6', 'SF11', 'N-SF19', 'N-PSK53', 'N-SF64', 'N-SF56', 'LASF35'] + num_i = alen(I_glasses) + + # # Remove the "high-transmission" duplications of regular glasses. + H_glasses = ['LF5HT', 'BK7HT', 'LLF1HT', 'N-SF57HT', 'SF57HT', 'LF6HT', 'N-SF6HT', 'F14HT', 'LLF6HT', 'SF57HHT', 'F2HT', 'K5HT', 'SF6HT', 'F8HT', 'K7HT'] + num_h = alen(H_glasses) + + # # Remove the "soon-to-be-inquiry" glasses from the Schott catalog. + N_glasses = ['KZFSN5', 'P-PK53', 'N-LAF36', 'UBK7', 'N-BK7'] + num_n = alen(N_glasses) + + # # Remove the Zinc-sulfide and zinc selenide glasses. + ZN_glasses = ['CLEARTRAN_OLD', 'ZNS_VIS'] + num_zn = alen(ZN_glasses) + + # # "zealous": remove the "P" glasses specifically designed for hot press molding, and several glasses that are nearly identical to others in the catalog. + Z_glasses = ['N-F2', 'N-LAF7', 'N-SF1', 'N-SF10', 'N-SF2', 'N-SF4', 'N-SF5', 'N-SF57', 'N-SF6', 'N-ZK7', 'P-LASF50', 'P-LASF51', 'P-SF8', 'P-SK58A', 'P-SK60'] + num_z = alen(Z_glasses) + + for glass in schott_glasses: + remove = (glass in I_glasses) or (glass in H_glasses) or (glass in N_glasses) or \ + (glass in ZN_glasses) + if zealous: + remove = remove or (glass in Z_glasses) + if remove: + if 'schott' in self.library: + del self.library['schott'][glass] + elif 'SCHOTT' in self.library: + del self.library['SCHOTT'][glass] + + # # Refresh any existing information in the library. + if hasattr(self, 'nglasses'): + nglasses = 0 + for catalog in self.library: + for glass in self.library[catalog]: + nglasses += 1 + self.nglasses = nglasses + elif (name == 'glasses'): + glasses = [] + for catalog in self.library: + glasses.extend(self.library[catalog].keys()) + self.glasses = glasses + + return + + ## ========================= + def get_dispersion(self, glass, catalog, temperature_environment = 20., pressure_environment = 0.10113e6, force_update = False): + ''' + For a given glass, calculate the dispersion curve (refractive index as a function of wavelength in nm). + + If sampling_domain=='wavenumber' then the curve is still returned in wavelength units, but the sampling + will be uniform in wavenumber and not uniform in wavelength. Note that we need to know both the + catalog and the glass name, and not just the glass name, because some catalogs share the same glass names. + + Parameters + ---------- + glass : str + The name of the glass we want to know about. + catalog : str + The catalog containing the glass. + temperature = 20 Degree Celsius: float + The temperature of the environment, e.g. air. + pressure_environment = 0.10113e6 Pa : float + The pressure of the enviornment, e.g. air at normal conditions. For vacuum set this value to zero. + + Returns + ------- + indices : ndarray + A numpy array giving the sampled refractive index curve. + ''' + + if ('indices' in self.library[catalog][glass] and not force_update): + return(self.waves, self.library[catalog][glass]['indices']) + + if (catalog == None): + print('Warning: cannot find glass "' + glass + '" in the library! Aborting ...') + return(None, None) + if ('waves' in self.library[catalog][glass]) and ('indices' in self.library[catalog][glass] and not force_update): + return(self.waves, self.library[catalog][glass]['indices']) + + cd = self.library[catalog][glass]['cd'] + dispform = self.library[catalog][glass]['dispform'] + ld = self.library[catalog][glass]['ld'] + + # # Zemax's dispersion formulas all use wavelengths in um. So, to compare "ld" + # # and wavemin,wavemax we first convert the former to nm and then, when done + # # we convert to um. + if (amax(self.waves) < ld[0] * 1000.0) or (amin(self.waves) > ld[1] * 1000.0): + print('wavemin,wavemax=(%f,%f), but ld=(%f,%f)' % (amin(self.waves), amax(self.waves), ld[0], ld[1])) + print('Cannot calculate an index in the required spectral range. Aborting ...') + return(None, None) + + # # Choose which domain is the one in which we sample uniformly. Regardless + # # of choice, the returned vector "w" gives wavelength in um. + if (self.sampling_domain == 'wavelength'): + w = self.waves / 1000.0 # # convert from nm to um + elif (self.sampling_domain == 'wavenumber'): + w = self.wavenumbers + + if (dispform == 1): + formula_rhs = cd[0] + (cd[1] * w ** 2) + (cd[2] * w ** -2) + (cd[3] * w ** -4) + (cd[4] * w ** -6) + (cd[5] * w ** -8) + indices = sqrt(formula_rhs) + elif (dispform == 2): # # Sellmeier1 + formula_rhs = (cd[0] * w ** 2 / (w ** 2 - cd[1])) + (cd[2] * w ** 2 / (w ** 2 - cd[3])) + (cd[4] * w ** 2 / (w ** 2 - cd[5])) + indices = sqrt(formula_rhs + 1.0) + elif (dispform == 3): # # Herzberger + L = 1.0 / (w ** 2 - 0.028) + indices = cd[0] + (cd[1] * L) + (cd[2] * L ** 2) + (cd[3] * w ** 2) + (cd[4] * w ** 4) + (cd[5] * w ** 6) + elif (dispform == 4): # # Sellmeier2 + formula_rhs = cd[0] + (cd[1] * w ** 2 / (w ** 2 - (cd[2]) ** 2)) + (cd[3] * w ** 2 / (w ** 2 - (cd[4]) ** 2)) + indices = sqrt(formula_rhs + 1.0) + elif (dispform == 5): # # Conrady + indices = cd[0] + (cd[1] / w) + (cd[2] / w ** 3.5) + elif (dispform == 6): # # Sellmeier3 + formula_rhs = (cd[0] * w ** 2 / (w ** 2 - cd[1])) + (cd[2] * w ** 2 / (w ** 2 - cd[3])) + \ + (cd[4] * w ** 2 / (w ** 2 - cd[5])) + (cd[6] * w ** 2 / (w ** 2 - cd[7])) + indices = sqrt(formula_rhs + 1.0) + elif (dispform == 7): # # HandbookOfOptics1 + formula_rhs = cd[0] + (cd[1] / (w ** 2 - cd[2])) - (cd[3] * w ** 2) + indices = sqrt(formula_rhs) + elif (dispform == 8): # # HandbookOfOptics2 + formula_rhs = cd[0] + (cd[1] * w ** 2 / (w ** 2 - cd[2])) - (cd[3] * w ** 2) + indices = sqrt(formula_rhs) + elif (dispform == 9): # # Sellmeier4 + formula_rhs = cd[0] + (cd[1] * w ** 2 / (w ** 2 - cd[2])) + (cd[3] * w ** 2 / (w ** 2 - cd[4])) + indices = sqrt(formula_rhs) + elif (dispform == 10): # # Extended1 + formula_rhs = cd[0] + (cd[1] * w ** 2) + (cd[2] * w ** -2) + (cd[3] * w ** -4) + (cd[4] * w ** -6) + \ + (cd[5] * w ** -8) + (cd[6] * w ** -10) + (cd[7] * w ** -12) + indices = sqrt(formula_rhs) + elif (dispform == 11): # # Sellmeier5 + formula_rhs = (cd[0] * w ** 2 / (w ** 2 - cd[1])) + (cd[2] * w ** 2 / (w ** 2 - cd[3])) + \ + (cd[4] * w ** 2 / (w ** 2 - cd[5])) + (cd[6] * w ** 2 / (w ** 2 - cd[7])) + \ + (cd[8] * w ** 2 / (w ** 2 - cd[9])) + indices = sqrt(formula_rhs + 1.0) + elif (dispform == 12): # # Extended2 + formula_rhs = cd[0] + (cd[1] * w ** 2) + (cd[2] * w ** -2) + (cd[3] * w ** -4) + (cd[4] * w ** -6) + \ + (cd[5] * w ** -8) + (cd[6] * w ** 4) + (cd[7] * w ** 6) + indices = sqrt(formula_rhs) + else: + print('Dispersion formula #' + str(dispform) + ' (for glass=' + glass + ' in catalog=' + catalog + ') is not a valid choice.') + indices = ones_like(w) * nan + # raise ValueError('Dispersion formula #' + str(dispform) + ' (for glass=' + glass + ' in catalog=' + catalog + ') is not a valid choice.') + + + # Include pressure and temperature dependence of Environemnt. + # From Applied Optics: TIE-19: Temperature Coefficient of the Refractive Index + td = self.library[catalog][glass]['td'] + temperature_dispersion_measurement_reference = td[6] # Degree Celsius + + p_ref = self.pressure_dispersion_measurement_reference + T_ref = temperature_dispersion_measurement_reference + T = temperature_environment + p = pressure_environment + + n_ref = 1 + (6432.8 + ((2949810. * w ** 2) / (146.*w ** 2 - 1)) + ((25540 * w ** 2) / (41 * w ** 2 - 1))) * 1e-8 + + n_air_ref = 1. + ((n_ref - 1.) / (1. + (T_ref - 15) * 3.4785e-3)) * p_ref / p_ref + + n_environment = 1. + ((n_ref - 1.) / (1. + (T - 15) * 3.4785e-3)) * p / p_ref + + indices = indices * n_air_ref / n_environment + + # # Zemax's dispersion formulas all use wavelengths in um. So, to compare "ld" + # # and wavemin,wavemax we first convert the former to nm and then, when done + # # we convert to um. + if (amin(self.waves) < ld[0] * 1000.0): + print('Truncating fitting range since wavemin=%f, but ld[0]=%f ...' % (amin(self.waves), ld[0])) + indices[self.waves < ld[0] * 1000.0] = 0.0 + if (amax(self.waves) > ld[1] * 1000.0): + print('Truncating fitting range since wavemax=%f, but ld[1]=%f ...' % (amax(self.waves), ld[1])) + indices[self.waves > ld[1] * 1000.0] = 0.0 + + # # Convert waves in um back to waves in nm for output. + self.library[catalog][glass]['indices'] = indices + return(self.waves, indices) + + + ## ========================= + def get_temperature_dependence(self, glass, catalog, temperatures, temperature_environment = 20, pressure_environment = 0.10113e6): + ''' + For a given glass, calculate the temperature dependence of the refractive index according to the equation in the ZEMAX manual + + Parameters + ---------- + glass : str + The name of the glass we want to know about. + catalog : str + The catalog containing the glass. + temperatures : ndarray [Kelvin] + A numpy array containing the temperatures at which the refractive index shall be calculated + + Returns + ------- + indices : ndarray + A numpy array with the temperature dependence of the glass at the following wavelengths + ''' + + if (catalog == None): + print('Warning: cannot find glass "' + glass + '" in the library! Aborting ...') + return(None, None) + + td = self.library[catalog][glass]['td'] + + wavelength, index_of_refraction = self.get_dispersion(glass, catalog, temperature_environment, pressure_environment) + wavelength = wavelength / 1000. + n = index_of_refraction + delta_T = temperatures - 273.15 - td[-1] + + delta_n_abs = einsum('i,ij->ij', (n ** 2 - 1) / (2 * n), (td[0] * delta_T + td[1] * delta_T ** 2 + td[2] * delta_T ** 3 + \ + einsum('j,i->ij', (td[3] * delta_T + td[4] * delta_T ** 2), 1 / (wavelength ** 2 - sign(td[5]) * td[5] ** 2)))) + + index_of_refraction = index_of_refraction + delta_n_abs.T + + return wavelength, temperatures, index_of_refraction + + ## ========================= + def get_polyfit_dispersion(self, glass, catalog): + ''' + Get the polynomial-fitted dispersion curve for a glass. + + Note that we need to know both the catalog and the glass name, and not just the glass name, + because some catalogs share the same glass names. + + Parameters + ---------- + glass : str + Which glass to analyze. + catalog : str + The catalog containing the glass. + ''' + + if ('interp_indices' in self.library[catalog][glass]): + return(self.waves, self.library[catalog][glass]['interp_indices']) + + # # Generate a vector of wavelengths in nm, with samples every 1 nm. + (waves, indices) = self.get_dispersion(glass, catalog) + + okay = (indices > 0.0) + if not any(okay): + return(waves, ones_like(waves) * nan) + + x = linspace(-1.0, 1.0, alen(waves[okay])) + coeffs = polyfit(x, indices[okay], self.degree) + coeffs = coeffs[::-1] # # reverse the vector so that the zeroth degree coeff goes first + self.library[catalog][glass]['interp_coeffs'] = coeffs + + interp_indices = polyeval_Horner(x, coeffs) + self.library[catalog][glass]['interp_indices'] = interp_indices + + return(waves, interp_indices) + + ## ============================================================================= + def cull_library(self, key1, tol1, key2 = None, tol2 = None): + ''' + Reduce all catalogs in the library such that no two glasses are simultaneously + within (+/- tol1) of key1 and (+/- tol2) of key2. + + Parameters + ---------- + key1 : str + The first parameter to analyze. This can be, e.g., "nd" or "dispform". Any key in the \ + glass data dictionary. + tol1 : float + The `tolerance` value: if the `key1` properties of any two glasses are within +/-tol1 \ + of one another, then remove all but one from the library. + key2 : str + The second parameter to analyze. + tol2 : float + The second `tolerance` value: if the `key1` and `key2` properties of any two glasses \ + are within +/-tol1 and +/-tol2 of one another simultaneously, then remove all but one \ + such glass from the library. + ''' + + keydict1 = {} + keydict2 = {} + names = [] + keyval1 = [] + keyval2 = [] + + for catalog in self.library: + for glass in self.library[catalog]: + names.append(catalog + '_' + glass) + catalogs.append(catalog) + + if (key1 in self.library[catalog][glass]): + keyval1.append(self.library[catalog][glass][key1]) + else: + keyval1.append(self.library[catalog][glass][None]) + + if (key2 != None): + if (key2 in self.library[catalog][glass]): + keyval2.append(self.library[catalog][glass][key2]) + else: + keyval2.append(self.library[catalog][glass][None]) + + names_to_remove = [] + keyval1 = array(keyval1) + keyval2 = array(keyval2) + + for i in arange(alen(names)): + if (key2 == None): + idx = where(abs(keyval1[i] - keyval1) < tol1) + names_to_remove.append([name for name in names[idx] if name != names[i]]) + else: + idx = where((abs(keyval1[i] - keyval1) < tol1) and (abs(keyval2 - keyval2[i]) < tol2)) + # print('%3i %3i %5.3f %5.3f %6.3f %6.3f %12s %12s --> REMOVE %3i %12s' % (i, j, keyval1[i], keyval1[j], keyval2[i], keyval2[j], names_all[i], names_all[j], j, names_all[j])) + names_to_remove.append([name for name in names[idx] if name != names[i]]) + + # # Remove the duplicates from the "remove" list, and then delete those glasses + # # from the glass catalog. + names_to_remove = unique(names_to_remove) + for glass in names_to_remove: + (catalog, glass) = glass.split('_') + # print('i='+str(i)+': catalog='+catalog+'; glass='+name) + del self.library[catalog][glass] + + return + + ## ========================= + def plot_dispersion(self, glass, catalog, polyfit = False, fiterror = False): + ''' + Plot the glass refractive index curve as a function of wavelength. + + Parameters + ---------- + glass : str + The name of the glass to analyze. + catalog : str + The catalog containing the glass. + polyfit : bool + Whether to also display the polynomial fit to the curve. + fiterror : bool + If `polyfit` is True, then `fiterror` indicates whether a fitting error should also be \ + displayed, using the LHS y-axis. + ''' + + (x, y) = self.get_dispersion(glass, catalog) + fig = plt.figure(figsize = (10, 5)) + ax = fig.add_subplot(111) + ax.plot(x, y, 'b-', linewidth = 2) + + if polyfit: + (x2, y2) = self.get_polyfit_dispersion(glass, catalog) + ax.plot(x2, y2, 'ko', markersize = 4, zorder = 0) + + plt.title(glass + ' dispersion') + plt.xlabel('wavelength (nm)') + plt.ylabel('refractive index') + + if polyfit and fiterror: + fig.subplots_adjust(right = 0.85) + F = plt.gcf() + (xsize, ysize) = F.get_size_inches() + fig.set_size_inches(xsize + 5.0, ysize) + err = y2 - y + ax2 = ax.twinx() + ax2.set_ylabel('fit error') + ax2.plot(x2, err, 'r-') + + # # Enforce the plotting range. + xmin = min(x) + xmax = max(x) + xrange = xmax - xmin + if (xrange < 1.0): xrange = 1.0 + xbot = xmin - (0.05 * xrange) + xtop = xmax + (0.05 * xrange) + + ymin = min(y) + ymax = max(y) + yrange = ymax - ymin + if (yrange < 1.0E-9): yrange = 1.0 + ybot = ymin - (0.05 * yrange) + ytop = ymax + (0.05 * yrange) + + ax.axis([xbot, xtop, ybot, ytop]) + + return + + ## ========================= + def plot_temperature_dependence(self, glass, catalog, temperatures): + ''' + Plot the glass refractive index curve as a function of temeprature for given wavelengths. + + Parameters + ---------- + glass : str + The name of the glass to analyze. + catalog : str + The catalog containing the glass. + temepratures : ndarray + Array containing the values for which the refractive indes shall be plotted + ''' + + (wavelengths, temperatures, index_of_refraction) = self.get_temperature_dependence(glass, catalog, temperatures) + fig = plt.figure(figsize = (10, 5)) + ax = fig.add_subplot(111) + ax.plot(temperatures, index_of_refraction, 'b-', linewidth = 2) + + plt.title(glass + ' temperature dependence') + plt.xlabel('temperature (K)') + plt.ylabel('refractive index') + + return + + ## ========================= + def plot_catalog_property_diagram(self, catalog = 'all', prop1 = 'nd', prop2 = 'vd', show_labels = True): + ''' + Plot a scatter diagram of one glass property against another. + + A "property" can be: nd, vd, cr, fr, ar, sr, pr, n0, n1, n2, n3, tce, density, dpgf. Note that + if "prop1" and "prop2" are left unspecified, then the result is an Abbe diagram. + + If catalog=='all', then all glasses from the entire library are plotted. + + Parameters + ---------- + catalog : str + Which catalog to plot. + prop1 : str + The glass data property to show along the abscissa (x-axis). + prop2 : str + The glass data property to show along the ordinate (y-axis). + show_labels : bool + Whether to show the glass name labels near the data points. + ''' + + if (catalog == 'all'): + catalogs = self.library.keys() + elif isinstance(catalog, list) and (len(catalog) > 1): + catalogs = catalog + elif isinstance(catalog, str): + catalogs = [catalog] + + colors = get_colors(len(catalogs)) + glassnames = [] + all_p1 = [] + all_p2 = [] + + fig = plt.figure(figsize = (12, 6)) + ax = plt.gca() + ax.set_color_cycle(colors) + + # # Collect lists of the property values for "prop1" and "prop2", one catalog at a time. + # # Plot each catalog separately, so that each can be displayed with unique colors. + for i, cat in enumerate(catalogs): + p1 = [] + p2 = [] + for glass in self.library[cat]: + if (catalog == 'all') and (glass == 'AIR'): continue + if (catalog == 'all') and (abs(self.library[cat][glass]['vd']) < 1.0E-6): continue + + if (prop1 in ('n0', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n6', 'n8', 'n9')): + idx = int(prop1[1]) + if ('interp_coeffs' not in self.library[cat][glass]): + print('Calculating dispersion coefficients for "' + glass + '" ...') + self.get_polyfit_dispersion(glass, cat) + if ('interp_coeffs' in self.library[cat][glass]): + p1_coeffs = self.library[cat][glass]['interp_coeffs'][idx] + else: + print('Could not find valid interpolation coefficients for "' + glass + '" glass ...') + continue + else: + p1.append(self.library[cat][glass][prop1]) + + if (prop2 in ('n0', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n6', 'n8', 'n9')): + idx = int(prop2[1]) + if ('interp_coeffs' not in self.library[cat][glass]): + print('Calculating dispersion coefficients for "' + glass + '" ...') + self.get_polyfit_dispersion(glass, cat) + if ('interp_coeffs' in self.library[cat][glass]): + p2_coeffs = self.library[cat][glass]['interp_coeffs'][idx] + else: + print('Could not find valid interpolation coefficients for "' + glass + '" glass ...') + continue + else: + p2.append(self.library[cat][glass][prop2]) + + glassnames.append(glass) + + if (prop1 in ('n0', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n6', 'n8', 'n9')): + p1.append(p1_coeffs) + if (prop2 in ('n0', 'n1', 'n2', 'n3', 'n4', 'n5', 'n6', 'n6', 'n8', 'n9')): + p2.append(p2_coeffs) + + plt.plot(p1, p2, 'o', markersize = 5) + all_p1.extend(p1) + all_p2.extend(p2) + + # DataCursor.DataCursor([ax]) ## turn on the feature of getting a box pointing to data points + plt.title('catalog "' + catalog + '": ' + prop1 + ' vs. ' + prop2) + plt.xlabel(prop1) + plt.ylabel(prop2) + + # # Enforce the plotting range. + xmin = min(all_p1) + xmax = max(all_p1) + xrange = xmax - xmin + if (xrange < 1.0): xrange = 1.0 + xbot = xmin - (0.05 * xrange) + xtop = xmax + (0.05 * xrange) + xdist = 0.01 * xrange # # for plotting text near the data points + + ymin = min(all_p2) + ymax = max(all_p2) + yrange = ymax - ymin + if (yrange < 1.0E-9): yrange = 1.0 + ybot = ymin - (0.05 * yrange) + ytop = ymax + (0.05 * yrange) + ydist = 0.01 * yrange # # for plotting text near the data points + + plt.axis([xbot, xtop, ybot, ytop]) + leg = plt.legend(catalogs, prop = {'size':10}, loc = 'best') + leg.draggable() + # leg = plt.legend(catalogs, prop={'size':10}, bbox_to_anchor=(1.2,1)) + + if show_labels: + # # Plot all of the glass labels offset by (5,5) pixels in (x,y) from the data point. + trans_offset = offset_copy(ax.transData, fig = fig, x = 5, y = 5, units = 'dots') + for i in arange(alen(glassnames)): + # print('i=%i: glassname=%s, p1=%f, p2=%f' % (i, glassnames[i], p1[i], p2[i])) + plt.text(all_p1[i], all_p2[i], glassnames[i], fontsize = 7, zorder = 0, transform = trans_offset, color = '0.5') + + return + + +## ============================================================================= +# # End of ZemaxLibrary class +## ============================================================================= + +def read_library(glassdir, catalog = 'all'): + ''' + Get a list of all '*.agf' files in the directory, then call `parse_glassfile()` on each one. + + Parameters + ---------- + glassdir : str + The directory where we can find all of the *.agf files. + catalog : str, optional + If there is only one catalog of interest within the directory, then read only this one. + + Returns + ------- + glass_library : dict + A dictionary in which each entry is a glass catalog. + + Example + ------- + >>> glasscat = read_zemax.read_glasscat('~/Zemax/Glasscat/') + >>> nd = glasscat['schott']['N-BK7']['nd'] + ''' + + glassdir = os.path.normpath(glassdir) + files = glob.glob(os.path.join(glassdir, '*.[Aa][Gg][Ff]')) + + if (len(catalog) > 1) and isinstance(catalog, list): + catalogs = catalog + else: + catalogs = [catalog] + + # # Get the set of catalog names. These keys will initialize the glasscat dictionary. + glass_library = {} + + for f in files: + print('Reading ' + f + ' ...') # zzz + this_catalog = os.path.basename(f)[:-4] + if (this_catalog not in catalogs) and (catalog != 'all'): continue + glass_library[this_catalog] = parse_glass_file(f) + + return(glass_library) + + +## ============================================================================= +def parse_glass_file(filename): + ''' + Read a Zemax glass file (*.agf') and return its contents as a Python dictionary. + + Parameters + ---------- + filename : str + The file to parse. + + Returns + ------- + glass_catalog : dict + The dictionary containing glass data for all classes in the file. + ''' + + f = open(filename, 'r') + glass_catalog = {} + + for line in f: + if not line.strip(): continue + if line.startswith('CC '): continue + if line.startswith('NM '): + nm = line.split() + glassname = nm[1] + glass_catalog[glassname] = {} + glass_catalog[glassname]['dispform'] = int(float(nm[2])) # int(float(nm[2])) + glass_catalog[glassname]['nd'] = float(nm[4]) + glass_catalog[glassname]['vd'] = float(nm[5]) + glass_catalog[glassname]['exclude_sub'] = 0 if (len(nm) < 7) else int(float(nm[6])) # int(float(nm[6])) + glass_catalog[glassname]['status'] = 0 if (len(nm) < 8) else int(float(nm[7])) # int(float(nm[7])) + glass_catalog[glassname]['meltfreq'] = 0 if ((len(nm) < 9) or (nm.count('-') > 0)) else int(float(nm[8])) # int(float(nm[8])) + elif line.startswith('ED '): + ed = line.split() + glass_catalog[glassname]['tce'] = float(ed[1]) + glass_catalog[glassname]['density'] = float(ed[3]) + glass_catalog[glassname]['dpgf'] = float(ed[4]) + glass_catalog[glassname]['ignore_thermal_exp'] = 0 if (len(ed) < 6) else int(ed[5]) + elif line.startswith('CD '): + cd = line.split()[1:] + glass_catalog[glassname]['cd'] = [float(a) for a in cd] + elif line.startswith('TD '): + td = line.split()[1:] + glass_catalog[glassname]['td'] = [float(a) for a in td] + elif line.startswith('OD '): + od = line.split()[1:] + od = string_list_to_float_list(od) + glass_catalog[glassname]['relcost'] = od[0] + glass_catalog[glassname]['cr'] = od[1] + glass_catalog[glassname]['fr'] = od[2] + glass_catalog[glassname]['sr'] = od[3] + glass_catalog[glassname]['ar'] = od[4] + if (len(od) == 6): + glass_catalog[glassname]['pr'] = od[5] + else: + glass_catalog[glassname]['pr'] = -1.0 + elif line.startswith('LD '): + ld = line.split()[1:] + glass_catalog[glassname]['ld'] = [float(a) for a in ld] + elif line.startswith('IT '): + it = line.split()[1:] + it_row = [float(a) for a in it] + if ('it' not in glass_catalog[glassname]): + glass_catalog[glassname]['IT'] = {} + glass_catalog[glassname]['IT']['wavelength'] = it_row[0] + glass_catalog[glassname]['IT']['transmission'] = it_row[1] + + if len(it_row) > 2: + glass_catalog[glassname]['IT']['thickness'] = it_row[2] + else: + glass_catalog[glassname]['IT']['thickness'] = nan + + f.close() + + return(glass_catalog) + +## ================================================================================================= +def string_list_to_float_list(x): + ''' + Convert a list of strings to a list of floats, where a string value of '-' is mapped to a + floating point value of -1.0, and an empty input list produces a length-10 list of -1.0's. + + Parameters + ---------- + x : list + The list of strings to convert + + Returns + ------- + res : list of floats + The converted results. + ''' + npts = len(x) + if (npts == 0) or ((npts == 1) and (x[0].strip() == '-')): + return([-1.0] * 10) + + res = [] + for a in x: + if (a.strip() == '-'): + res.append(-1.0) + else: + try: + res.append(float(a)) + except: + res.append(nan) + + return(res) + +## ================================================================================================= +def find_catalog_for_glassname(glass_library, glassname): + ''' + Search for the catalog containing a given glass. + + Note that this is not a perfect solution --- it is common for multiple catalogs to share glass + names, and this function will only return the first one it finds. + + Parameters + ---------- + glass_library : ZemaxGlassLibrary + The glass library to search through. + glassname : str + The name of the glass to search for. + + Returns + ------- + catalog : str + The name of the catalog where the glass is found. If not found, then return None. + ''' + for catalog in glass_library: + if glassname in glass_library[catalog]: + return(catalog) + return(None) + +## ================================================================================================= +def polyeval_Horner(x, poly_coeffs): + ''' + Use Horner's rule for polynomial evaluation. + + Assume a polynomial of the form \ + p = c[0] + (c[1] * x) + (c[2] * x**2) + (c[3] * x**3) + ... + (c[N] * x**N). + + Parameters + ---------- + x : array_like + The abscissa at which to evaluate the polynomial. + poly_coeffs : array_like + The vector of polynomial coefficients. + + Returns + ------- + p : ndarray + The polynomial evaluated at the points given in x. + ''' + + ncoeffs = alen(poly_coeffs) + p = zeros(alen(x)) + for n in arange(ncoeffs - 1, -1, -1): + p = poly_coeffs[n] + (x * p) + # print('n=%i, c=%f' % (n, coeffs[n])) + return(p) + +## ================================================================================================= +def get_colors(num_colors): + ''' + Make a list of 16 discernably different colors that can be used for drawing plots. + + Returns + ------- + mycolors : list of floats + A 16x4 list of colors, with each color being a 4-vector (R,G,B,A). + ''' + + mycolors = [None] * 16 + mycolors[0] = [0.0, 0.0, 0.0, 1.0] # # black + mycolors[1] = [1.0, 0.0, 0.0, 1.0] # # red + mycolors[2] = [0.0, 0.0, 1.0, 1.0] # # blue + mycolors[3] = [0.0, 0.5, 0.0, 1.0] # # dark green + mycolors[4] = [1.0, 0.5, 0.0, 1.0] # # orange + mycolors[5] = [0.0, 0.5, 0.5, 1.0] # # teal + mycolors[6] = [1.0, 0.0, 1.0, 1.0] # # magenta + mycolors[7] = [0.0, 1.0, 0.0, 1.0] # # lime green + mycolors[8] = [0.5, 0.5, 0.0, 1.0] # # olive green + mycolors[9] = [1.0, 1.0, 0.0, 1.0] # # yellow + mycolors[10] = [0.5, 0.0, 0.0, 1.0] # # maroon + mycolors[11] = [0.5, 0.0, 0.5, 1.0] # # purple + mycolors[12] = [0.7, 0.7, 0.7, 1.0] # # bright grey + mycolors[13] = [0.0, 1.0, 1.0, 1.0] # # aqua + mycolors[14] = [0.4, 0.4, 0.4, 1.0] # # dark grey + mycolors[15] = [0.0, 0.0, 0.5, 1.0] # # navy blue + return(mycolors[:num_colors]) + +## ============================================================================================= +if (__name__ == '__main__'): + + wavemin = 762.0 + wavemax = 764.0 + nwaves = 3 + glasslib = ZemaxGlassLibrary(catalog = 'schott', wavemin = wavemin, wavemax = wavemax, nwaves = nwaves) + # glasslib.plot_dispersion('N-BK7', 'schott') + glasslib.plot_temperature_dependence('N-BK7', 'schott', arange(293, 350)) + + plt.show() + + wavemin = 400.0 + wavemax = 700.0 + + glasslib = ZemaxGlassLibrary(catalog = 'all') + # glasslib = ZemaxGlassLibrary(degree=5) + print('Number of glasses found in the library: ' + str(glasslib.nglasses)) + print('Glass catalogs found:', glasslib.catalogs) + print(glasslib.glasses) + + + glasslib.plot_dispersion('N-BK7', 'schott') + + + glasslib.plot_dispersion('SF66', 'schott', polyfit = True, fiterror = True) + # glasslib.plot_catalog_property_diagram('all', prop1='vd', prop2='nd') + # glasslib.plot_catalog_property_diagram('all', prop1='nd', prop2='dispform') + # glasslib.plot_catalog_property_diagram('schott', prop1='n0', prop2='n1') + + # glasslib.plot_catalog_property_diagram('all', prop1='n0', prop2='n1') + glasslib.plot_catalog_property_diagram('cdgm', prop1 = 'vd', prop2 = 'nd') + + # glasslib.pprint('schott') ## print the glass info found in the Schott glass catalog + glasslib.pprint() # # print the glass infor for the entire library of glasses + # glasslib.pprint('schott','SF66') ## print the glass info for SF66 in the Schott glass catalog + + glasslib = ZemaxGlassLibrary(degree = 5, wavemin = 7500.0, wavemax = 14500.0, catalog = 'infrared') + print('Number of glasses found in the library: ' + str(glasslib.nglasses)) + print('Glass catalogs found:', glasslib.catalogs) + glasslib.plot_dispersion('ZNS_BROAD', 'infrared') + + + plt.show() diff --git a/dist/ZemaxGlass-1.1.tar.gz b/dist/ZemaxGlass-1.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..c1a07dab9102636280da1df275c285c6cd0411c8 GIT binary patch literal 298376 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

UpSH`tf=;$&OdjQ*C=PUf$AAPMD+ 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%0DTSjY1n(CO4{b?_cPhNhl9T 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�<|FbEc9EKQpjIw&r=B?Z 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 z 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 Ik^tyG0HK`U@c;k- literal 0 HcmV?d00001 diff --git a/setup.py b/setup.py index 72d6d8b..ac8b2f5 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ setup( name = "ZemaxGlass", py_modules = ["ZemaxGlass"], - version = "1.0", + version = "1.1", description = "Zemax glass (.agf) file reader", author = "Nathan Hagen", author_email = "nhagen@optics.arizona.edu", @@ -28,6 +28,7 @@ users to plot the dispersion curves of glasses, and to visually compare the properties of all glasses in the library against one another. (See the user manual for details.) +Version 1.1 includes extension by Michael Deiml This version requires Python 2.7 or later. """ )