From 04ab43b1be4d1a1cbf707e16a61f2ff9c405a987 Mon Sep 17 00:00:00 2001 From: Jeff Moe Date: Tue, 17 Jan 2023 09:07:30 -0700 Subject: [PATCH] Revert "CygnusRFI.py py 2to3" This reverts commit 9205acf142882a9813038f61462503715e75cca7. --- CygnusRFI.py | 155 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 98 insertions(+), 57 deletions(-) diff --git a/CygnusRFI.py b/CygnusRFI.py index 13068d3..c70b1c6 100644 --- a/CygnusRFI.py +++ b/CygnusRFI.py @@ -1,57 +1,98 @@ ---- CygnusRFI.py.orig (original) -+++ CygnusRFI.py.orig (refactored) -@@ -51,20 +51,20 @@ - sleep(0.5) - print('\n\033[1;33;48m\033[4;33;48mRFI Measurement Parameters:\033[0;32;48m') - sleep(0.15) --print('\033[1;32;48mFrequency range to scan: \033[1;36;48m'+str(float(fmin)/1000000)+'-'+str(float(fmax)/1000000)+' MHz') -+print(('\033[1;32;48mFrequency range to scan: \033[1;36;48m'+str(float(fmin)/1000000)+'-'+str(float(fmax)/1000000)+' MHz')) - sleep(0.15) --print('\033[1;32;48mBandwidth per spectrum: \033[1;36;48m'+str(float(bandwidth)/1000000)+' MHz') -+print(('\033[1;32;48mBandwidth per spectrum: \033[1;36;48m'+str(float(bandwidth)/1000000)+' MHz')) - sleep(0.15) --print('\033[1;32;48mIntegration time per spectrum: \033[1;36;48m'+duration+' sec') -+print(('\033[1;32;48mIntegration time per spectrum: \033[1;36;48m'+duration+' sec')) - sleep(0.15) --print('\033[1;32;48mNumber of channels per spectrum (FFT Size should be a power of 2): \033[1;36;48m'+str(channels)) -+print(('\033[1;32;48mNumber of channels per spectrum (FFT Size should be a power of 2): \033[1;36;48m'+str(channels))) - sleep(0.15) --print('\033[1;32;48mIntegration time per FFT sample: \033[1;36;48m'+t_int+' sec') -+print(('\033[1;32;48mIntegration time per FFT sample: \033[1;36;48m'+t_int+' sec')) - sleep(0.5) --print("\n\033[1;32;48mEstimated completion time: \033[1;36;48m"+str(float(duration)*float(fmax-fmin)/float(bandwidth))+" sec") -+print(("\n\033[1;32;48mEstimated completion time: \033[1;36;48m"+str(float(duration)*float(fmax-fmin)/float(bandwidth))+" sec")) - - sleep(0.5) --proceed = input("\n\033[1;36;48mProceed to measurement? [Y/n]: \033[1;33;48m") -+proceed = eval(input("\n\033[1;36;48mProceed to measurement? [Y/n]: \033[1;33;48m")) - - if proceed.lower() != 'n' and proceed.lower() != 'no': - print('\n\033[1;33;48m+=================================================================+') -@@ -73,7 +73,7 @@ - - q=0 - for freq in range(int(fmin), int(fmax), int(float(bandwidth))): -- print("\033[1;33;48m\n---------------------------------------------------------------------------\n \033[1;33;48m[*] \033[1;32;48mCurrently monitoring f_center = "+str(0.000001*freq)+" +/- "+str(float(float(bandwidth)*0.000001)/2)+" MHz (iteration: "+str(q)+")...\n\033[1;33;48m---------------------------------------------------------------------------") -+ print(("\033[1;33;48m\n---------------------------------------------------------------------------\n \033[1;33;48m[*] \033[1;32;48mCurrently monitoring f_center = "+str(0.000001*freq)+" +/- "+str(float(float(bandwidth)*0.000001)/2)+" MHz (iteration: "+str(q)+")...\n\033[1;33;48m---------------------------------------------------------------------------")) - - #Define observation frequency - f_center = str(freq) -@@ -81,7 +81,7 @@ - #Execute top_block.py with parameters - print('\033[0m') - sys.argv = ['top_block.py', '--c-freq='+f_center, '--samp-rate='+bandwidth, '--nchan='+channels, '--nbin='+nbins, '--obs-time='+duration] -- execfile('top_block.py') -+ exec(compile(open('top_block.py', "rb").read(), 'top_block.py', 'exec')) - os.rename('observation.dat', str(q)+'.dat') - - q = q+1 -@@ -91,7 +91,7 @@ - - f_center = str(fmin) - sys.argv = ['rfi_plotter.py', 'freq='+f_center, 'samp_rate='+bandwidth, 'nchan='+channels, 'nbin='+nbins, 'n='+str(q), 'dur='+duration, 'fminimum='+str(fmin), 'fmaximum='+str(fmax)] -- execfile('rfi_plotter.py') -+ exec(compile(open('rfi_plotter.py', "rb").read(), 'rfi_plotter.py', 'exec')) - - print('\033[1;32;48mYour data has been saved as \033[1;36;48mrfi_plot.png\033[1;32;48m.') - else: +#!/usr/bin/env python +import os +import sys +import argparse +from time import sleep + +# Define argparse arguments +parser = argparse.ArgumentParser() + +parser.add_argument("-b", "--bandwidth", type=str, required=True) +parser.add_argument("-c", "--channels", type=str, default=1024) +parser.add_argument("-t", "--t_int", type=str, default=0.1) +parser.add_argument("-d", "--duration", type=str, required=True) +parser.add_argument("-f", "--fmin", type=float, required=True) +parser.add_argument("-F", "--fmax", type=float, required=True) + +args = parser.parse_args() + +bandwidth=args.bandwidth +channels=args.channels +t_int=args.t_int +duration=args.duration +fmin=args.fmin +fmax=args.fmax + +#Define GRC observation parameters +bandwidth = str(bandwidth) +channels = str(channels) +t_int = str(t_int) +duration = str(duration) +fmin = float(fmin) +fmax = float(fmax) + +nbins = str(int(float(t_int) * float(bandwidth)/float(channels))) + +#Delete pre-existing observation.dat file +for file_name in os.listdir('.'): + if file_name.endswith('.dat'): + try: + os.remove(file_name) + except OSError: + pass +try: + os.remove('rfi_plot.png') +except OSError: + pass + +print('\n\033[1;33;48m+=================================================================+') +print('\033[1;33;48m| \033[1;36;48mCygnusRFI\033[1;33;48m:\033[1;32;48m An open-source Radio Frequency Interference analyzer\033[1;33;48m |') +print('\033[1;33;48m+=================================================================+') +sleep(0.5) +print('\n\033[1;33;48m\033[4;33;48mRFI Measurement Parameters:\033[0;32;48m') +sleep(0.15) +print('\033[1;32;48mFrequency range to scan: \033[1;36;48m'+str(float(fmin)/1000000)+'-'+str(float(fmax)/1000000)+' MHz') +sleep(0.15) +print('\033[1;32;48mBandwidth per spectrum: \033[1;36;48m'+str(float(bandwidth)/1000000)+' MHz') +sleep(0.15) +print('\033[1;32;48mIntegration time per spectrum: \033[1;36;48m'+duration+' sec') +sleep(0.15) +print('\033[1;32;48mNumber of channels per spectrum (FFT Size should be a power of 2): \033[1;36;48m'+str(channels)) +sleep(0.15) +print('\033[1;32;48mIntegration time per FFT sample: \033[1;36;48m'+t_int+' sec') +sleep(0.5) +print("\n\033[1;32;48mEstimated completion time: \033[1;36;48m"+str(float(duration)*float(fmax-fmin)/float(bandwidth))+" sec") + +sleep(0.5) +proceed = input("\n\033[1;36;48mProceed to measurement? [Y/n]: \033[1;33;48m") + +if proceed.lower() != 'n' and proceed.lower() != 'no': + print('\n\033[1;33;48m+=================================================================+') + print('\033[1;33;48m| [+] \033[1;32;48m Starting measurement...\033[1;33;48m |') + print('\033[1;33;48m+=================================================================+\n') + + q=0 + for freq in range(int(fmin), int(fmax), int(float(bandwidth))): + print("\033[1;33;48m\n---------------------------------------------------------------------------\n \033[1;33;48m[*] \033[1;32;48mCurrently monitoring f_center = "+str(0.000001*freq)+" +/- "+str(float(float(bandwidth)*0.000001)/2)+" MHz (iteration: "+str(q)+")...\n\033[1;33;48m---------------------------------------------------------------------------") + + #Define observation frequency + f_center = str(freq) + + #Execute top_block.py with parameters + print('\033[0m') + sys.argv = ['top_block.py', '--c-freq='+f_center, '--samp-rate='+bandwidth, '--nchan='+channels, '--nbin='+nbins, '--obs-time='+duration] + execfile('top_block.py') + os.rename('observation.dat', str(q)+'.dat') + + q = q+1 + print('\n\033[1;33;48m+=================================================================+') + print('\033[1;33;48m| \033[1;32;48mMeasurement finished!\033[1;33;48m |') + print('\033[1;33;48m+=================================================================+\n') + + f_center = str(fmin) + sys.argv = ['rfi_plotter.py', 'freq='+f_center, 'samp_rate='+bandwidth, 'nchan='+channels, 'nbin='+nbins, 'n='+str(q), 'dur='+duration, 'fminimum='+str(fmin), 'fmaximum='+str(fmax)] + execfile('rfi_plotter.py') + + print('\033[1;32;48mYour data has been saved as \033[1;36;48mrfi_plot.png\033[1;32;48m.') +else: + print('\n\033[1;31;48m[!] Exiting...\n')