Open Source

SedSAT3 is developed in the open. The full source code is available on GitHub, and contributions, bug reports, and feature requests are welcome.

Repositories

The main repository includes a Utilities submodule, so be sure to initialize submodules when cloning (see below).

Technology

SedSAT3 is written in modern C++ (C++17) using the Qt 6 framework for its interface and charting. Numerical and statistical routines are built on established scientific libraries.

  • Language / framework: C++17, Qt 6 (Qt Charts, QCustomPlot, QXlsx)
  • Math / stats: GSL, Armadillo, LAPACK, BLAS, OpenMP
  • Build systems: CMake and qmake

Building from source

Clone the repository

git clone --recurse-submodules https://github.com/ArashMassoudieh/SedSat3.git
cd SedSat3

If you already cloned without submodules, run:

git submodule update --init --recursive

Windows (Visual Studio 2022 + vcpkg)

  1. Install Visual Studio 2022 with the “Desktop development with C++” workload.
  2. Install Qt 6 and the Qt Visual Studio Tools extension.
  3. Use vcpkg to install the required dependencies (GSL, Armadillo, LAPACK/BLAS).
  4. Open the project and build in the Release configuration.

Linux (Ubuntu / Debian)

Install the dependencies, then configure and build with CMake:

sudo apt-get update
sudo apt-get install build-essential cmake \
     qt6-base-dev libqt6charts6-dev \
     libgsl-dev libarmadillo-dev liblapack-dev libblas-dev libomp-dev

cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel

To produce a Debian package (.deb), the repository includes a build script that configures, compiles, and packages the application in one step:

./createdeb.sh

The resulting .deb file will be placed in the build/ directory.

API documentation

Doxygen-generated API documentation is produced automatically from the source code and hosted on the project’s GitHub Pages site.

View the API documentation →

License

SedSAT3 is released as open-source software. Please refer to the LICENSE file in the repository for the exact terms.

How to contribute