Skip to content
 
 

Latest commit

 

History

9,554 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeQL

This is the home of the UltraScan GUI software source code. More information is available here

The UltraScan project is supported by NIH Funding GM120600

Licensing

This project is licensed under the Lesser General Public License (LGPL). You can find the LGPL license in the LICENSE file in the root directory of this project.

This project uses the Eigen library, which is licensed under the Mozilla Public License 2.0 (MPL2). You can find the Eigen source code and license at Eigen GitHub repository.

Installation

The simplest way is to download and install a precompiled binary

Building

If you wish to compile from source, here are some notes to get you started.

You will need qt6 development and qwt6.3.0 installed. For now qt5 is still supported but deprecated.

We typically compile from source as in ansible roles build-qt, build-qwt & build-us3

One could also take hints from this Dockerfile which uses an Ubuntu 20.04 container and qt packages.

Please create an issue or contact us if you have further questions.

Toolchains in forks

GitHub application builds use the artifact locations and checksums in buildsys/toolchain.lock.json. Forks inherit upstream toolchains when they sync; automatic toolchain builds and scheduled nightlies run only in ehb54/ultrascan3.

On pushes, toolchain builds select targets whose tracked inputs differ from their published inputs_digest. Platform scripts and Dockerfiles affect their targets; shared dependency inputs and toolchain workflow changes affect all targets. Pins without a fingerprint rebuild once to record it. Unchanged targets are skipped, and a run with no selected targets does not publish or commit pins.

To test dependency changes in a fork, run Toolchain build manually on a feature branch. Manual runs rebuild the selected targets even when their inputs match. The workflow publishes to the fork and updates the pins for those targets on that branch. Unselected targets keep their existing sources. Uncheck open_pr to publish without committing pins; on main, enabling it creates a pin PR that is automatically merged after validation. Published archives are retained so older revisions and forks can still fetch their pinned dependencies.

Container environment

Assuming you are experienced with containers...

A containerized development image is also available docker pull ehb1/usbuildtest

The source is in /ultrascan3

Run and export the containers display in Linux docker run -it --rm -e DISPLAY=${DISPLAY} -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME/.Xauthority:/home/xterm/.Xauthority --hostname $(hostname) ehb1/us3comp bash

N.B. the --rm above will delete the container after you exit, so any changes will be lost after exiting.

Update the ultrascan3 code cd /ultrascan3 && git pull

Compile both us and us3_somo cd /ultrascan3 && ./makeall.sh && ./makesomo.sh

Run the compiled application LD_LIBRARY_PATH=/ultrascan3/lib:/qwt-6.1.5/lib /ultrascan3/bin/us

Note - subprocesses do not currently run in the container, so you must run any compiled application individually, e.g. us_fematch

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages