digHolo : High-speed library for off-axis digital holography and Hermite-Gaussian decomposition

Описание к видео digHolo : High-speed library for off-axis digital holography and Hermite-Gaussian decomposition

digHolo is an open-source off-axis digital holography library, written in C++ for the x86-64 architecture.

Particularly fast at extracting Hermite-Gaussian modal coefficients (and related spatial decompositions such as Laguerre-Gaussian).

Compatible with Linux and Windows.

Usage code examples are supplied for Matlab, Python and C++. As is a precompiled statically linked Windows DLL and full documented User Guide.
https://github.com/joelacarpenter/dig...

If you use this library, please cite the arXiv User Guide for digHolo so I can justify my work to my funding overlords.
https://arxiv.org/abs/2204.02348

Introduction
0:00 What does digHolo do?
1:41 What can computers can it run on?
2:16 How can I use it?
2:48 How fast is it?

Processing pipeline
5:55 Input frames (Camera plane, source of FFT)
8:05 Fourier plane (pick the off-axis window, source of IFFT)
8:35 Reconstructed field (output fields as pixel array)
8:50 Modal decomposition (output fields as modal coefficients)

Matlab script example
9:30 Matlab example script walkthrough

Basic setup
17:45 digHolo functions and usage
17:54 digHoloCreate() (Create a new pipeline)
18:30 digHoloDestroy() (Free memory when done)
18:35 digHoloSetFrameBuffer() (Where are the input frames?)
19:20 digHoloSetFrameDimensions() (Pixel width/height of frames)
19:25 digHoloSetFramePixelSize() (Physical dimensions of a pixel)
19:57 digHoloConfigSetWavelengthCentre() (Operating wavelength)
20:12 digHoloConfigSetPolCount() (Number of polarisation components)
20:20 digHoloConfigSetBatch() (How many frames to process together?)

Setting the key parameters
20:30 Key off-axis digital holography parameters (beam centre, tilt, defocus etc)
20:55 Setting parameters manually vs. AutoAligh()
21:05 digHoloConfigSetBeamCentre() (Physical location of the centre of the Object wave)
21:21 digHoloConfigSetTilt() (Location of Reference wave in Fourier space)
21:25 digHoloConfigSetDefocus() (Relative defocus between Object/Reference to be removed)
22:08 digHoloConfigSetfftWindowSize() (Numerical dimensions of FFT)
22:20 digHoloConfigSetFourierWindowRadius() (Radius of IFFT window as a width in Fourier space)
23:14 Setting parameters manually vs. AutoAlign()

Modal decomposition
23:54 Modal decomposition parameters
24:23 digHoloConfigSetBasisGroupCount() (Mode orders to include in HG decomposition)
24:57 digHoloConfigSetBasisWaist() (HG waist radius)
25:15 Polarisation lock (Forcing parameters for each polarisation to be identical)
25:40 Modal decompositions other than Hermite-Gaussian

Process the frames and get the results
26:35 digHoloProcessBatch() (Run the pipeline)
28:20 digHoloBasisGetCoefs() (Get pointers to the basis coefficients)
28:36 digHoloGetFields()/digHoloGetFields16 (Get the reconstructed fields)
28:24 digHoloBatchGetSummary() (Get analysis of properties of individual frames/batch)

Other features
29:50 Viewport (Basis plotting)
30:07 Command-line usage
30:36 Console printout
31:00 Test frame generator (off-axis digital holography simulator)
31:18 Wavelength-dependent batches
31:33 Averaging
31:58 Calibration (non-uniform Reference, non-uniform frame settings)
32:20 Performance, threading and benchmarking

Комментарии

Информация по комментариям в разработке