LANE (Langton ANalysis Ecosystem)
A software ecosystem for analysis of the data from the Langton physics projects For example, the LUCID (Langton's Ultimate Cosmic-ray Detector) project onboard TechDemoSAT-1 in space.
This software package contains:
- A lane management/automation python scripts.
- A selection of analysis modules.
- A library of C++ code for use in analysis of Langton physics data.
See the LUCID wiki for further information.
Prerequisites and installation
To build this code you will need
- Enter the lane directory in your shell:
- Run setupBuild, passing it the path to which you would like lane to be installed:
- Enter the desired build directory inside the lane directory and build the project. For example, on a unix based system:
cd build/release make install
This will build the project and install the results in the earlier specified directory.
Use configLane to generate a config.ini file before running lane:
Any LUCID data you wish to be analysed should be placed inside the data directory, inside the lucid folder, within a folder named like so: year-month-day, inside another folder with an ID identifying the capture number of that data. For example: data/lucid/2015-01-15/01.
Use runLane to run the analysis modules on the data:
Inside the scripts directory are several useful scripts for lane development and usage.
sortLucidCaptures.py is a script that scans all files in a directory with the *.ldat extension and joins up files determined to be members of the same overall capture file.
rawToIntermediate is an (in development) script for reading in LUCID raw data files (currently doesn't work).
Notes for when making additions
It's a good idea to make your desired module code changes in a lane installation, and backport these changes to the source location before committing the code. This means it will be possible to test run the code. In the base source location prior to installation, lane is not designed to be run!
The main directory contains some information and the lane configuration script, configLane The project is also organized into a couple of subdirectories.
- The modules directory contains the source code of the analysis modules.
- The lib directory contains the libraries used in the software.
- The lib/lane directory contains C++-based libraries of code for use in the analysis modules.
- The scripts directory contains some possibly useful maintenance scripts.
- The cmake directory contains some utility scripts for the cmake C++ build system.
Issued under the Simplified (2-clause) BSD license. Please see LICENSE.md.
None as of yet
Fix the parser for lucid files to allow for reading in unjoined files of arbitrary size - Modify the raw-to-intermediate conversion modules to allow for this.
Figure out a sound way of creating a python library for use in modules (plane)
that's sanely accessible from python modules, or decide if it's worth just outright writing every module in C++?
Add support for XYV compression to liblane.
Add support for some more of the settings in the data files' header to liblane.
Add telemetry, detector configs, pixel masks and calibration files support to lane.