ehpor / hcipy

A framework for performing optical propagation simulations, meant for high contrast imaging, in Python.

Home Page:https://hcipy.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Adding birefringent glasses

syhaffert opened this issue · comments

I have been working on a project that needed a birefringent glass (Quartz). I am currently thinking about how we want to incorporate such a thing in hcipy. I want to propose this interface:

_glass_catalogue = {
	'CAF2': make_sellmeier_glass(1.33973, [0.69913, 0.11994, 4.35181], [0.09374**2, 21.18**2, 38.46**2]),
	'QUARTZ' : {
		'O' : make_sellmeier_glass(1+0.28851804, [1.09509924, 1.15662475], [1.02101864e-2, 100.0]),
		'E' : make_sellmeier_glass(1+0.28604141, [1.07044083, 1.10202242], [1.00585997e-2, 100.0])
	},
	'SILICA': make_sellmeier_glass(1, [0.6961663, 0.4079426, 0.8974794], [0.0684043**2, 0.1162414**2, 9.896161**2]),
	'VACUUM': lambda wavelengths: np.ones_like(wavelengths)
}
	
quartz_e = get_refractive_index('QUARTZ')['E']
quartz_o = get_refractive_index('QUARTZ')['O']

Comments?