Skip to content
Snippets Groups Projects
example_uniformization.cpp 885 B
#include "../lib/waveform.h"
#include "../lib/devices/AWG.h"
#include "../lib/devices/basler.h"
#include "../lib/image_process.h"
#include "../lib/uniformization.h"

int main() {
    // following params should ideally be loaded from
    // a .toml file
    Uniformization::Params config;
    config.probeScanPath = "";
    config.polarizability = 0;
    config.meanDepth = 550;
    config.stepSize = 50;
    config.errorThreshold = 0.003;
    config.maxLoop = 50;
    config.numImgingAvg = 10;
    config.numTweezer = 20;

    // following objects require initialization somewhere 
    // in the running program 
    AWG awg;
    BaslerCam basler;
    ArrayWaveform wfm;

    // run the uniformization routine, wfm is modified in place
    // various outputs are saved under probeScanPath
    Uniformization::run(awg, basler, wfm, config); // wfm is modified in place

    return 0;
}