%pylab inline
import numpy as np
import matplotlib.pyplot as plt
import urllib
from rayopt import *
np.set_printoptions(precision=3)
Populating the interactive namespace from numpy and matplotlib
f = "https://raw.githubusercontent.com/Elphel/elens/master/ofh_v2_utf16le.zmx"
s = zmx_to_system(urllib.request.urlopen(f).read().decode("utf16"))
s.object.angle = np.deg2rad(38)
s.fields = 0, .7, 1.
del s[:2]
s[0].distance = 0
s[1].distance = 5
s.description = "Elphel 1/2.5\", f=4.5mm, f/1.8"
s.stop = 9
s.object.pupil.radius = 4.5/1.8/2
# s[-1].direction = 0, 0, 1.
s.update()
a = Analysis(s)
/home/rj/work/nist/pyrayopt/rayopt/elements.py:134: RuntimeWarning: invalid value encountered in multiply self._offset = d*u /home/rj/work/nist/pyrayopt/rayopt/paraxial_trace.py:186: RuntimeWarning: divide by zero encountered in true_divide return self.n[(0, -2), ]/(2*na) /home/rj/work/nist/pyrayopt/rayopt/paraxial_trace.py:191: RuntimeWarning: divide by zero encountered in true_divide return 1.22*self.wavelength/(2*na)/self.system.scale
FCUR not handled 0 2 0 0 0 0 3.0 1.0E+5 0 0 AXCL not handled 1 3 0 0 0 0 0 1.0E+2 0 0 ASTI not handled 0 2 5.0E-1 5.0E-1 0 0 0 1.0E+1 0 0 LONA not handled 0 0 0 0 0 0 2.0E-2 1.0E+3 0 0 TTHI not handled 2 16 0 0 0 0 2.01E+1 0 0 0 OPGT not handled 5 0 0 0 0 0 1.9E+1 1 0 0 OPLT not handled 5 0 0 0 0 0 2.25E+1 1 0 0 DIST not handled 0 2 0 0 0 0 -5. 0 0 0 OPGT not handled 8 0 0 0 0 0 -1.2E+1 1 0 0 OPLT not handled 8 0 0 0 0 0 0 1 0 0
/home/rj/work/nist/pyrayopt/rayopt/elements.py:208: RuntimeWarning: invalid value encountered in less_equal good = np.square(y[:, :2]).sum(1) <= self.radius**2 /home/rj/work/nist/pyrayopt/rayopt/elements.py:497: RuntimeWarning: invalid value encountered in sqrt g = np.sqrt(np.square(d) - e*f)
System: Elphel 1/2.5", f=4.5mm, f/1.8 Scale: 1.0 mm Wavelengths: 588, 656, 486 nm Fields: 0, 0.7, 1 Object: Semi-Angle: 38 deg Pupil: Pupil Distance: 12.1737 Refractive Index: 1.00028 Update Radius: True Radius: 1.25043 Image: Radius: 3.58 Update Radius: True Pupil: Pupil Distance: -10.333 Refractive Index: 1.00028 Update Radius: True Radius: 2.87421 Stop: 9 Elements: # T Distance Rad Curv Diameter Material n nd Vd 0 S 0 inf 36.417 basic/air 1.000 1.000 89.30 1 S 5 44.2 19 Obsolete/LASF14A 1.822 1.822 37.45 2 S 2 246.7 19 basic/air 1.000 1.000 89.30 3 S 0.5 28.74 13.2 SCHOTT/SK16 1.620 1.620 60.32 4 S 0.97989 4.643 8.4 basic/air 1.000 1.000 89.30 5 S 2.0436 10.17 9.2 SCHOTT/BAF51 1.652 1.652 44.93 6 S 2.5001 4.619 6.4 basic/air 1.000 1.000 89.30 7 S 2 14.53 9 SCHOTT/SF57 1.847 1.847 23.83 8 S 2.5345 -20.36 9 basic/air 1.000 1.000 89.30 9 S 0.4326 inf 4.1606 basic/air 1.000 1.000 89.30 10 S 1.3039 -30.54 7.4 SCHOTT/SF58 1.918 1.918 21.51 11 S 1.5 8.931 7.4 SCHOTT/N-SK15 1.623 1.623 58.02 12 S 1.9558 -7.485 7.4 basic/air 1.000 1.000 89.30 13 S 0.51017 24.79 9 SCHOTT/N-FK51A 1.487 1.487 84.47 14 S 1.5 -12.62 9 basic/air 1.000 1.000 89.30 15 S 0.71181 11.4 9 SCHOTT/N-FK51 1.487 1.487 84.47 16 S 2.0521 -31.83 9 basic/air 1.000 1.000 89.30 17 S 5.7 -8 8 SCHOTT/N-BK7 1.517 1.517 64.17 18 S 0.5 inf 9 basic/air 1.000 1.000 89.30 19 S 0 inf 8 SCHOTT/N-BK7 1.517 1.517 64.17 20 S 0.4 inf 8 basic/air 1.000 1.000 89.30 21 S 0.0072745 inf 7.1594 basic/air 1.000 1.000 89.30 lagrange: -1.1084 track length: 29.124 object, image height: [ 10.788 3.984] front, back focal length (from PP): [-4.508 4.508] entry, exit pupil height: [ 1.25 2.874] entry, exit pupil distance: [ 7.174 -10.333] front, back focal distance: [ 5.211 0.03 ] front, back principal distance: [ 9.719 -4.479] front, back nodal distance: [ 9.719 -4.479] front, back numerical aperture: [ 0. 0.267] front, back f number: [ 1.803 0.784] front, back working f number: [ inf 1.871] front, back airy radius: [ inf 0.001] transverse, angular magnification: [-0. 0.435] # T path n axial y axial nu chief y chief nu 0 S 0 1 1.25 0 -10.79 0.8864 1 S 5 1.822 1.25 -0.02325 -6.357 1.005 2 S 7 1 1.225 -0.01917 -5.254 0.9871 3 S 7.5 1.62 1.215 -0.04539 -4.761 1.09 4 S 8.48 1 1.188 0.1133 -4.102 0.542 5 S 10.52 1.652 1.419 0.0223 -2.995 0.7339 6 S 13.02 1 1.453 0.2274 -1.884 0.468 7 S 15.02 1.847 1.908 0.1162 -0.9485 0.5232 8 S 17.56 1 2.067 0.03032 -0.2304 0.5328 9 S 17.99 1 2.08 0.03032-3.053e-15 0.5328 10 S 19.29 1.918 2.12 0.094 0.6945 0.5537 11 S 20.79 1.623 2.193 0.1664 1.128 0.5909 12 S 22.75 1 2.394 -0.03278 1.84 0.4378 13 S 23.26 1.487 2.377 -0.07941 2.063 0.3974 14 S 24.76 1 2.297 -0.1679 2.464 0.3024 15 S 25.47 1.487 2.177 -0.2608 2.679 0.1881 16 S 27.52 1 1.817 -0.2886 2.939 0.1432 17 S 33.22 1.517 0.1728 -0.2774 3.755 0.3856 18 S 33.72 1 0.08136 -0.2774 3.882 0.3856 19 S 33.72 1.517 0.08136 -0.2774 3.882 0.3856 20 S 34.12 1 0.008197 -0.2774 3.984 0.3856 21 S 34.12 1 0.008197 -0.2774 3.984 0.3856 # T SA3 CMA3 AST3 PTZ3 DIS3 TACHC TCHC 0 S 0 0 0 0 0 0 0 1 S -1.26e-05-0.0003307 -0.008676 -0.02252 -0.8187 -0.001532 -0.0402 2 S-5.401e-06 0.0003672 -0.02496 0.004036 1.423-0.0007532 0.05121 3 S 2.188e-06 7.77e-05 0.00276 -0.02939 -0.9459-0.0006408 -0.02276 4 S 0.03796 -0.03515 0.03254 0.1819 -0.1985 0.009999 -0.009257 5 S -0.01712 -0.01676 -0.01641 -0.08561 -0.09987 -0.01133 -0.01109 6 S 0.168 0.01859 0.002058 0.1885 0.02109 0.02486 0.002751 7 S -0.0852 -0.09564 -0.1074 -0.06963 -0.1987 -0.04732 -0.05312 8 S-7.135e-05 0.0005451 -0.004164 -0.04968 0.4113 -0.01018 0.07778 9 S -0 0 -0 0 0 0 0 10 S-2.762e-05 0.0003602 -0.004695 0.03458 -0.3896 0.00663 -0.08643 11 S 0.0473 0.06662 0.09385 0.0234 0.1652 0.06961 0.09805 12 S -0.05132 0.02794 -0.01521 -0.1131 0.06987 -0.02006 0.01092 13 S-5.407e-05-0.0004462 -0.003682 -0.02913 -0.2707 -0.002089 -0.01724 14 S -0.06673 0.0204 -0.006238 -0.05723 0.0194 -0.01119 0.003421 15 S 0.0001042 0.002423 0.05632 -0.06334 -0.1631-0.0007006 -0.01629 16 S -0.06652 0.009783 -0.001439 -0.02268 0.003548 -0.008743 0.001286 17 S 0.005016 0.005276 0.00555 0.09395 0.1047 0.001023 0.001075 18 S -0.001764 0.002451 -0.003407 0 0.004736-0.0004305 0.0005984 19 S 0.001764 -0.002451 0.003407 -0 -0.004736 0.0004305-0.0005984 20 S-0.0001777 0.000247-0.0003433 0 0.0004771-4.338e-05 6.029e-05 21 S 0 -0 0 0 0 -0 0 -0.02882 0.004307-0.0001175 -0.01592 -0.8666 -0.002468 -0.009827
import io
f = "https://raw.githubusercontent.com/Elphel/elens/master/elphel_F2.0_4.5.len"
s = len_to_system(io.StringIO(urllib.request.urlopen(f).read().decode("utf8")))
s.object.angle = np.deg2rad(38)
s.object.pupil.radius = 4.5/2/2
s.fields = 0, .7, 1.
s[0].radius = 10.
s[0].material = air
s[1].distance = 3.
del s[-2:]
s.stop = 9
s[s.stop].radius = 2.5
s[-3].distance = 0
s[-1].radius = 4
s[-5].distance += .3
s.update()
print(s)
s.plot(plt.gca())
Analysis(s)
FNO not handled ['2.0'] ANG not handled ['38.0'] DRW not handled ['ON'] DRW not handled ['ON'] CBK not handled ['1'] OPDF not handled ['4.2759729884e-12'] OPOC not handled ['"update_operand"'] RST not handled ['NEW'] F not handled ['1', '0.0', '0.0', '0.0', '0.0', '0.0', '-1.0', '1.0', '-1.0', '1.0', '1.0', '0', '0'] F not handled ['2', '0.7', '0.0', '0.0', '0.0', '0.0', '-1.0', '1.0', '-1.0', '1.0', '1.0', '0', '0'] F not handled ['3', '1.0', '0.0', '0.0', '0.0', '0.0', '-1.0', '1.0', '-1.0', '1.0', '1.0', '0', '0'] OPE not handled ['NEW'] O not handled ['1', '"OCM0"', '129.3413840182101', '"MAIN_ERR"'] O not handled ['2', '"OCM1"', '23.5795144344184', '"EFL"'] O not handled ['3', '"OCM2"', '0.0', '"Distortion"'] O not handled ['4', '"OCM3"', '30.9322600342348', '"At_w1_0.0"'] O not handled ['5', '"OCM4"', '24.9909375903941', '"At_w1_0.3"'] O not handled ['6', '"OCM5"', '32.8483352886156', '"At_w1_0.5"'] O not handled ['7', '"OCM6"', '32.2384469131098', '"At_w1_0.6"'] O not handled ['8', '"OCM7"', '27.3053412208622', '"At_w1_0.7"'] O not handled ['9', '"OCM8"', '21.6854180493389', '"At_w1_0.8"'] O not handled ['10', '"OCM9"', '30.9322600342348', '"At_w1_1.0"'] O not handled ['11', '"OCM10"', '23.8565784388133', '"As_w1_0.0"'] O not handled ['12', '"OCM11"', '21.8177336094536', '"As_w1_0.3"'] O not handled ['13', '"OCM12"', '34.1131553925664', '"As_w1_0.5"'] O not handled ['14', '"OCM13"', '41.3908309081183', '"As_w1_0.6"'] O not handled ['15', '"OCM14"', '44.327337137369', '"As_w1_0.7"'] O not handled ['16', '"OCM15"', '43.4093750723473', '"As_w1_0.8"'] O not handled ['17', '"OCM16"', '23.8565784388133', '"As_w1_1.0"'] O not handled ['18', '"OCM17"', '6.7641085941657', '"At_w2_0.0"'] O not handled ['19', '"OCM18"', '2.8236930090621', '"At_w2_0.3"'] O not handled ['20', '"OCM19"', '5.0037859300927', '"At_w2_0.5"'] O not handled ['21', '"OCM20"', '4.482379760793', '"At_w2_0.6"'] O not handled ['22', '"OCM21"', '2.7164799264983', '"At_w2_0.7"'] O not handled ['23', '"OCM22"', '1.0', '"At_w2_0.8"'] O not handled ['24', '"OCM23"', '6.7641085941657', '"At_w2_1.0"'] O not handled ['25', '"OCM24"', '2.2234517702328', '"As_w2_0.0"'] O not handled ['26', '"OCM25"', '1.6806602758531', '"As_w2_0.3"'] O not handled ['27', '"OCM26"', '5.185396326497', '"As_w2_0.5"'] O not handled ['28', '"OCM27"', '6.9906754068075', '"As_w2_0.6"'] O not handled ['29', '"OCM28"', '7.3199065755712', '"As_w2_0.7"'] O not handled ['30', '"OCM29"', '6.3331906135491', '"As_w2_0.8"'] O not handled ['31', '"OCM30"', '2.2234517702328', '"As_w2_1.0"'] O not handled ['32', '"OCM31"', '19.3836718457712', '"At_w3_0.0"'] O not handled ['33', '"OCM32"', '26.0360688612827', '"At_w3_0.3"'] O not handled ['34', '"OCM33"', '19.0891978393812', '"At_w3_0.5"'] O not handled ['35', '"OCM34"', '18.433480648692', '"At_w3_0.6"'] O not handled ['36', '"OCM35"', '21.1574173007865', '"At_w3_0.7"'] O not handled ['37', '"OCM36"', '24.7240263593489', '"At_w3_0.8"'] O not handled ['38', '"OCM37"', '19.3836718457712', '"At_w3_1.0"'] O not handled ['39', '"OCM38"', '21.2139551893952', '"As_w3_0.0"'] O not handled ['40', '"OCM39"', '28.8609241162748', '"As_w3_0.3"'] O not handled ['41', '"OCM40"', '19.1330426089784', '"As_w3_0.5"'] O not handled ['42', '"OCM41"', '13.0100476109341', '"As_w3_0.6"'] O not handled ['43', '"OCM42"', '9.9998835093707', '"As_w3_0.7"'] O not handled ['44', '"OCM43"', '9.7479844043882', '"As_w3_0.8"'] O not handled ['45', '"OCM44"', '21.2139551893952', '"As_w3_1.0"'] O not handled ['46', '"OCM45"', '0.0', '"LC_r1_0.3"'] O not handled ['47', '"OCM46"', '0.0', '"LC_r1_0.5"'] O not handled ['48', '"OCM47"', '0.0', '"LC_r1_0.6"'] O not handled ['49', '"OCM48"', '0.0', '"LC_r1_0.7"'] O not handled ['50', '"OCM49"', '0.0', '"LC_r1_0.8"'] O not handled ['51', '"OCM50"', '0.0', '"LC_r1_1.0"'] O not handled ['52', '"OCM51"', '0.0', '"LC_r2_0.3"'] O not handled ['53', '"OCM52"', '0.0', '"LC_r2_0.5"'] O not handled ['54', '"OCM53"', '0.0', '"LC_r2_0.6"'] O not handled ['55', '"OCM54"', '0.0', '"LC_r2_0.7"'] O not handled ['56', '"OCM55"', '0.0', '"LC_r2_0.8"'] O not handled ['57', '"OCM56"', '0.0', '"LC_r2_1.0"'] O not handled ['58', '"OCM57"', '0.0', '"LC_r3_0.3"'] O not handled ['59', '"OCM58"', '0.0', '"LC_r3_0.5"'] O not handled ['60', '"OCM59"', '0.0', '"LC_r3_0.6"'] O not handled ['61', '"OCM60"', '0.0', '"LC_r3_0.7"'] O not handled ['62', '"OCM61"', '0.0', '"LC_r3_0.8"'] O not handled ['63', '"OCM62"', '0.0', '"LC_r3_1.0"'] O not handled ['64', '"OCM63"', '0.0', '"LSA_w1_0.0"'] O not handled ['65', '"OCM64"', '0.0', '"LSA_w1_0.3"'] O not handled ['66', '"OCM65"', '0.0', '"LSA_w1_0.5"'] O not handled ['67', '"OCM66"', '0.0', '"LSA_w1_0.6"'] O not handled ['68', '"OCM67"', '0.0', '"LSA_w1_0.7"'] O not handled ['69', '"OCM68"', '0.0', '"LSA_w1_0.8"'] O not handled ['70', '"OCM69"', '0.0', '"LSA_w1_1.0"'] O not handled ['71', '"OCM70"', '0.0', '"LSA_w2_0.0"'] O not handled ['72', '"OCM71"', '0.0', '"LSA_w2_0.3"'] O not handled ['73', '"OCM72"', '0.0', '"LSA_w2_0.5"'] O not handled ['74', '"OCM73"', '0.0', '"LSA_w2_0.6"'] O not handled ['75', '"OCM74"', '0.0', '"LSA_w2_0.7"'] O not handled ['76', '"OCM75"', '0.0', '"LSA_w2_0.8"'] O not handled ['77', '"OCM76"', '0.0', '"LSA_w2_1.0"'] O not handled ['78', '"OCM77"', '0.0', '"LSA_w3_0.0"'] O not handled ['79', '"OCM78"', '0.0', '"LSA_w3_0.3"'] O not handled ['80', '"OCM79"', '0.0', '"LSA_w3_0.5"'] O not handled ['81', '"OCM80"', '0.0', '"LSA_w3_0.6"'] O not handled ['82', '"OCM81"', '0.0', '"LSA_w3_0.7"'] O not handled ['83', '"OCM82"', '0.0', '"LSA_w3_0.8"'] O not handled ['84', '"OCM83"', '0.0', '"LSA_w3_1.0"'] O not handled ['85', '"OCM84"', '0.0', '"CMA_w1_0.0"'] O not handled ['86', '"OCM85"', '0.0', '"CMA_w1_0.3"'] O not handled ['87', '"OCM86"', '0.0', '"CMA_w1_0.5"'] O not handled ['88', '"OCM87"', '0.0', '"CMA_w1_0.6"'] O not handled ['89', '"OCM88"', '0.0', '"CMA_w1_0.7"'] O not handled ['90', '"OCM89"', '0.0', '"CMA_w1_0.8"'] O not handled ['91', '"OCM90"', '0.0', '"CMA_w1_1.0"'] O not handled ['92', '"OCM91"', '0.0', '"CMA_w2_0.0"'] O not handled ['93', '"OCM92"', '0.0', '"CMA_w2_0.3"'] O not handled ['94', '"OCM93"', '0.0', '"CMA_w2_0.5"'] O not handled ['95', '"OCM94"', '0.0', '"CMA_w2_0.6"'] O not handled ['96', '"OCM95"', '0.0', '"CMA_w2_0.7"'] O not handled ['97', '"OCM96"', '0.0', '"CMA_w2_0.8"'] O not handled ['98', '"OCM97"', '0.0', '"CMA_w2_1.0"'] O not handled ['99', '"OCM98"', '0.0', '"CMA_w3_0.0"'] O not handled ['100', '"OCM99"', '0.0', '"CMA_w3_0.3"'] O not handled ['101', '"OCM100"', '0.0', '"CMA_w3_0.5"'] O not handled ['102', '"OCM101"', '0.0', '"CMA_w3_0.6"'] O not handled ['103', '"OCM102"', '0.0', '"CMA_w3_0.7"'] O not handled ['104', '"OCM103"', '0.0', '"CMA_w3_0.8"'] O not handled ['105', '"OCM104"', '0.0', '"CMA_w3_1.0"'] O not handled ['106', '"OCM105"', '0.0', '"SA3"'] O not handled ['107', '"OCM106"', '0.0', '"SA5"'] O not handled ['108', '"OCM107"', '0.0', '"SA7"'] O not handled ['109', '"OCM108"', '0.0', '"PSFsw1_0.0"'] O not handled ['110', '"OCM109"', '0.0', '"PSFsw1_0.3"'] O not handled ['111', '"OCM110"', '0.0', '"PSFsw1_0.5"'] O not handled ['112', '"OCM111"', '0.0', '"PSFsw1_0.6"'] O not handled ['113', '"OCM112"', '0.0', '"PSFsw1_0.7"'] O not handled ['114', '"OCM113"', '0.0', '"PSFsw1_0.8"'] O not handled ['115', '"OCM114"', '0.0', '"PSFsw1_1.0"'] O not handled ['116', '"OCM115"', '0.0', '"PSFsw2_0.0"'] O not handled ['117', '"OCM116"', '0.0', '"PSFsw2_0.3"'] O not handled ['118', '"OCM117"', '0.0', '"PSFsw2_0.5"'] O not handled ['119', '"OCM118"', '0.0', '"PSFsw2_0.6"'] O not handled ['120', '"OCM119"', '0.0', '"PSFsw2_0.7"'] O not handled ['121', '"OCM120"', '0.0', '"PSFsw2_0.8"'] O not handled ['122', '"OCM121"', '0.0', '"PSFsw2_1.0"'] O not handled ['123', '"OCM122"', '0.0', '"PSFsw3_0.0"'] O not handled ['124', '"OCM123"', '0.0', '"PSFsw3_0.3"'] O not handled ['125', '"OCM124"', '0.0', '"PSFsw3_0.5"'] O not handled ['126', '"OCM125"', '0.0', '"PSFsw3_0.6"'] O not handled ['127', '"OCM126"', '0.0', '"PSFsw3_0.7"'] O not handled ['128', '"OCM127"', '0.0', '"PSFsw3_0.8"'] O not handled ['129', '"OCM128"', '0.0', '"PSFsw3_1.0"'] O not handled ['130', '"OCM129"', '0.0', '"PSFtw1_0.0"'] O not handled ['131', '"OCM130"', '0.0', '"PSFtw1_0.3"'] O not handled ['132', '"OCM131"', '0.0', '"PSFtw1_0.5"'] O not handled ['133', '"OCM132"', '0.0', '"PSFtw1_0.6"'] O not handled ['134', '"OCM133"', '0.0', '"PSFtw1_0.7"'] O not handled ['135', '"OCM134"', '0.0', '"PSFtw1_0.8"'] O not handled ['136', '"OCM135"', '0.0', '"PSFtw1_1.0"'] O not handled ['137', '"OCM136"', '0.0', '"PSFtw2_0.0"'] O not handled ['138', '"OCM137"', '0.0', '"PSFtw2_0.3"'] O not handled ['139', '"OCM138"', '0.0', '"PSFtw2_0.5"'] O not handled ['140', '"OCM139"', '0.0', '"PSFtw2_0.6"'] O not handled ['141', '"OCM140"', '0.0', '"PSFtw2_0.7"'] O not handled ['142', '"OCM141"', '0.0', '"PSFtw2_0.8"'] O not handled ['143', '"OCM142"', '0.0', '"PSFtw2_1.0"'] O not handled ['144', '"OCM143"', '0.0', '"PSFtw3_0.0"'] O not handled ['145', '"OCM144"', '0.0', '"PSFtw3_0.3"'] O not handled ['146', '"OCM145"', '0.0', '"PSFtw3_0.5"'] O not handled ['147', '"OCM146"', '0.0', '"PSFtw3_0.6"'] O not handled ['148', '"OCM147"', '0.0', '"PSFtw3_0.7"'] O not handled ['149', '"OCM148"', '0.0', '"PSFtw3_0.8"'] O not handled ['150', '"OCM149"', '0.0', '"PSFtw3_1.0"'] System: Scale: 1.0 mm Wavelengths: 588, 656, 486 nm Fields: 0, 0.7, 1 Object: Semi-Angle: 38 deg Pupil: Pupil Distance: 11.4117 Refractive Index: 1.00028 Update Radius: True Radius: 1.49316 Image: Radius: 4 Update Radius: True Pupil: Pupil Distance: -9.43473 Refractive Index: 1.00028 Update Radius: True Radius: 3.07995 Stop: 9 Elements: # T Distance Rad Curv Diameter Material n nd Vd 0 S 0 inf 20 basic/air 1.000 1.000 89.30 1 S 3 44.81 19 Obsolete/LASF14A 1.822 1.822 37.45 2 S 2.8343 340.2 19 basic/air 1.000 1.000 89.30 3 S 0.47934 31.28 13.2 SCHOTT/SK16 1.620 1.620 60.32 4 S 1.5145 4.546 8.4 basic/air 1.000 1.000 89.30 5 S 1.9235 9.912 9.2 SCHOTT/BAF51 1.652 1.652 44.93 6 S 2.9183 4.426 6.4 basic/air 1.000 1.000 89.30 7 S 1.9934 14.84 9 SCHOTT/SF57 1.847 1.847 23.83 8 S 2.5292 -19.04 9 basic/air 1.000 1.000 89.30 9 S 0.80929 inf 5 basic/air 1.000 1.000 89.30 10 S 0.90398 -29.09 7.4 SCHOTT/SF58 1.918 1.918 21.51 11 S 1.5 9.121 7.4 SCHOTT/N-SK10 1.623 1.623 56.98 12 S 1.9496 -7.47 7.4 basic/air 1.000 1.000 89.30 13 S 0.21663 25.21 9 SCHOTT/N-FK51A 1.487 1.487 84.47 14 S 1.5503 -12.52 9 basic/air 1.000 1.000 89.30 15 S 0.46533 11.36 9 SCHOTT/N-FK51 1.487 1.487 84.47 16 S 2.393 -31.13 9 basic/air 1.000 1.000 89.30 17 S 5.9017 -8 8 SCHOTT/N-BK7 1.517 1.517 64.17 18 S 0.5 inf 9 basic/air 1.000 1.000 89.30 19 S 0 inf 8 SCHOTT/N-BK7 1.517 1.517 64.17 20 S 0.4 inf 8 basic/air 1.000 1.000 89.30 21 S 0.125 inf 8 basic/air 1.000 1.000 89.30
/home/rj/work/nist/pyrayopt/rayopt/elements.py:134: RuntimeWarning: invalid value encountered in multiply self._offset = d*u /home/rj/work/nist/pyrayopt/rayopt/paraxial_trace.py:186: RuntimeWarning: divide by zero encountered in true_divide return self.n[(0, -2), ]/(2*na) /home/rj/work/nist/pyrayopt/rayopt/paraxial_trace.py:191: RuntimeWarning: divide by zero encountered in true_divide return 1.22*self.wavelength/(2*na)/self.system.scale /home/rj/work/nist/pyrayopt/rayopt/elements.py:208: RuntimeWarning: invalid value encountered in less_equal good = np.square(y[:, :2]).sum(1) <= self.radius**2
System: Scale: 1.0 mm Wavelengths: 588, 656, 486 nm Fields: 0, 0.7, 1 Object: Semi-Angle: 38 deg Pupil: Pupil Distance: 11.4117 Refractive Index: 1.00028 Update Radius: True Radius: 1.49316 Image: Radius: 4 Update Radius: True Pupil: Pupil Distance: -9.43473 Refractive Index: 1.00028 Update Radius: True Radius: 3.07995 Stop: 9 Elements: # T Distance Rad Curv Diameter Material n nd Vd 0 S 0 inf 20 basic/air 1.000 1.000 89.30 1 S 3 44.81 19 Obsolete/LASF14A 1.822 1.822 37.45 2 S 2.8343 340.2 19 basic/air 1.000 1.000 89.30 3 S 0.47934 31.28 13.2 SCHOTT/SK16 1.620 1.620 60.32 4 S 1.5145 4.546 8.4 basic/air 1.000 1.000 89.30 5 S 1.9235 9.912 9.2 SCHOTT/BAF51 1.652 1.652 44.93 6 S 2.9183 4.426 6.4 basic/air 1.000 1.000 89.30 7 S 1.9934 14.84 9 SCHOTT/SF57 1.847 1.847 23.83 8 S 2.5292 -19.04 9 basic/air 1.000 1.000 89.30 9 S 0.80929 inf 5 basic/air 1.000 1.000 89.30 10 S 0.90398 -29.09 7.4 SCHOTT/SF58 1.918 1.918 21.51 11 S 1.5 9.121 7.4 SCHOTT/N-SK10 1.623 1.623 56.98 12 S 1.9496 -7.47 7.4 basic/air 1.000 1.000 89.30 13 S 0.21663 25.21 9 SCHOTT/N-FK51A 1.487 1.487 84.47 14 S 1.5503 -12.52 9 basic/air 1.000 1.000 89.30 15 S 0.46533 11.36 9 SCHOTT/N-FK51 1.487 1.487 84.47 16 S 2.393 -31.13 9 basic/air 1.000 1.000 89.30 17 S 5.9017 -8 8 SCHOTT/N-BK7 1.517 1.517 64.17 18 S 0.5 inf 9 basic/air 1.000 1.000 89.30 19 S 0 inf 8 SCHOTT/N-BK7 1.517 1.517 64.17 20 S 0.4 inf 8 basic/air 1.000 1.000 89.30 21 S 0.16155 inf 8 basic/air 1.000 1.000 89.30 lagrange: -1.3236 track length: 30.782 object, image height: [ 10.113 4.053] front, back focal length (from PP): [-4.425 4.425] entry, exit pupil height: [ 1.493 3.08 ] entry, exit pupil distance: [ 8.412 -9.31 ] front, back focal distance: [ 6.265 -0.182] front, back principal distance: [ 10.69 -4.607] front, back nodal distance: [ 10.69 -4.607] front, back numerical aperture: [ 0. 0.32] front, back f number: [ 1.482 0.718] front, back working f number: [ inf 1.564] front, back airy radius: [ inf 0.001] transverse, angular magnification: [-0. 0.485] # T path n axial y axial nu chief y chief nu 0 S 0 1 1.493 0 -10.11 0.8864 1 S 3 1.822 1.493 -0.02739 -7.454 1.023 2 S 5.834 1 1.451 -0.02388 -5.863 1.009 3 S 6.314 1.62 1.439 -0.05241 -5.379 1.116 4 S 7.828 1 1.39 0.1372 -4.337 0.5241 5 S 9.752 1.652 1.654 0.02841 -3.329 0.7431 6 S 12.67 1 1.704 0.2794 -2.016 0.4461 7 S 14.66 1.847 2.261 0.1505 -1.127 0.5104 8 S 17.19 1 2.467 0.04077 -0.4283 0.5294 9 S 18 1 2.5 0.04077 -8.16e-15 0.5294 10 S 18.91 1.918 2.537 0.1208 0.4785 0.5445 11 S 20.41 1.623 2.631 0.2058 0.9044 0.5737 12 S 22.36 1 2.879 -0.03409 1.594 0.4409 13 S 22.57 1.487 2.871 -0.08947 1.689 0.4083 14 S 24.12 1 2.778 -0.1974 2.115 0.3262 15 S 24.59 1.487 2.686 -0.3124 2.267 0.2291 16 S 26.98 1 2.183 -0.3465 2.636 0.188 17 S 32.88 1.517 0.1389 -0.3375 3.745 0.4297 18 S 33.38 1 0.02763 -0.3375 3.886 0.4297 19 S 33.38 1.517 0.02763 -0.3375 3.886 0.4297 20 S 33.78 1 -0.06138 -0.3375 4 0.4297 21 S 33.91 1 -0.1036 -0.3375 4.053 0.4297 # T SA3 CMA3 AST3 PTZ3 DIS3 TACHC TCHC 0 S 0 0 0 0 0 0 0 1 S-2.095e-05-0.0004525 -0.009776 -0.02699 -0.7943 -0.001836 -0.03967 2 S-1.335e-05 0.000675 -0.03412 0.003556 1.545 -0.00105 0.05306 3 S 4.22e-06 0.0001595 0.00603 -0.03281 -1.012-0.0006191 -0.0234 4 S 0.06564 -0.0637 0.06183 0.2257 -0.2791 0.01197 -0.01161 5 S -0.02968 -0.01837 -0.01136 -0.1068 -0.07309 -0.01353 -0.008371 6 S 0.3098 -0.00446 6.42e-05 0.2391 -0.003442 0.03046-0.0004385 7 S -0.1518 -0.1301 -0.1115 -0.08283 -0.1665 -0.05753 -0.0493 8 S-0.0001007 0.0006253 -0.003884 -0.06456 0.4251 -0.01292 0.08023 9 S -0 0 -0 0 0 0 0 10 S-6.627e-05 0.0007318 -0.008082 0.04409 -0.3977 0.008027 -0.08864 11 S 0.08292 0.09039 0.09853 0.02786 0.1378 0.08423 0.09182 12 S -0.08708 0.04722 -0.0256 -0.1377 0.08856 -0.0249 0.0135 13 S-0.0001796 -0.001143 -0.007274 -0.03479 -0.2677 -0.002717 -0.01729 14 S -0.1173 0.04396 -0.01648 -0.07007 0.03244 -0.01381 0.005178 15 S 0.0003534 0.00474 0.06358 -0.07724 -0.1833 -0.001249 -0.01675 16 S -0.1189 0.02948 -0.007308 -0.02818 0.008796 -0.01079 0.002674 17 S 0.005619 0.004328 0.003334 0.1141 0.09049 0.0008213 0.0006326 18 S-0.0009187 0.00117 -0.001489 0 0.001896-0.0001515 0.000193 19 S 0.0009187 -0.00117 0.001489 -0 -0.001896 0.0001515 -0.000193 20 S 0.002041 -0.002599 0.003309 0 -0.004213 0.0003367-0.0004287 21 S -0 0 -0 0 0 0 -0 -0.03875 0.001487 0.001289 -0.007505 -0.8531 -0.005099 -0.008807
<rayopt.analysis.Analysis at 0x7efbddececf8>
print(system_to_yaml(s))
description: '' elements: - {material: basic/air, radius: 10.0} - {curvature: 0.022314307720588213, distance: 3.0, material: Obsolete/LASF14A, radius: 9.5} - {curvature: 0.0029395763498377657, distance: 2.8342502197064, material: basic/air, radius: 9.5} - {curvature: 0.03197146653395714, distance: 0.479338086425, material: SCHOTT/SK16, radius: 6.6} - {curvature: 0.21995534850141707, distance: 1.514547251578, material: basic/air, radius: 4.2} - {curvature: 0.10089139243052675, distance: 1.9234731507825, material: SCHOTT/BAF51, radius: 4.6} - {curvature: 0.2259168910143031, distance: 2.9182781603707, material: basic/air, radius: 3.2} - {curvature: 0.06738849776197436, distance: 1.9933962755638, material: SCHOTT/SF57, radius: 4.5} - {curvature: -0.05253049347569311, distance: 2.5291694371013, material: basic/air, radius: 4.5} - {distance: 0.8092865346866, material: basic/air, radius: 2.5} - {curvature: -0.034370633934576546, distance: 0.9039832952238, material: SCHOTT/SF58, radius: 3.7} - {curvature: 0.10963300064507663, distance: 1.4999999937027, material: SCHOTT/N-SK10, radius: 3.7} - {curvature: -0.13387707147248604, distance: 1.9496166820483, material: basic/air, radius: 3.7} - {curvature: 0.03966198594745817, distance: 0.2166260503306, material: SCHOTT/N-FK51A, radius: 4.5} - {curvature: -0.07988124620906177, distance: 1.5503359145485, material: basic/air, radius: 4.5} - {curvature: 0.08805193583016735, distance: 0.465330052114, material: SCHOTT/N-FK51, radius: 4.5} - {curvature: -0.032120590389966897, distance: 2.3929972621277, material: basic/air, radius: 4.5} - {curvature: -0.125, distance: 5.901715605975499, material: SCHOTT/N-BK7, radius: 4.0} - {distance: 0.5, material: basic/air, radius: 4.5} - {material: SCHOTT/N-BK7, radius: 4.0} - {distance: 0.4, material: basic/air, radius: 4.0} - direction: [-0.0, -0.0, -1.0] distance: 0.16154867696791486 material: basic/air radius: 4.0 image: pupil: {distance: -9.434726948056218, radius: 3.0799525519569317, refractive_index: 1.0002771748755976, update_radius: true} radius: 4.0 type: finite object: angle: 0.6632251157578453 pupil: {distance: 11.411684269334978, radius: 1.4931624103740018, refractive_index: 1.0002771748755976, update_radius: true} pickups: [] scale: 0.001 solves: [] stop: 9 validators: [] wavelengths: [5.8756e-07, 6.5627e-07, 4.8613e-07]