CompoundAnalyticOptic

class poppy.CompoundAnalyticOptic(opticslist=None, name='unnamed', mergemode='and', verbose=True, **kwargs)[source]

Bases: poppy.optics.AnalyticOpticalElement

Define a compound analytic optical element made up of the combination of two or more individual optical elements.

This is just a convenience routine for semantic organization of optics. It can be useful to keep the list of optical planes cleaner, but you can certainly just add a whole bunch of planes all in a row without using this class to group them.

All optics should be of the same plane type (pupil or image); propagation between different optics contained inside one compound is not supported.

opticslist : list
A list of AnalyticOpticalElements to be merged together.
mergemode : string, default = ‘and’
Method for merging transmissions:
‘and’ : resulting transmission is product of constituents. (E.g
trans = trans1*trans2)
‘or’ : resulting transmission is sum of constituents, with overlap
subtracted. (E.g. trans = trans1 + trans2 - trans1*trans2)

In both methods, the resulting OPD is the sum of the constituents’ OPDs.

Methods Summary

get_opd(wave) Return the optical path difference, given a wavelength.
get_transmission(wave) Note that this is the amplitude transmission, not the total intensity transmission.

Methods Documentation

get_opd(wave)[source]

Return the optical path difference, given a wavelength.

wave : float or obj
either a scalar wavelength or a Wavefront object

ndarray giving OPD in meters

get_transmission(wave)[source]

Note that this is the amplitude transmission, not the total intensity transmission.