![]() |
Simulacrum
1.2
|
The Simulacrum library. See the website and this article for more information.
Copyright (C) 2022 Michael A. Hicks Distributed under the terms of the GNU Lesser General Public License.
Simulacrum is a library suite for volume and image space interaction. It is designed to be lightweight, easy-to-use, portable, scalable and extensible. The core of Simulacrum is written in C++ with integrated Lua scripting, providing flexibility in programming solutions. A closely coupled tertiary library, Simulacrum-gui, provides a framework for visual tools, including advanced rendering techniques built around the cross-platform Qt libraries.
Simulacrum uses Git for revision control.
git clone https://gitlab.com/mahicks/Simulacrum
Simulacrum is composed of two libraries: Base and GUI. Only GUI is dependent on the Qt libraries.
Both libraries use CMake to compile binaries.
From the cloned repository root:
cmake -S . -B build
cmake –build build
This will create a directory called 'build' and proceed to build Simulacrum in that directory.
Dependencies:
CMake, Boost (system, filesystem, asio), libcurl, Swig. GUI: Qt 4 or 5.
Using Qt Creator, open the top-level CMake project file. Pressing the build button will then compile the project.
Currently possible but not yet documented here.
Simulacrum's CMake configuration is sensitive to the following ON/OFF options:
ANDROID : Build for the Android NDK / Qt
CURL : Curl support (from system)
GUI : GUI Library
LUA : Lua support (built-in)
PNG : PNG support (built-in)
DICOM Transfer syntaxes:
J2K : JPEG2000 support (built-in)
JPEG : JPEG support (built-in)
LJPEG : Lossless JPEG support (built-in)
JPEGLS : JPEG-LS support (built-in)
DCMDIC : DICOM Data Dictionary (built-in)
SDEBUG : Extended runtime debug messages (default: OFF)
SUPPRESS_EXTERNAL_WARNINGS : Suppress warnings from external libraries
Options can be set using CMake, from the command line, as follows:
cmake -D<optionname>=<ON/OFF>
For example:
cmake -S . -B build -DJPEGLS=OFF