Compare commits
4 commits
8f8396cf95
...
850c2e189f
Author | SHA1 | Date | |
---|---|---|---|
![]() |
850c2e189f | ||
![]() |
40e497297d | ||
![]() |
060d894d6c | ||
![]() |
3e005fc7d6 |
122
inject_env.yml
Normal file
122
inject_env.yml
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
name: inject
|
||||||
|
channels:
|
||||||
|
- defaults
|
||||||
|
dependencies:
|
||||||
|
- _libgcc_mutex=0.1=main
|
||||||
|
- _openmp_mutex=5.1=1_gnu
|
||||||
|
- aom=3.6.0=h6a678d5_0
|
||||||
|
- blas=1.0=mkl
|
||||||
|
- brotli-python=1.0.9=py313h6a678d5_9
|
||||||
|
- bzip2=1.0.8=h5eee18b_6
|
||||||
|
- c-ares=1.19.1=h5eee18b_0
|
||||||
|
- ca-certificates=2025.2.25=h06a4308_0
|
||||||
|
- cairo=1.16.0=he5ede1b_6
|
||||||
|
- contourpy=1.3.1=py313hdb19cb5_0
|
||||||
|
- cycler=0.11.0=pyhd3eb1b0_0
|
||||||
|
- cyrus-sasl=2.1.28=h1110e0f_3
|
||||||
|
- dav1d=1.2.1=h5eee18b_0
|
||||||
|
- expat=2.7.1=h6a678d5_0
|
||||||
|
- fontconfig=2.14.1=h55d465d_3
|
||||||
|
- fonttools=4.55.3=py313h5eee18b_0
|
||||||
|
- freetype=2.13.3=h4a9f257_0
|
||||||
|
- fribidi=1.0.10=h7b6447c_0
|
||||||
|
- graphite2=1.3.14=h295c915_1
|
||||||
|
- harfbuzz=10.2.0=hdfddeaa_1
|
||||||
|
- icu=73.1=h6a678d5_0
|
||||||
|
- intel-openmp=2023.1.0=hdb19cb5_46306
|
||||||
|
- jpeg=9e=h5eee18b_3
|
||||||
|
- kiwisolver=1.4.8=py313h6a678d5_0
|
||||||
|
- krb5=1.20.1=h143b758_1
|
||||||
|
- lcms2=2.16=h92b89f2_1
|
||||||
|
- ld_impl_linux-64=2.40=h12ee557_0
|
||||||
|
- lerc=4.0.0=h6a678d5_0
|
||||||
|
- libabseil=20250127.0=cxx17_h6a678d5_0
|
||||||
|
- libavif=1.1.1=h5eee18b_0
|
||||||
|
- libcups=2.4.2=h252cb56_2
|
||||||
|
- libcurl=8.14.1=hc1efc7f_1
|
||||||
|
- libdeflate=1.22=h5eee18b_0
|
||||||
|
- libedit=3.1.20230828=h5eee18b_0
|
||||||
|
- libev=4.33=h7f8727e_1
|
||||||
|
- libffi=3.4.4=h6a678d5_1
|
||||||
|
- libgcc-ng=11.2.0=h1234567_1
|
||||||
|
- libgfortran-ng=11.2.0=h00389a5_1
|
||||||
|
- libgfortran5=11.2.0=h1234567_1
|
||||||
|
- libgl=1.7.0=h5eee18b_2
|
||||||
|
- libglib=2.84.2=h37c7471_0
|
||||||
|
- libglvnd=1.7.0=h5eee18b_2
|
||||||
|
- libglx=1.7.0=h5eee18b_2
|
||||||
|
- libgomp=11.2.0=h1234567_1
|
||||||
|
- libiconv=1.16=h5eee18b_3
|
||||||
|
- libkrb5=1.21.3=h520c7b4_3
|
||||||
|
- libmpdec=4.0.0=h5eee18b_0
|
||||||
|
- libnghttp2=1.57.0=h2d74bed_0
|
||||||
|
- libpng=1.6.39=h5eee18b_0
|
||||||
|
- libpq=17.4=h02b6914_2
|
||||||
|
- libprotobuf=5.29.3=h3cdef7c_1
|
||||||
|
- libssh2=1.11.1=h251f7ec_0
|
||||||
|
- libstdcxx-ng=11.2.0=h1234567_1
|
||||||
|
- libtiff=4.7.0=hde9077f_0
|
||||||
|
- libuuid=1.41.5=h5eee18b_0
|
||||||
|
- libwebp-base=1.3.2=h5eee18b_1
|
||||||
|
- libxcb=1.17.0=h9b100fa_0
|
||||||
|
- libxkbcommon=1.9.1=h69220b7_0
|
||||||
|
- libxml2=2.13.8=hfdd30dd_0
|
||||||
|
- lmdb=0.9.29=h2531618_0
|
||||||
|
- lz4-c=1.9.4=h6a678d5_1
|
||||||
|
- matplotlib=3.10.0=py313h06a4308_1
|
||||||
|
- matplotlib-base=3.10.0=py313h68cf311_1
|
||||||
|
- mkl=2023.1.0=h213fc3f_46344
|
||||||
|
- mkl-service=2.4.0=py313h5eee18b_2
|
||||||
|
- mkl_fft=1.3.11=py313h5eee18b_0
|
||||||
|
- mkl_random=1.2.8=py313h06d7b56_0
|
||||||
|
- mysql=8.4.0=h721767e_2
|
||||||
|
- ncurses=6.5=h7934f7d_0
|
||||||
|
- numpy=2.3.1=py313h8d96ed3_0
|
||||||
|
- numpy-base=2.3.1=py313h8e760e0_0
|
||||||
|
- openjpeg=2.5.2=h0d4d230_1
|
||||||
|
- openldap=2.6.4=h42fbc30_0
|
||||||
|
- openssl=3.0.17=h5eee18b_0
|
||||||
|
- packaging=25.0=py313h06a4308_0
|
||||||
|
- pcre2=10.42=hebb0a14_1
|
||||||
|
- pillow=11.3.0=py313hb1c3d2d_0
|
||||||
|
- pip=25.1=pyhc872135_2
|
||||||
|
- pixman=0.40.0=h7f8727e_1
|
||||||
|
- pthread-stubs=0.3=h0ce48e5_1
|
||||||
|
- pyparsing=3.2.0=py313h06a4308_0
|
||||||
|
- pyqt=6.7.1=py313h8dad735_2
|
||||||
|
- pyqt6-sip=13.9.1=py313h6ce4db3_2
|
||||||
|
- python=3.13.5=h4612cfd_100_cp313
|
||||||
|
- python-dateutil=2.9.0post0=py313h06a4308_2
|
||||||
|
- python_abi=3.13=0_cp313
|
||||||
|
- qtbase=6.7.3=hdaa5aa8_0
|
||||||
|
- qtdeclarative=6.7.3=h7934f7d_1
|
||||||
|
- qtsvg=6.7.3=he4bddd1_1
|
||||||
|
- qttools=6.7.3=h5a8de97_1
|
||||||
|
- qtwebchannel=6.7.3=h7934f7d_1
|
||||||
|
- qtwebsockets=6.7.3=h7934f7d_1
|
||||||
|
- readline=8.2=h5eee18b_0
|
||||||
|
- scipy=1.16.0=py313h0cc6016_0
|
||||||
|
- setuptools=72.1.0=py313h06a4308_0
|
||||||
|
- sip=6.10.0=py313h6a678d5_0
|
||||||
|
- six=1.17.0=py313h06a4308_0
|
||||||
|
- sqlite=3.50.2=hb25bd0a_1
|
||||||
|
- tbb=2021.8.0=hdb19cb5_0
|
||||||
|
- tk=8.6.14=h993c535_1
|
||||||
|
- tornado=6.5.1=py313h5eee18b_0
|
||||||
|
- tzdata=2025b=h04d1e81_0
|
||||||
|
- wheel=0.45.1=py313h06a4308_0
|
||||||
|
- xcb-util=0.4.1=h5eee18b_2
|
||||||
|
- xcb-util-cursor=0.1.5=h5eee18b_0
|
||||||
|
- xcb-util-image=0.4.0=h5eee18b_2
|
||||||
|
- xcb-util-renderutil=0.3.10=h5eee18b_0
|
||||||
|
- xkeyboard-config=2.44=h5eee18b_0
|
||||||
|
- xorg-libx11=1.8.12=h9b100fa_1
|
||||||
|
- xorg-libxau=1.0.12=h9b100fa_0
|
||||||
|
- xorg-libxdmcp=1.1.5=h9b100fa_0
|
||||||
|
- xorg-libxext=1.3.6=h9b100fa_0
|
||||||
|
- xorg-libxrender=0.9.12=h9b100fa_0
|
||||||
|
- xorg-xorgproto=2024.1=h5eee18b_1
|
||||||
|
- xz=5.6.4=h5eee18b_1
|
||||||
|
- zlib=1.2.13=h5eee18b_1
|
||||||
|
- zstd=1.5.6=hc292b87_0
|
||||||
|
prefix: /home/dagarwal/miniconda3/envs/inject
|
30
readme.md
Normal file
30
readme.md
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# 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/`.
|
|
@ -11,6 +11,9 @@ import pandas as pd
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
logging.basicConfig(level=logging.INFO) #change for debug prints
|
logging.basicConfig(level=logging.INFO) #change for debug prints
|
||||||
|
|
||||||
|
INJECTION_FILE = os.path.join(".","out","2025-07-31T17-25-54.txt")
|
||||||
|
DETECTION_FILE = os.path.join(".","out","plotOut.txt")
|
||||||
|
|
||||||
def linesplit(line):
|
def linesplit(line):
|
||||||
"""
|
"""
|
||||||
Splits line of file into useful components.
|
Splits line of file into useful components.
|
||||||
|
@ -49,14 +52,14 @@ detectedDic = {
|
||||||
}
|
}
|
||||||
|
|
||||||
#load injected data into dataframe
|
#load injected data into dataframe
|
||||||
with open(os.path.join(".","out","2025-07-31T17-25-54.txt"), "r") as file:
|
with open(INJECTION_FILE, "r") as file:
|
||||||
lines = file.readlines()
|
lines = file.readlines()
|
||||||
updateDic(lines, injectedDic)
|
updateDic(lines, injectedDic)
|
||||||
|
|
||||||
injections = pd.DataFrame(data=injectedDic) #this is our main object for injection data
|
injections = pd.DataFrame(data=injectedDic) #this is our main object for injection data
|
||||||
|
|
||||||
#load detection data into dataframe
|
#load detection data into dataframe
|
||||||
with open(os.path.join(".","out","plotOut.txt"), "r") as file:
|
with open(DETECTION_FILE, "r") as file:
|
||||||
lines = file.readlines()
|
lines = file.readlines()
|
||||||
updateDic(lines, detectedDic)
|
updateDic(lines, detectedDic)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
/minish/keh00032/gb/2025/data_2025-05-05_07-08-36/
|
|
||||||
/minish/keh00032/gb/2025/data_2025-05-05_07-16-59/
|
|
||||||
/minish/keh00032/gb/2025/data_2025-05-05_07-25-22/
|
|
||||||
/minish/keh00032/gb/2025/data_2025-05-05_07-33-46/
|
|
||||||
/minish/keh00032/gb/2025/data_2025-05-05_07-42-09/
|
|
||||||
/minish/keh00032/gb/2025/data_2025-05-05_07-50-32/
|
|
Loading…
Reference in a new issue