# Signal injection and testing for GREENBURST These scripts are developed to: 1) Create and inject bursts of varying DM and width to existing FILTERBANK files (signalgen.py), and 2) Analyze the results of running the resulting files through the GREENBURST pipeline (testanalysis.py). ## Environment The inject_env.yml file contains the enviroment declaration necessary to run these scripts. On the GREENBURST machine, this enviroment is accessed via `conda activate inject`. ## Running ### Signal Generation Signalgen has 2 modes - generation and plotting. Generation is the default, while plotting is accessed via the `-p` flag. Files may be provided in three ways: - Directly and one at a time, via `-f` - Through a file containing a list of file paths, via `-l` - Contained in a directory via `-D`, where Signalgen will act on all `.fil` files in the directory. The injected signals can be of a specified DM (`-d`) and/or width (`-w`), and the number of samples taken by the `will` package can be adjusted as well (`-n`). For bulk processing, the `-r` flag should be used to randomize the pulse parameters and output the injected pulse infomation to a timestamped file. By default, the resulting files will be output to `./out/`, but a different directory may be specified with `-o`. Note that `-p` will always output the plots into the same directory as the source `.fil` file. ### Test Analysis After running the GREENBURST pipeline using the `-t` flag with stage 3, a `plotOut.txt` file will be output (by default, to `/ldata/dev_tests/repro/`). Provide the timestamped file from Signalgen and this `plotOut.txt` file to Testanalysis by editing the paths at the top of the script, and run the file. Information will be output to the log, and plots will be output to `./out/`.