...
Essentially the GUI grabs the output from a camera and the PV’s for the motors on the corresponding instrument allowing the user to adjust the beam remotely until its it's aligned. On top of this, however, I added some extra functionality. There is a current position finder function that projects the image onto each the X and Y axis axes separately and then fits a gaussian Gaussian over the projected values to locate the maximum coordinates for each. These coordinates are then displayed and a crosshair is drawn where the computer believes to be the center of the beam. This method of finding the maximum coordinates seems to run much faster than the gaussian Gaussian filter function found In other places in the SLAC GitHub and certainly runs faster than simply fitting a 2d gaussiantwo-dimensional Gaussian. Additionally, now that the program knows the position of the beam, with a given a target position, I was able to include a suggested correction button that calculates how to adjust the motors based on the current beam position. This is accomplished by finding the difference in pixels between the current and target value for each of the x and y components; the difference is then converted into motor movement using a predetermined conversion factor specific to each camera. After an adjustment is made the computer recalculates the suggested correction. This function works pretty well, but it only gets the beam approximately aligned, which is why I have still included the manual adjustment buttons with the fine, medium, and coarse adjustment scales. The final function worth noting is the ROI setter. This button will set the display of the camera to a desired region of interest, centered on the target position. This is particularly nice for when the beam is only 50 pixels across but the camera has a 1200x900 pixel display.
This widget is then made into a class that which a user can make instances of in a larger display class, giving the possibility to view and align multiple cameras at once, the current display below shows the beam transport cameras. This is very useful when aligning a beam since you can monitor the beam position on downstream cameras while adjusting upstream cameras to ensure the beam has not disappeared into oblivion forever. As of August 2023, the GUI is working for the Sector 20 laser room cameras, the transport cameras, and many cameras down in the tunnel, but the GUI is designed to work for any camera as long as you feed it the right PVs from a csv .CSV file.
Once again, if you discover any bugs in my GUI, please contact me and I will try to fix it as soon as possible.
...
Since the axicon is flat on the upstream side, it imparts no phase on the emerging beam, thus we can look at the images after the axicon to clearly observe phase issues of the beam. Ideally, the laser would reach the axicon as a perfectly flat plane like as shown on the left below. But in reality, all kinds of phase aberrations can occur as shown on the right, most commonly we get these saddle or bowl-shaped pulses that wont won't produce clean Bessel beams.
...
There is a camera installed in the beam path that views the laser as it emerges from the axicon. If the wavefront is nice and flat we will see the clean bullseye pattern below on the left. But if the incoming beam looks like a saddle or trefoil when the beam reaches the axicon, we get patterns that look like these on the right. We can solve these phase issue issues with a deformable mirror. The deformable mirror is made of a somewhat flexible glass and has a bunch of tiny pistons allowing us to change the shape of the mirror surface to impart a corrected phase on an aberrated wavefront.
...
In the path of the beam, after the axicon, we have placed a camera on a movable rail. This allows us to record the intensity of the Bessel beam at several positions. As of August 2023, we have only acquired one data set of 10 positions with 20 images taken at each position. Below is an example of the analysis process. The raw image is shown on the left. The image is scanned for a maximum and a smaller ROI is set around the located bullseye, shown in the second image. After this, a two-dimensional, zeroth-order Bessel function of the first kind squared is fit over the data as shown in the third image. The amplitude of each fit Bessel is stored and plotted at after each image is analyzed.
...
My mentor Robert and I built and installed a new apparatus in the sector 20 tunnel at the position of the IPOTR. On the right you can see we have two cameras that will help to characterize the effects of the plasmas index of refraction on the Bessel pulse. The Near-field camera reimages the Bessel beam at about 2/3rds of the way through the plasma. When we have gas in the system, we will be able to see a broadening of the focus of the Bessel beam. The Far-field camera views the Fourier transform of the beam as a ring shape. When there is gas in the system, the creation of the plasma should cause the back of the beam to be bent inwards so we will see a thickening of the ring. Unfortunately, data has not been taken using this apparatus yet.