mirror of
https://github.com/gwm17/Specter.git
synced 2024-11-22 18:28:52 -05:00
Update and tweak README.md
This commit is contained in:
parent
35db3964fa
commit
4d201b9532
30
README.md
30
README.md
|
@ -1,7 +1,9 @@
|
|||
# Navigator
|
||||
# Specter
|
||||
|
||||
Navigator is a cross-platform Dear ImGui/ImPlot based data visualization tool designed for online analysis in nuclear physics experiments. It is a C++ library/framework with capability of displaying 1D and 2D
|
||||
spectra, applying cuts and gates graphically to spectra, and has a customizable analysis system. The only external dependencies are OpenGL development headers, as OpenGL is the rendering API, and the
|
||||
Specter is a cross-platform Dear ImGui/ImPlot based data visualization tool designed for online analysis in nuclear physics experiments. It is a C++ library/framework with capability of displaying 1D and 2D
|
||||
spectra, applying cuts and gates graphically to spectra, and has a customizable analysis system. Specter is focused on providing a clean, pretty UI with good performance required by demainding experimental setups.
|
||||
|
||||
The only external dependencies are OpenGL development headers, as OpenGL is the rendering API, and the
|
||||
C++17 standard library. All other dependencies are included as git submodules in the vendor directory. The current state of the library is such that the only readily developed data source type is for CAEN's
|
||||
CoMPASS DAQ for use with their digitizer modules. There are tentative plans to extend the sources to other DAQ frameworks.
|
||||
|
||||
|
@ -11,26 +13,22 @@ all of the renderer is based off of ([Hazel](https://github.com/TheCherno/Hazel)
|
|||
Additonally, the excellent [DearImGui](https://github.com/ocornut/imgui) and [ImPlot](https://github.com/epezent/implot) libraries are obviously critical to this work, and also deserve a look for anyone who wants
|
||||
to design UI's and plotting tools in C++.
|
||||
|
||||
## Building Navigator
|
||||
## Building Specter
|
||||
|
||||
Navigator should be cloned from github using `git clone --recursive https://github.com/gwm17/Navigator.git` The recursive flag tells git to clone not only the repository but also all of the submodule dependencies.
|
||||
Specter should be cloned from github using `git clone --recursive https://github.com/gwm17/Specter.git` The recursive flag tells git to clone not only the repository but also all of the submodule dependencies.
|
||||
|
||||
Navigator uses [premake](https://premake.github.io/), a free, cross-platform build tool to generate build files for various platforms. On Windows one should build for a VisualStudio project, on Mac a Xcode project,
|
||||
and on Linux flavors make is the most commonly accepted format. Once project files have been generated, build using whatever tools exist on the platform of choice.
|
||||
Specter uses [premake](https://premake.github.io/), a free, cross-platform build tool to generate build files for various platforms.
|
||||
|
||||
Note: Mac and Windows technichally can be built using tools other than the platform standard VS and Xcode environments, but care will need to be taken to modify the premake script so that the OpenGL and platform
|
||||
related headers can be found.
|
||||
|
||||
Note: On Linux distributions, typically Mesa OpenGL and X-window related header files are not installed by default. These can typically be installed using whatever package manager your distribution uses. For example,
|
||||
Note: On Linux distributions, typically Mesa OpenGL and X-window related header files are not installed by default. These can be installed using whatever package manager your distribution uses. For example,
|
||||
on Debian family distributions the necessary files can be installed using `sudo apt install libgl1 libgl1-mesa-dev libglu1-mesa libglu1-mesa-dev xorg-dev mesa-utils` which should fill out all of
|
||||
the dependencies. If this doesn't seem to work, check your distribution related documentation for OpenGL dependencies.
|
||||
|
||||
## Running Navigator
|
||||
## Running Specter
|
||||
|
||||
Once Navigator is built it can be run from VS or Xcode IDEs or on Linux move to the appropriate directory in bin and execute the program. Note that the program is NavProject. Navigator is just a library/framework.
|
||||
NavProject is an example showing what a typical implementation might look like, based on the Super-Enge Split-Pole Spectrograph at Florida State University. This can be used as a launching point for a project, or
|
||||
you can link to Navigator your self. Note that if you want to link to Navigator yourself, its important that you copy the fonts directory to your project, as this contains the icons and font used by Navigator. The
|
||||
Once Specter is built it can be run from VS or Xcode IDEs or on Linux move to the appropriate directory in bin and execute the program. Note that the program is SpecProject. Specter is just a library/framework.
|
||||
SpecProject is an example showing what a typical implementation might look like, based on the Super-Enge Split-Pole Spectrograph at Florida State University. This can be used as a launching point for a project, or
|
||||
you can link to Specter your self. Note that if you want to link to Specter yourself, its important that you copy the fonts directory to your project, as this contains the icons and font used by Specter. The
|
||||
fonts should be placed wherever your program will be run from (the runtime directory).
|
||||
|
||||
Note: As Navigator is still very early in development, the default build configuration is Debug. If you are actually going to use it, you will want to make sure that you switch to building in Release configuration
|
||||
Note: As Specter is still very early in development, the default build configuration is Debug. If you are actually going to use it, you will want to make sure that you switch to building in Release configuration
|
||||
otherwise performance may be poor.
|
Loading…
Reference in New Issue
Block a user