SkillAgentSearch skills...

DFTFringe

DFTFringe Telescope Mirror interferometry analysis Program.

Install / Use

/learn @githubdoe/DFTFringe
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

DFTFringe

build-windows build-linux

Introduction

DFTFringe Telescope Mirror interferometry analysis Program. This is the successor to OpenFringe which is a Telescope Mirror interferometry analysis program.

This code is distributed with DLLs from:

  • QT
  • OpenCV
  • QWT
  • Armadillo
  • Lapack
  • BLAS

It also integrates code from:

You can find tutorials at https://youtu.be/wWdG3wrGAbM

Additional information and help is availlable at https://groups.io/g/Interferometry

How to install DFTFringe on windows

:point_right: Follow the link and use the installer: link to latest release.

How to build DFTFringe on Linux

We need to manually build Qwt as distributed library does not support Qt6

sudo apt update  
sudo apt install -y apt-utils build-essential wget qt6-base-dev-tools qt6-declarative-dev qt6-multimedia-dev libqt6charts6-dev libqt6datavisualization6-dev libqt6svg6-dev libqt6core5compat6-dev libopencv-core-dev libopencv-dev libqwt-qt5-6 libqwt-qt5-dev libarmadillo-dev libgl1-mesa-dev libglu1-mesa-dev
wget -O qwt-6.3.0.zip https://sourceforge.net/projects/qwt/files/qwt/6.3.0/qwt-6.3.0.zip/download?use_mirror=pilotfiber
7z x qwt-6.3.0.zip
cd qwt-6.3.0 
/usr/lib/qt6/bin/qmake
make -j4
sudo make install
cd ..
/usr/lib/qt6/bin/qmake DFTFringe.pro
make -j4

How to build DFTFringe on MacOS

:building_construction: Under construction :building_construction:

How to build DFTFringe on Windows

:warning: For Windows installation it is recommended that you use the prebuilt installer provided here: link to latest release.

There are many different solutions combinations for building. Pick the one you prefer/need. You can mix different options at each stage.

| | Option A | Option B | Option C | | -------------------------------- | ---------------- | ----------- | -------- | | Stage 1: getting compiler and QT | aqt command line | QT IDE | WSL | | Stage 2: DLL dependencies | full build | lazy method | :x: | | Stage 3: Building DFTFringe | command line | QT IDE | :x: | | Stage 4: Copy necessary DLLs | command line | holistic approach | from release | | Stage 5: Making installer | QT installer framework | :x: | :x: |

Stage 1: getting compiler and QT

Option A: using command line and aqt

Create a folder

Personnaly I use C:\buildingDFTFringe to have a short path. All tools and dependencies will be stored here. It's important that inside folder structure is indentical for the project to build but you can change the base path.

Get minGw

The easiest way I have found to install it from command line requires to have Python installed. It then uses aqtinstall.

From within C:\buildingDFTFringe do the following:

pip install aqtinstall
aqt install-tool windows desktop tools_mingw1310 qt.tools.win64_mingw1310

Add minGW to your Path: C:\buildingDFTFringe\Tools\mingw1310_64\bin Add Qmake to your Path: C:\buildingDFTFringe\6.8.3\mingw_64\bin

Get QT

Here again, I have found easier to use Python and aqtinstall to get QT.

From within C:\buildingDFTFringe do the following:

aqt install-qt windows desktop 6.8.3 win64_mingw -m qtcharts qtdatavis3d qt5compat
aqt install-qt windows desktop 6.8.3 win64_mingw --archives qtbase qtsvg

Get Qt creator

This is not a necessary step but if you are building on your own computer you probably want to debug and need Qt creator IDE.

aqt install-tool windows desktop tools_qtcreator

Option B: using QT IDE

Download the open source version of Qt framework https://www.qt.io/download-open-source Run the installer and go through it. You will need to do a custom installation to get Qt version 6.8.3. you might be able to compile with a different version.

Which components to choose ?
You will need QT 6.8.3.
For faster installation, you probably do not need Qt design studio.
In the details of Qt 6.8.3 you only need MinGW 13.1.0 64-bit, Qt 5 Compatibility module, QT Charts and Qt Data Visualization.
You probably want to install Qt Creator. This is Qt's IDE and if you are here it's probably because you need to debug (breakpoints, step by step, variables, ...).
You may want to install Cmake, Ninja and Qt Installer Framework.

Option C: using Windows Subsystem for Linux (WSL)

Since Windows 10, Windows provides a native Linux subsystem. You don't need a virtual machine or a dual boot and can run any Linux application directly inside Windows. It works also for graphical applications.
More information about installation are available here: https://learn.microsoft.com/en-us/windows/wsl/install

All what you need to do is:

wsl --install

Once a Linux distribution is installed, you only need this to run same one each time:

wsl

For the rest of the build process you can now rely on Linux build process.

Stage 2: DLL dependencies

Option A: full build

What will be described here is the same method used to build the installer GitHub action workflow. It relies heavily on command line but you can transpose everything to your prefered approch. For example using CMake-gui instead of cmake command line. Versions might have changed, rely on the workflow if you want to duplicate with same versions as the repository.

If you haven't already, you will need to install latest version of CMake first.

Build OpenCV

Get OpenCV source code version 4.12.0 in your prefered way (clone the repo, download the archive, homing pigeon, ...) and have it in folder named C:\buildingDFTFringe\openCV

Then from within C:\buildingDFTFringe do the following:

cmake -G "MinGW Makefiles" -S openCV -B build_openCV -D WITH_QT=ON -D WITH_OPENGL=ON -D Qt6_DIR=:./6.8.3/mingw_64/lib/cmake/Qt6
cmake -G "MinGW Makefiles" -S openCV -B build_openCV
cmake --build ./build_openCV -j4
cmake --install ./build_openCV

You may need to adapt Qt6_DIR to you actual installation directory. If you installed Qt with the official isntaller the path is C:/Qt/6.8.3/mingw_64/lib/cmake/Qt6.

Build Qwt

Get Qwt source code version 6.3.0 in your prefered way (clone the repo, download the archive, homing pigeon, ...) and have it in folder named C:\buildingDFTFringe\qwt-6.3.0.

Then from within C:\buildingDFTFringe\qwt-6.3.0 do the following:

qmake.exe
mingw32-make -j4

Build Lapack and Blas

Get Lapack source code version 3.12.1 in your prefered way (clone the repo, download the archive, homing pigeon, ...) and have it in folder named C:\buildingDFTFringe\lapack. Lapack comes with Blas.

Then from within C:\buildingDFTFringe do the following:

cmake -G "MinGW Makefiles" -S lapack -B build_lapack -D BUILD_SHARED_LIBS=ON
cmake --build ./build_lapack -j4

Build Armadillo

Get Armadillo source code version 15.2.2 in your prefered way (clone the repo, download the archive, homing pigeon, ...) and have it in folder named C:\buildingDFTFringe\armadillo-15.2.2.

Then from within C:\buildingDFTFringe do the following:

cmake -D CMAKE_PREFIX_PATH=C:/buildingDFTFringe/build_lapack -G "MinGW Makefiles" -S armadillo-15.2.2 -B build_armadillo
cmake --build ./build_armadillo -j4

It's important that Armadillo knows the path to Lapack to work correctly. Here we use CMAKE_PREFIX_PATH but you can also add it to your Path or use other methods.

Option B: getting DLLs from official installer

Build OpenCV

Get OpenCV installer (not source code) 4.12.0 in your prefered way (typically from their GitHub or website). Run the installer opencv-4.12.0-windows.exe.

Copy content from yourExtractionLocation\opencv\build\include to C:\buildingDFTFringe\build_openCV\install\include.

Build Qwt

Get [Qwt](https

Related Skills

View on GitHub
GitHub Stars214
CategoryDevelopment
Updated2d ago
Forks63

Languages

C++

Security Score

95/100

Audited on Apr 1, 2026

No findings