Details and Options
If 
points is given as a numeric 
List, the values are taken to be in micrometers.
ResourceFunction["OpticalFieldModeling"] takes the following options:
| "CoherenceFunction" | None | calculates the phase of every real point light source | 
| "PhaseFunction" | None | calculates the complex degree of spatial coherence of every virtual point | 
"PhaseFunction" is supplied with the coordinates of each real point and should return a numerical value in radians.
With the default setting 
"PhaseFunction"→None, the phase value of every real point is set to 0, representing a plane wavefront.
"CoherenceFunction" is supplied with the distance vector of every length-two subset of real points and should return a numerical value between 0 and 1.
With the default setting 
"CoherenceFunction"→None, the coherence value of every virtual point is set to 1, representing a fully spatially coherent light source.
The PointArrayObject expression returned by ResourceFunction["OpticalFieldModeling"] supports the following properties:
| "PointPlot" | a plot showing the locations of the real points and their corresponding virtual points | 
| "PowerSpectrum" | a PowerSpectrumObject based on the given wavelength and propagation distance | 
The "PowerSpectrum" property requires the arguments λ (wavelength) and z (propagation distance): PointArrayObject[…]["PowerSpectrum",λ,z].
The 
"PointPlot" property of 
PointArrayObject accepts the same options as the 
NumberLinePlot (for 1D point arrays) or 
ListPlot (for 2D point arrays) functions.
The PowerSpectrumObject expression returned by the "PowerSpectrum" property of a PointArrayObject supports the following properties:
| "Expression" | complete power spectrum expression | 
| "Plot" | power spectrum 1D plot along the horizontal axis | 
| "DensityPlot" | power spectrum density plot | 
The "Plot" and "DensityPlot" properties accept arguments for angle (in degrees) and plotting step: PowerSpectrumObject[…]["Plot",angle,step].
The 
angle specifies the maximum half-angle of the cone of light. If unspecified or set to 
Automatic, 
angle is taken by default to be 65°.
If unspecified or set to 
Automatic, 
step is calculated based on a fraction of the propagation distance of the 
PowerSpectrumObject.
The 
"Plot" and 
"DensityPlot" properties of 
PowerSpectrumObject accept the same options as the 
ListPlot and 
DensityPlot functions.