From ea60a0471ad6c953cb2e7d756f7f1723cc8c2870 Mon Sep 17 00:00:00 2001 From: fonotec Date: Tue, 23 Oct 2018 21:46:50 +0200 Subject: [PATCH 01/19] Add additional folder and 3 examples to start with --- examples/buurpulsar/buurpulsarParam.yml | 17 +++++++++++ examples/buurpulsar/getData.sh | 4 +++ examples/buurpulsar/run.sh | 13 +++++++++ examples/huispulsar/getData.sh | 4 +++ examples/huispulsar/huispulsarParam.yml | 15 ++++++++++ examples/huispulsar/run.sh | 13 +++++++++ examples/huispulsar_chifit/chifitparam.yml | 24 ++++++++++++++++ examples/huispulsar_chifit/getData.sh | 4 +++ examples/huispulsar_chifit/run.sh | 13 +++++++++ examples/parameter_example.yml | 33 ++++++++++++++++++++++ 10 files changed, 140 insertions(+) create mode 100644 examples/buurpulsar/buurpulsarParam.yml create mode 100755 examples/buurpulsar/getData.sh create mode 100755 examples/buurpulsar/run.sh create mode 100755 examples/huispulsar/getData.sh create mode 100644 examples/huispulsar/huispulsarParam.yml create mode 100755 examples/huispulsar/run.sh create mode 100644 examples/huispulsar_chifit/chifitparam.yml create mode 100755 examples/huispulsar_chifit/getData.sh create mode 100755 examples/huispulsar_chifit/run.sh create mode 100644 examples/parameter_example.yml diff --git a/examples/buurpulsar/buurpulsarParam.yml b/examples/buurpulsar/buurpulsarParam.yml new file mode 100644 index 0000000..3664d75 --- /dev/null +++ b/examples/buurpulsar/buurpulsarParam.yml @@ -0,0 +1,17 @@ +# Information about the data file +Observation: + FileName: 'B2016+28_10-04-2018.fits.gz' + RawData: 0 # 1 for raw data, 0 for data with info + +# Folding parameters +Folding: + nbins: 500 # Number of bins for folding + nbinsdedisp: 500 # Number of bins for dedispersed profile + +# Output parameters +Output: + OutputDir: './output' + ConvertRaw: 1 # if raw convert to fits + + + diff --git a/examples/buurpulsar/getData.sh b/examples/buurpulsar/getData.sh new file mode 100755 index 0000000..d68da7d --- /dev/null +++ b/examples/buurpulsar/getData.sh @@ -0,0 +1,4 @@ +#!/bin/bash +wget www.astro.rug.nl/~camras/data/CAMRAS/obs-10-04-2018/B2016+28_10-04-2018.fits.gz + + diff --git a/examples/buurpulsar/run.sh b/examples/buurpulsar/run.sh new file mode 100755 index 0000000..41baa51 --- /dev/null +++ b/examples/buurpulsar/run.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Download the observation data if it is not present +if [ ! -e B2016+28_10-04-2018.fits.gz ] +then + echo "Dowloading the observation data" + ./getData.sh +fi + +# Run PSF +echo "Run PSF" +../../main.py buurpulsarParam.yml + diff --git a/examples/huispulsar/getData.sh b/examples/huispulsar/getData.sh new file mode 100755 index 0000000..bb1f15f --- /dev/null +++ b/examples/huispulsar/getData.sh @@ -0,0 +1,4 @@ +#!/bin/bash +wget www.astro.rug.nl/~camras/data/obs-10-04-2018/B0329+54_10-04-2018.fits.gz + + diff --git a/examples/huispulsar/huispulsarParam.yml b/examples/huispulsar/huispulsarParam.yml new file mode 100644 index 0000000..1cbca5e --- /dev/null +++ b/examples/huispulsar/huispulsarParam.yml @@ -0,0 +1,15 @@ +# Information about the data file +Observation: + FileName: 'B0329+54_10-04-2018.fits.gz' + RawData: 0 # 1 for raw data, 0 for data with info + +# Folding parameters +Folding: + nbins: 500 # Number of bins for folding + nbinsdedisp: 500 # Number of bins for dedispersed profile + +# Output parameters +Output: + OutputDir: './output' + ConvertRaw: 1 # if raw convert to fits + diff --git a/examples/huispulsar/run.sh b/examples/huispulsar/run.sh new file mode 100755 index 0000000..009c399 --- /dev/null +++ b/examples/huispulsar/run.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Download the observation data if it is not present +if [ ! -e B0329+54_10-04-2018.fits.gz ] +then + echo "Dowloading the observation data" + ./getData.sh +fi + +# Run PSF +echo "Run PSF" +../../main.py huispulsarParam.yml + diff --git a/examples/huispulsar_chifit/chifitparam.yml b/examples/huispulsar_chifit/chifitparam.yml new file mode 100644 index 0000000..342e6fd --- /dev/null +++ b/examples/huispulsar_chifit/chifitparam.yml @@ -0,0 +1,24 @@ +# Information about the data file +Observation: + FileName: 'B0329+54_10-04-2018.fits.gz' + RawData: 0 # 1 for raw data, 0 for data with info + +# Folding parameters +Folding: + nbins: 500 # Number of bins for folding + nbinsdedisp: 500 # Number of bins for dedispersed profile + +# Output parameters +Output: + OutputDir: './output' + ConvertRaw: 1 # if raw convert to fits + +# Chifit parameters +ChiFit: + Plow: 0.70 # lower bound period + Phigh: 0.75 # higher bound period + Ntries: 1000 # Ntries + FitFunc: 'Lorentzian' # Fit function Lorentzian or a absolute exponential + + + diff --git a/examples/huispulsar_chifit/getData.sh b/examples/huispulsar_chifit/getData.sh new file mode 100755 index 0000000..6175e6c --- /dev/null +++ b/examples/huispulsar_chifit/getData.sh @@ -0,0 +1,4 @@ +#!/bin/bash +wget www.astro.rug.nl/~camras/data/obs-10-04-2018/B0329+54_10-04-2018.fits.gz + + diff --git a/examples/huispulsar_chifit/run.sh b/examples/huispulsar_chifit/run.sh new file mode 100755 index 0000000..009c399 --- /dev/null +++ b/examples/huispulsar_chifit/run.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Download the observation data if it is not present +if [ ! -e B0329+54_10-04-2018.fits.gz ] +then + echo "Dowloading the observation data" + ./getData.sh +fi + +# Run PSF +echo "Run PSF" +../../main.py huispulsarParam.yml + diff --git a/examples/parameter_example.yml b/examples/parameter_example.yml new file mode 100644 index 0000000..c5b89d7 --- /dev/null +++ b/examples/parameter_example.yml @@ -0,0 +1,33 @@ +# Information about the data file +Observation: + FileName: 'huispulsar.fits' + RawData: 0 # 1 for raw data, 0 for data with info + FileExtension: '.fits' # optional + ObsDate: '13-11-2018' # optional only for raw data + ObsTime: '14:13' # optional only for raw data + PulsarName: 'B0329+54' # optional only for raw data + CentreFreq: 405 # optional only for raw data, in MHz. + +# Folding parameters +Folding: + nbins: 500 # Number of bins for folding + nbinsdedisp: 500 # Number of bins for dedispersed profile + +# Output parameters +Output: + OutputDir: './output' + ConvertRaw: 1 # if raw convert to fits + +# Chifit parameters +ChiFit: + Plow: 0.70 # lower bound period + Phigh: 0.75 # higher bound period + Ntries: 1000 # Ntries + FitFunc: 'Lorentzian' # Fit function Lorentzian or a absolute exponential + +# RFI removal scheme +GrasMaaier: + STDCut: 5 # from which amount of STD do we cut + Meantype: 'rolling' # type of mean, rolling mean best mean + + From c609140de408a74a81a827273b1aaaf9e991473f Mon Sep 17 00:00:00 2001 From: fonotec Date: Tue, 23 Oct 2018 22:21:48 +0200 Subject: [PATCH 02/19] Adding filterbank examples --- .gitignore | 1 + examples/B1133+16_filterbank/getData.sh | 6 ++++++ .../huispulsarFilterbankParam.yml | 17 +++++++++++++++++ examples/B1133+16_filterbank/run.sh | 13 +++++++++++++ examples/huispulsar_filterbank/getData.sh | 5 +++++ .../huispulsarFilterbankParam.yml | 17 +++++++++++++++++ examples/huispulsar_filterbank/run.sh | 13 +++++++++++++ 7 files changed, 72 insertions(+) create mode 100755 examples/B1133+16_filterbank/getData.sh create mode 100644 examples/B1133+16_filterbank/huispulsarFilterbankParam.yml create mode 100755 examples/B1133+16_filterbank/run.sh create mode 100755 examples/huispulsar_filterbank/getData.sh create mode 100644 examples/huispulsar_filterbank/huispulsarFilterbankParam.yml create mode 100755 examples/huispulsar_filterbank/run.sh diff --git a/.gitignore b/.gitignore index d50bf0c..cb88b5c 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ __pycache__/ # Data files *.dat *.fits +*.fits.gz diff --git a/examples/B1133+16_filterbank/getData.sh b/examples/B1133+16_filterbank/getData.sh new file mode 100755 index 0000000..851ab3e --- /dev/null +++ b/examples/B1133+16_filterbank/getData.sh @@ -0,0 +1,6 @@ +#!/bin/bash +wget https://charon.camras.nl/public/pulsars/2018-01-19-21%3A16%3A50_B1133+16.txt + +wget https://charon.camras.nl/public/pulsars/2018-01-19-21%3A16%3A50_B1133+16.fil + + diff --git a/examples/B1133+16_filterbank/huispulsarFilterbankParam.yml b/examples/B1133+16_filterbank/huispulsarFilterbankParam.yml new file mode 100644 index 0000000..144e987 --- /dev/null +++ b/examples/B1133+16_filterbank/huispulsarFilterbankParam.yml @@ -0,0 +1,17 @@ +# Information about the data file +Observation: + FileName: 'huispulsar.fits' + RawData: 0 # 1 for raw data, 0 for data with info + +# Folding parameters +Folding: + nbins: 500 # Number of bins for folding + nbinsdedisp: 500 # Number of bins for dedispersed profile + +# Output parameters +Output: + OutputDir: './output' + ConvertRaw: 1 # if raw convert to fits + + + diff --git a/examples/B1133+16_filterbank/run.sh b/examples/B1133+16_filterbank/run.sh new file mode 100755 index 0000000..f2a4e39 --- /dev/null +++ b/examples/B1133+16_filterbank/run.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Download the observation data if it is not present +if [ ! -e 2018-01-19-21%3A16%3A50_B1133+16.txt ] +then + echo "Dowloading the observation data" + ./getData.sh +fi + +# Run PSF +echo "Run PSF" +../../main.py huispulsarFilterbankParam.yml + diff --git a/examples/huispulsar_filterbank/getData.sh b/examples/huispulsar_filterbank/getData.sh new file mode 100755 index 0000000..590cbd7 --- /dev/null +++ b/examples/huispulsar_filterbank/getData.sh @@ -0,0 +1,5 @@ +#!/bin/bash +wget https://charon.camras.nl/public/pulsars/2017-09-20-07%3A05%3A00_B0329+54.txt + +wget https://charon.camras.nl/public/pulsars/2017-09-20-07%3A05%3A00_B0329+54.fil + diff --git a/examples/huispulsar_filterbank/huispulsarFilterbankParam.yml b/examples/huispulsar_filterbank/huispulsarFilterbankParam.yml new file mode 100644 index 0000000..144e987 --- /dev/null +++ b/examples/huispulsar_filterbank/huispulsarFilterbankParam.yml @@ -0,0 +1,17 @@ +# Information about the data file +Observation: + FileName: 'huispulsar.fits' + RawData: 0 # 1 for raw data, 0 for data with info + +# Folding parameters +Folding: + nbins: 500 # Number of bins for folding + nbinsdedisp: 500 # Number of bins for dedispersed profile + +# Output parameters +Output: + OutputDir: './output' + ConvertRaw: 1 # if raw convert to fits + + + diff --git a/examples/huispulsar_filterbank/run.sh b/examples/huispulsar_filterbank/run.sh new file mode 100755 index 0000000..39c9296 --- /dev/null +++ b/examples/huispulsar_filterbank/run.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Download the observation data if it is not present +if [ ! -e 2017-09-20-07%3A05%3A00_B0329+54.fil ] +then + echo "Dowloading the observation data" + ./getData.sh +fi + +# Run PSF +echo "Run PSF" +../../main.py huispulsarFilterbankParam.yml + From 0d4785e0578f2b0e0aadcc3494bb5ec072ab2b44 Mon Sep 17 00:00:00 2001 From: fonotec Date: Tue, 23 Oct 2018 22:29:47 +0200 Subject: [PATCH 03/19] Add an example for the raw data --- .../buurpulsar_raw/buurpulsarRawParam.yml | 22 +++++++++++++++++++ examples/buurpulsar_raw/getData.sh | 3 +++ examples/buurpulsar_raw/run.sh | 13 +++++++++++ 3 files changed, 38 insertions(+) create mode 100644 examples/buurpulsar_raw/buurpulsarRawParam.yml create mode 100755 examples/buurpulsar_raw/getData.sh create mode 100755 examples/buurpulsar_raw/run.sh diff --git a/examples/buurpulsar_raw/buurpulsarRawParam.yml b/examples/buurpulsar_raw/buurpulsarRawParam.yml new file mode 100644 index 0000000..82c1842 --- /dev/null +++ b/examples/buurpulsar_raw/buurpulsarRawParam.yml @@ -0,0 +1,22 @@ +# Information about the data file +Observation: + FileName: 'huispulsar.fits' + RawData: 1 # 1 for raw data, 0 for data with info + FileExtension: '.fits' # optional + ObsDate: '30-12-2017' # optional only for raw data + ObsTime: '14:13' # optional only for raw data + PulsarName: 'B2016+28' # optional only for raw data + CentreFreq: 406 # optional only for raw data, in MHz. + +# Folding parameters +Folding: + nbins: 500 # Number of bins for folding + nbinsdedisp: 500 # Number of bins for dedispersed profile + +# Output parameters +Output: + OutputDir: './output' + ConvertRaw: 1 # if raw convert to fits + + + diff --git a/examples/buurpulsar_raw/getData.sh b/examples/buurpulsar_raw/getData.sh new file mode 100755 index 0000000..96da728 --- /dev/null +++ b/examples/buurpulsar_raw/getData.sh @@ -0,0 +1,3 @@ +#!/bin/bash +wget www.astro.rug.nl/~camras/data/obs-2017-12-30-psf/DT-2017-12-30/B2016+28_406MHz_2017-12-30.raw + diff --git a/examples/buurpulsar_raw/run.sh b/examples/buurpulsar_raw/run.sh new file mode 100755 index 0000000..60b6a28 --- /dev/null +++ b/examples/buurpulsar_raw/run.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Download the observation data if it is not present +if [ ! -e B2016+28_406MHz_2017-12-30.raw ] +then + echo "Dowloading the observation data" + ./getData.sh +fi + +# Run PSF +echo "Run PSF" +../../main.py buurpulsarRawParam.yml + From 3e23d9427274df0375fdf183ccbd0160b515ac6f Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sat, 27 Oct 2018 21:35:44 +0200 Subject: [PATCH 04/19] Make the buurpulsar and huispulsar example working and add structure such that PSF can be run as ../../main.py --- examples/buurpulsar/buurpulsarParam.yml | 12 ++++++------ examples/buurpulsar/run.sh | 2 +- examples/huispulsar/huispulsarParam.yml | 12 +++++++----- examples/huispulsar/run.sh | 2 +- paramObj.py | 4 ++-- pulsarsObjects.py | 2 +- 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/examples/buurpulsar/buurpulsarParam.yml b/examples/buurpulsar/buurpulsarParam.yml index 3664d75..8a1b194 100644 --- a/examples/buurpulsar/buurpulsarParam.yml +++ b/examples/buurpulsar/buurpulsarParam.yml @@ -1,7 +1,6 @@ -# Information about the data file -Observation: - FileName: 'B2016+28_10-04-2018.fits.gz' - RawData: 0 # 1 for raw data, 0 for data with info +# Information about the data file + +FileName: 'B2016+28_10-04-2018.fits.gz' # Folding parameters Folding: @@ -11,7 +10,8 @@ Folding: # Output parameters Output: OutputDir: './output' - ConvertRaw: 1 # if raw convert to fits - + SavePlots: true +ChiFit: false +GrasMaaier: {} diff --git a/examples/buurpulsar/run.sh b/examples/buurpulsar/run.sh index 41baa51..44a7880 100755 --- a/examples/buurpulsar/run.sh +++ b/examples/buurpulsar/run.sh @@ -9,5 +9,5 @@ fi # Run PSF echo "Run PSF" -../../main.py buurpulsarParam.yml +python3 ../../main.py buurpulsarParam.yml diff --git a/examples/huispulsar/huispulsarParam.yml b/examples/huispulsar/huispulsarParam.yml index 1cbca5e..71a61a7 100644 --- a/examples/huispulsar/huispulsarParam.yml +++ b/examples/huispulsar/huispulsarParam.yml @@ -1,7 +1,6 @@ # Information about the data file -Observation: - FileName: 'B0329+54_10-04-2018.fits.gz' - RawData: 0 # 1 for raw data, 0 for data with info + +FileName: 'B0329+54_10-04-2018.fits.gz' # Folding parameters Folding: @@ -11,5 +10,8 @@ Folding: # Output parameters Output: OutputDir: './output' - ConvertRaw: 1 # if raw convert to fits - + SavePlots: true + +ChiFit: false + +GrasMaaier: {} diff --git a/examples/huispulsar/run.sh b/examples/huispulsar/run.sh index 009c399..719a136 100755 --- a/examples/huispulsar/run.sh +++ b/examples/huispulsar/run.sh @@ -9,5 +9,5 @@ fi # Run PSF echo "Run PSF" -../../main.py huispulsarParam.yml +python3 ../../main.py huispulsarParam.yml diff --git a/paramObj.py b/paramObj.py index 215dad1..dee9571 100644 --- a/paramObj.py +++ b/paramObj.py @@ -47,12 +47,12 @@ class Config(AttrDict): # These values have been replaced with defaults if the user did not input them # The actual user input is still available from param.usercfg. """ - def __init__(self,paramyml, defaults='defaults.yml'): + def __init__(self,paramyml, defaults='./../../defaults.yml'): yaml=YAML(typ='safe') with open(paramyml,'r') as ymlfile: cfg = yaml.load(ymlfile) - with open('defaults.yml','r') as ymlfile: + with open('./../../defaults.yml','r') as ymlfile: defaults = yaml.load(ymlfile) usercfg = deepcopy(cfg) diff --git a/pulsarsObjects.py b/pulsarsObjects.py index f937bd0..8ba32a9 100755 --- a/pulsarsObjects.py +++ b/pulsarsObjects.py @@ -5,7 +5,7 @@ import barcen # Loading the data -def load_pulsar_data(pulsar_name, pulsarcat_file='small-data-files/pulsarcat.csv'): +def load_pulsar_data(pulsar_name, pulsarcat_file='./../../small-data-files/pulsarcat.csv'): # read the data of the pulsar database pulsardata = np.genfromtxt(pulsarcat_file, delimiter=",", dtype=None, names=True, missing_values="*") # Find the index of the correct pulsar From d389cb1cf318a2ce2dfdc79b469f647bcd5ef2ea Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sat, 27 Oct 2018 21:55:53 +0200 Subject: [PATCH 05/19] Adding updated buurpulsar raw file example --- .../buurpulsar_raw/buurpulsarRawParam.yml | 27 ++++++++++--------- examples/buurpulsar_raw/run.sh | 2 +- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/examples/buurpulsar_raw/buurpulsarRawParam.yml b/examples/buurpulsar_raw/buurpulsarRawParam.yml index 82c1842..9026269 100644 --- a/examples/buurpulsar_raw/buurpulsarRawParam.yml +++ b/examples/buurpulsar_raw/buurpulsarRawParam.yml @@ -1,22 +1,23 @@ -# Information about the data file -Observation: - FileName: 'huispulsar.fits' - RawData: 1 # 1 for raw data, 0 for data with info - FileExtension: '.fits' # optional - ObsDate: '30-12-2017' # optional only for raw data - ObsTime: '14:13' # optional only for raw data - PulsarName: 'B2016+28' # optional only for raw data - CentreFreq: 406 # optional only for raw data, in MHz. +# Information about the data file + +FileName: 'B2016+28_406MHz_2017-12-30.raw' +RawData: true +FileFormat: 'raw' +ObsMetaData: + ObsDate: '2017-12-30T12:30:00(UTC)' + PulsarName: 'B2016+28' + MixFreq: 406 # Folding parameters Folding: - nbins: 500 # Number of bins for folding - nbinsdedisp: 500 # Number of bins for dedispersed profile + nbins: 200 # Number of bins for folding + nbinsdedisp: 200 # Number of bins for dedispersed profile # Output parameters Output: OutputDir: './output' - ConvertRaw: 1 # if raw convert to fits - + SavePlots: true +ChiFit: false +GrasMaaier: {} diff --git a/examples/buurpulsar_raw/run.sh b/examples/buurpulsar_raw/run.sh index 60b6a28..44c8346 100755 --- a/examples/buurpulsar_raw/run.sh +++ b/examples/buurpulsar_raw/run.sh @@ -9,5 +9,5 @@ fi # Run PSF echo "Run PSF" -../../main.py buurpulsarRawParam.yml +python3 ../../main.py buurpulsarRawParam.yml From 7ce305129fc2d442e3063b0a5bf7ca9dfdca0693 Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sat, 27 Oct 2018 22:15:08 +0200 Subject: [PATCH 06/19] Add the suggestion of Ewoud --- paramObj.py | 3 ++- pulsarsObjects.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/paramObj.py b/paramObj.py index dee9571..f701036 100644 --- a/paramObj.py +++ b/paramObj.py @@ -2,6 +2,7 @@ import numpy as np from ruamel.yaml import YAML from copy import deepcopy +from pathlib import Path # https://stackoverflow.com/questions/36831998/how-to-fill-default-parameters-in-yaml-file-using-python def setdefault_recursively(tgt, default): @@ -52,7 +53,7 @@ def __init__(self,paramyml, defaults='./../../defaults.yml'): with open(paramyml,'r') as ymlfile: cfg = yaml.load(ymlfile) - with open('./../../defaults.yml','r') as ymlfile: + with open(Path(__file__).parent/'defaults.yml','r') as ymlfile: defaults = yaml.load(ymlfile) usercfg = deepcopy(cfg) diff --git a/pulsarsObjects.py b/pulsarsObjects.py index 8ba32a9..09575a9 100755 --- a/pulsarsObjects.py +++ b/pulsarsObjects.py @@ -3,9 +3,10 @@ from astropy.time import Time from astropy import units as u import barcen +from pathlib import Path # Loading the data -def load_pulsar_data(pulsar_name, pulsarcat_file='./../../small-data-files/pulsarcat.csv'): +def load_pulsar_data(pulsar_name, pulsarcat_file=Path(__file__).parent/'small-data-files/pulsarcat.csv'): # read the data of the pulsar database pulsardata = np.genfromtxt(pulsarcat_file, delimiter=",", dtype=None, names=True, missing_values="*") # Find the index of the correct pulsar From ed7b0d56ab8f5fca04dbbdd8792684ecabd792d7 Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sat, 27 Oct 2018 23:32:40 +0200 Subject: [PATCH 07/19] Make the run.sh files suitable to run on a module system (e.g. Kapteyn Institute) and a python and python3 system (e.g. Leiden Observatory) --- ...rFilterbankParam.yml => B1133+16param.yml} | 12 +++++----- examples/B1133+16_filterbank/run.sh | 7 ++++-- examples/buurpulsar/run.sh | 6 ++++- examples/buurpulsar_raw/run.sh | 6 ++++- examples/huispulsar/run.sh | 6 ++++- examples/huispulsar_chifit/chifitparam.yml | 24 +++++++++---------- examples/huispulsar_chifit/run.sh | 7 ++++-- .../huispulsarFilterbankParam.yml | 12 +++++----- examples/huispulsar_filterbank/run.sh | 6 ++++- 9 files changed, 53 insertions(+), 33 deletions(-) rename examples/B1133+16_filterbank/{huispulsarFilterbankParam.yml => B1133+16param.yml} (50%) diff --git a/examples/B1133+16_filterbank/huispulsarFilterbankParam.yml b/examples/B1133+16_filterbank/B1133+16param.yml similarity index 50% rename from examples/B1133+16_filterbank/huispulsarFilterbankParam.yml rename to examples/B1133+16_filterbank/B1133+16param.yml index 144e987..7d6af1c 100644 --- a/examples/B1133+16_filterbank/huispulsarFilterbankParam.yml +++ b/examples/B1133+16_filterbank/B1133+16param.yml @@ -1,7 +1,6 @@ -# Information about the data file -Observation: - FileName: 'huispulsar.fits' - RawData: 0 # 1 for raw data, 0 for data with info +# Information about the data file + +FileName: '2018-01-19-21:16:50_B1133+16.fil' # Folding parameters Folding: @@ -11,7 +10,8 @@ Folding: # Output parameters Output: OutputDir: './output' - ConvertRaw: 1 # if raw convert to fits - + SavePlots: true +ChiFit: false +GrasMaaier: {} diff --git a/examples/B1133+16_filterbank/run.sh b/examples/B1133+16_filterbank/run.sh index f2a4e39..5f38d31 100755 --- a/examples/B1133+16_filterbank/run.sh +++ b/examples/B1133+16_filterbank/run.sh @@ -9,5 +9,8 @@ fi # Run PSF echo "Run PSF" -../../main.py huispulsarFilterbankParam.yml - +if command -v python3 &>/dev/null; then + python3 ../../main.py B1133+16param.yml +else + python ../../main.py B1133+16param.yml +fi diff --git a/examples/buurpulsar/run.sh b/examples/buurpulsar/run.sh index 44a7880..1d1452a 100755 --- a/examples/buurpulsar/run.sh +++ b/examples/buurpulsar/run.sh @@ -9,5 +9,9 @@ fi # Run PSF echo "Run PSF" -python3 ../../main.py buurpulsarParam.yml +if command -v python3 &>/dev/null; then + python3 ../../main.py buurpulsarParam.yml +else + python ../../main.py buurpulsarParam.yml +fi diff --git a/examples/buurpulsar_raw/run.sh b/examples/buurpulsar_raw/run.sh index 44c8346..72a7e52 100755 --- a/examples/buurpulsar_raw/run.sh +++ b/examples/buurpulsar_raw/run.sh @@ -9,5 +9,9 @@ fi # Run PSF echo "Run PSF" -python3 ../../main.py buurpulsarRawParam.yml +if command -v python3 &>/dev/null; then + python3 ../../main.py buurpulsarRawParam.yml +else + python ../../main.py buurpulsarRawParam.yml +fi diff --git a/examples/huispulsar/run.sh b/examples/huispulsar/run.sh index 719a136..6a5690f 100755 --- a/examples/huispulsar/run.sh +++ b/examples/huispulsar/run.sh @@ -9,5 +9,9 @@ fi # Run PSF echo "Run PSF" -python3 ../../main.py huispulsarParam.yml +if command -v python3 &>/dev/null; then + python3 ../../main.py huispulsarParam.yml +else + python ../../main.py huispulsarParam.yml +fi diff --git a/examples/huispulsar_chifit/chifitparam.yml b/examples/huispulsar_chifit/chifitparam.yml index 342e6fd..8fca7e1 100644 --- a/examples/huispulsar_chifit/chifitparam.yml +++ b/examples/huispulsar_chifit/chifitparam.yml @@ -1,7 +1,6 @@ -# Information about the data file -Observation: - FileName: 'B0329+54_10-04-2018.fits.gz' - RawData: 0 # 1 for raw data, 0 for data with info +# Information about the data file + +FileName: 'B0329+54_10-04-2018.fits.gz' # Folding parameters Folding: @@ -11,14 +10,13 @@ Folding: # Output parameters Output: OutputDir: './output' - ConvertRaw: 1 # if raw convert to fits - -# Chifit parameters -ChiFit: - Plow: 0.70 # lower bound period - Phigh: 0.75 # higher bound period - Ntries: 1000 # Ntries - FitFunc: 'Lorentzian' # Fit function Lorentzian or a absolute exponential - + SavePlots: true +ChiFit: + Ntries: 1000 + nbins_time: 1000 + nbins_freq: 1000 + trywidth: 1e-3 + FitFunc: 'Lorentzian' +GrasMaaier: {} diff --git a/examples/huispulsar_chifit/run.sh b/examples/huispulsar_chifit/run.sh index 009c399..a43074a 100755 --- a/examples/huispulsar_chifit/run.sh +++ b/examples/huispulsar_chifit/run.sh @@ -9,5 +9,8 @@ fi # Run PSF echo "Run PSF" -../../main.py huispulsarParam.yml - +if command -v python3 &>/dev/null; then + python3 ../../main.py huispulsarParam.yml +else + python ../../main.py huispulsarParam.yml +fi diff --git a/examples/huispulsar_filterbank/huispulsarFilterbankParam.yml b/examples/huispulsar_filterbank/huispulsarFilterbankParam.yml index 144e987..6b7dc11 100644 --- a/examples/huispulsar_filterbank/huispulsarFilterbankParam.yml +++ b/examples/huispulsar_filterbank/huispulsarFilterbankParam.yml @@ -1,7 +1,6 @@ -# Information about the data file -Observation: - FileName: 'huispulsar.fits' - RawData: 0 # 1 for raw data, 0 for data with info +# Information about the data file + +FileName: '2017-09-20-07:05:00_B0329+54.fil' # Folding parameters Folding: @@ -11,7 +10,8 @@ Folding: # Output parameters Output: OutputDir: './output' - ConvertRaw: 1 # if raw convert to fits - + SavePlots: true +ChiFit: false +GrasMaaier: {} diff --git a/examples/huispulsar_filterbank/run.sh b/examples/huispulsar_filterbank/run.sh index 39c9296..7c15b90 100755 --- a/examples/huispulsar_filterbank/run.sh +++ b/examples/huispulsar_filterbank/run.sh @@ -9,5 +9,9 @@ fi # Run PSF echo "Run PSF" -../../main.py huispulsarFilterbankParam.yml +if command -v python3 &>/dev/null; then + python3 ../../main.py huispulsarFilterbankParam.yml +else + python ../../main.py huispulsarFilterbankParam.yml +fi From 2777d2d17786cfd158294694437fa871f9dd8a74 Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sat, 27 Oct 2018 23:39:04 +0200 Subject: [PATCH 08/19] Add an other change as suggested by Ewoud --- paramObj.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paramObj.py b/paramObj.py index f701036..a432ace 100644 --- a/paramObj.py +++ b/paramObj.py @@ -48,7 +48,7 @@ class Config(AttrDict): # These values have been replaced with defaults if the user did not input them # The actual user input is still available from param.usercfg. """ - def __init__(self,paramyml, defaults='./../../defaults.yml'): + def __init__(self,paramyml, defaults=Path(__file__).parent/'defaults.yml'): yaml=YAML(typ='safe') with open(paramyml,'r') as ymlfile: From 0f99f9f565b74f3f4b3daabe4aa1e10312491781 Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sun, 28 Oct 2018 08:42:30 +0100 Subject: [PATCH 09/19] Add huispulsar_raw example and use better data for buurpulsar_raw --- .../buurpulsar_raw/buurpulsarRawParam.yml | 4 ++-- examples/buurpulsar_raw/getData.sh | 3 +-- examples/huispulsar_raw/getData.sh | 3 +++ examples/huispulsar_raw/huispulsarParam.yml | 24 +++++++++++++++++++ examples/huispulsar_raw/run.sh | 17 +++++++++++++ 5 files changed, 47 insertions(+), 4 deletions(-) create mode 100755 examples/huispulsar_raw/getData.sh create mode 100644 examples/huispulsar_raw/huispulsarParam.yml create mode 100755 examples/huispulsar_raw/run.sh diff --git a/examples/buurpulsar_raw/buurpulsarRawParam.yml b/examples/buurpulsar_raw/buurpulsarRawParam.yml index 9026269..9b31786 100644 --- a/examples/buurpulsar_raw/buurpulsarRawParam.yml +++ b/examples/buurpulsar_raw/buurpulsarRawParam.yml @@ -1,12 +1,12 @@ # Information about the data file -FileName: 'B2016+28_406MHz_2017-12-30.raw' +FileName: 'B2016-28_10-04-2018.dat' RawData: true FileFormat: 'raw' ObsMetaData: ObsDate: '2017-12-30T12:30:00(UTC)' PulsarName: 'B2016+28' - MixFreq: 406 + MixFreq: 405 # Folding parameters Folding: diff --git a/examples/buurpulsar_raw/getData.sh b/examples/buurpulsar_raw/getData.sh index 96da728..53e4727 100755 --- a/examples/buurpulsar_raw/getData.sh +++ b/examples/buurpulsar_raw/getData.sh @@ -1,3 +1,2 @@ #!/bin/bash -wget www.astro.rug.nl/~camras/data/obs-2017-12-30-psf/DT-2017-12-30/B2016+28_406MHz_2017-12-30.raw - +wget http://www.astro.rug.nl/~camras/data/obs-10-04-2018/B2016-28_10-04-2018.dat diff --git a/examples/huispulsar_raw/getData.sh b/examples/huispulsar_raw/getData.sh new file mode 100755 index 0000000..ad8aca9 --- /dev/null +++ b/examples/huispulsar_raw/getData.sh @@ -0,0 +1,3 @@ +#!/bin/bash +wget -O B0329+54.2016.11.18.1038.5min.dat http://www.astro.rug.nl/~camras/data/obs-18-11-2016/B0329%2054.2016.11.18.1038.5min.dat + diff --git a/examples/huispulsar_raw/huispulsarParam.yml b/examples/huispulsar_raw/huispulsarParam.yml new file mode 100644 index 0000000..c43ffa5 --- /dev/null +++ b/examples/huispulsar_raw/huispulsarParam.yml @@ -0,0 +1,24 @@ +# Information about the data file + +FileName: 'B0329+54.2016.11.18.1038.5min.dat' +RawData: true +FileFormat: 'raw' +ObsMetaData: + ObsDate: '2016-11-18:T10:38:00.00(UTC)' + PulsarName: 'B0329+54' + MixFreq: 405 + +# Folding parameters +Folding: + nbins: 500 # Number of bins for folding + nbinsdedisp: 500 # Number of bins for dedispersed profile + +# Output parameters +Output: + OutputDir: './output' + ConvertRaw: true + SavePlots: true + +ChiFit: false + +GrasMaaier: {} diff --git a/examples/huispulsar_raw/run.sh b/examples/huispulsar_raw/run.sh new file mode 100755 index 0000000..ac56e1f --- /dev/null +++ b/examples/huispulsar_raw/run.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# Download the observation data if it is not present +if [ ! -e B0329+54.2016.11.18.1038.5min.dat ] +then + echo "Dowloading the observation data" + ./getData.sh +fi + +# Run PSF +echo "Run PSF" +if command -v python3 &>/dev/null; then + python3 ../../main.py huispulsarParam.yml +else + python ../../main.py huispulsarParam.yml +fi + From e15e2a886279a45d1409d0e015dfd7f0e0fed134 Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sun, 28 Oct 2018 08:56:13 +0100 Subject: [PATCH 10/19] change name of downloaded file such that it doesnot has a space --- examples/huispulsar_raw/huispulsarParam.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/huispulsar_raw/huispulsarParam.yml b/examples/huispulsar_raw/huispulsarParam.yml index c43ffa5..15b1271 100644 --- a/examples/huispulsar_raw/huispulsarParam.yml +++ b/examples/huispulsar_raw/huispulsarParam.yml @@ -3,8 +3,8 @@ FileName: 'B0329+54.2016.11.18.1038.5min.dat' RawData: true FileFormat: 'raw' -ObsMetaData: - ObsDate: '2016-11-18:T10:38:00.00(UTC)' +ObsMetaData: + ObsDate: '2016-11-18:T10:38:00(UTC)' PulsarName: 'B0329+54' MixFreq: 405 @@ -16,7 +16,6 @@ Folding: # Output parameters Output: OutputDir: './output' - ConvertRaw: true SavePlots: true ChiFit: false From 5f43fa23fb03978e9a95104afb70e933e9c434cd Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sun, 28 Oct 2018 09:06:10 +0100 Subject: [PATCH 11/19] change run.sh for filterbank format --- examples/huispulsar_filterbank/run.sh | 2 +- examples/huispulsar_raw/huispulsarParam.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/huispulsar_filterbank/run.sh b/examples/huispulsar_filterbank/run.sh index 7c15b90..249bfff 100755 --- a/examples/huispulsar_filterbank/run.sh +++ b/examples/huispulsar_filterbank/run.sh @@ -1,7 +1,7 @@ #!/bin/bash # Download the observation data if it is not present -if [ ! -e 2017-09-20-07%3A05%3A00_B0329+54.fil ] +if [ ! -e 2017-09-20-07:05:00_B0329+54.fil ] then echo "Dowloading the observation data" ./getData.sh diff --git a/examples/huispulsar_raw/huispulsarParam.yml b/examples/huispulsar_raw/huispulsarParam.yml index 15b1271..42a5b12 100644 --- a/examples/huispulsar_raw/huispulsarParam.yml +++ b/examples/huispulsar_raw/huispulsarParam.yml @@ -4,7 +4,7 @@ FileName: 'B0329+54.2016.11.18.1038.5min.dat' RawData: true FileFormat: 'raw' ObsMetaData: - ObsDate: '2016-11-18:T10:38:00(UTC)' + ObsDate: '2016-11-18:T10:38:00.00(UTC)' PulsarName: 'B0329+54' MixFreq: 405 From fff4339473e3e8f8f41bb38460da150063517df0 Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sun, 28 Oct 2018 11:16:28 +0100 Subject: [PATCH 12/19] Add module that can read the filterbank metadata --- filterBank.py | 15 +++++++++++++++ observation.py | 10 +++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100755 filterBank.py diff --git a/filterBank.py b/filterBank.py new file mode 100755 index 0000000..0305904 --- /dev/null +++ b/filterBank.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python + +from collections import defaultdict + + +# https://stackoverflow.com/questions/28385822/reading-data-separated-by-colon-per-line-in-python +def filterBankReadMetaData(filename): + result = defaultdict(list) + with open(filename) as inf: + print(inf) + for line in inf: + name, score = line.split(":", 1) + result[name].append(score) + return result + diff --git a/observation.py b/observation.py index 81452c2..4cc2e93 100644 --- a/observation.py +++ b/observation.py @@ -5,6 +5,7 @@ from astropy import units as u from barcen import barcen_times, barcen_freqs from loadData import loader +from pathlib import Path def calc_central_freqs(mix_freq, throwhighestfreqaway=True): timevoltage = 1/(70e6) # (s), the time of each voltage measurement @@ -43,14 +44,17 @@ def __init__(self, cfg=None, fitsfile=None): self.psr_name = header['SRC_NAME'] self.obs_start_isot = header['DATE-OBS'] self.mix_freq = header['FREQMIX'] + elif fileformat.endswith('fil'): + self.using_fits = False + basename = Path(filename).stem + print(basename) + raise NotImplementedError('Filterbank supported yet!') else: self.using_fits = False self.psr_name = cfg.ObsMetaData.PulsarName self.obs_start_isot = cfg.ObsMetaData.ObsDate self.mix_freq = cfg.ObsMetaData.MixFreq - if fileformat.endswith('fil'): - raise NotImplementedError('Filterbank supported yet!') - elif fileformat.endswith('raw'): + if fileformat.endswith('raw'): assert cfg.RawData, 'Need to supply the metadata!' self.data = loader(cfg.FileName).astype(np.uint32) else: From e668b011bf9cc493c192da64338bd63adcebff47 Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sun, 28 Oct 2018 11:38:40 +0100 Subject: [PATCH 13/19] Read in the correct parameters from the filterbank header file --- filterBank.py | 4 +++- observation.py | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/filterBank.py b/filterBank.py index 0305904..4744d86 100755 --- a/filterBank.py +++ b/filterBank.py @@ -9,7 +9,9 @@ def filterBankReadMetaData(filename): with open(filename) as inf: print(inf) for line in inf: - name, score = line.split(":", 1) + name, score = line.split(": ", 1) + name = name.rstrip() + score = score.rstrip('\n') result[name].append(score) return result diff --git a/observation.py b/observation.py index 4cc2e93..4994b09 100644 --- a/observation.py +++ b/observation.py @@ -6,6 +6,7 @@ from barcen import barcen_times, barcen_freqs from loadData import loader from pathlib import Path +from filterBank import filterBankReadMetaData def calc_central_freqs(mix_freq, throwhighestfreqaway=True): timevoltage = 1/(70e6) # (s), the time of each voltage measurement @@ -48,6 +49,14 @@ def __init__(self, cfg=None, fitsfile=None): self.using_fits = False basename = Path(filename).stem print(basename) + metadata = filterBankReadMetaData(basename+'.txt') + print(metadata) + self.psr_name = metadata['Source Name'][0] + print(self.psr_name) + self.obs_start_isot = float(metadata['Time stamp of first sample (MJD)'][0]) + print(self.obs_start_isot) + self.mix_freq = float(metadata['Frequency of channel 1 (MHz)'][0]) + print(self.mix_freq) raise NotImplementedError('Filterbank supported yet!') else: self.using_fits = False From 9a305e671342d431f4273d1f0175c3b17ce3fefd Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sun, 28 Oct 2018 12:14:21 +0100 Subject: [PATCH 14/19] Fix type and clean observation.py --- examples/huispulsar_raw/huispulsarParam.yml | 2 +- observation.py | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/examples/huispulsar_raw/huispulsarParam.yml b/examples/huispulsar_raw/huispulsarParam.yml index 42a5b12..9e91834 100644 --- a/examples/huispulsar_raw/huispulsarParam.yml +++ b/examples/huispulsar_raw/huispulsarParam.yml @@ -4,7 +4,7 @@ FileName: 'B0329+54.2016.11.18.1038.5min.dat' RawData: true FileFormat: 'raw' ObsMetaData: - ObsDate: '2016-11-18:T10:38:00.00(UTC)' + ObsDate: '2016-11-18T10:38:00.00(UTC)' PulsarName: 'B0329+54' MixFreq: 405 diff --git a/observation.py b/observation.py index 4994b09..9f76038 100644 --- a/observation.py +++ b/observation.py @@ -48,15 +48,11 @@ def __init__(self, cfg=None, fitsfile=None): elif fileformat.endswith('fil'): self.using_fits = False basename = Path(filename).stem - print(basename) metadata = filterBankReadMetaData(basename+'.txt') - print(metadata) self.psr_name = metadata['Source Name'][0] - print(self.psr_name) self.obs_start_isot = float(metadata['Time stamp of first sample (MJD)'][0]) - print(self.obs_start_isot) self.mix_freq = float(metadata['Frequency of channel 1 (MHz)'][0]) - print(self.mix_freq) + self.data = loader(cfg.FileName).astype(np.uint32) raise NotImplementedError('Filterbank supported yet!') else: self.using_fits = False From 4b4b4a7170b5ce2d58ac2c7a38236bd8cf2c33b4 Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sun, 28 Oct 2018 12:31:41 +0100 Subject: [PATCH 15/19] Put the example YAML files in the example folder --- param.yml => examples/param.yml | 0 param_raw.yml => examples/param_raw.yml | 0 examples/parameter_example.yml | 33 ------------------------- 3 files changed, 33 deletions(-) rename param.yml => examples/param.yml (100%) rename param_raw.yml => examples/param_raw.yml (100%) delete mode 100644 examples/parameter_example.yml diff --git a/param.yml b/examples/param.yml similarity index 100% rename from param.yml rename to examples/param.yml diff --git a/param_raw.yml b/examples/param_raw.yml similarity index 100% rename from param_raw.yml rename to examples/param_raw.yml diff --git a/examples/parameter_example.yml b/examples/parameter_example.yml deleted file mode 100644 index c5b89d7..0000000 --- a/examples/parameter_example.yml +++ /dev/null @@ -1,33 +0,0 @@ -# Information about the data file -Observation: - FileName: 'huispulsar.fits' - RawData: 0 # 1 for raw data, 0 for data with info - FileExtension: '.fits' # optional - ObsDate: '13-11-2018' # optional only for raw data - ObsTime: '14:13' # optional only for raw data - PulsarName: 'B0329+54' # optional only for raw data - CentreFreq: 405 # optional only for raw data, in MHz. - -# Folding parameters -Folding: - nbins: 500 # Number of bins for folding - nbinsdedisp: 500 # Number of bins for dedispersed profile - -# Output parameters -Output: - OutputDir: './output' - ConvertRaw: 1 # if raw convert to fits - -# Chifit parameters -ChiFit: - Plow: 0.70 # lower bound period - Phigh: 0.75 # higher bound period - Ntries: 1000 # Ntries - FitFunc: 'Lorentzian' # Fit function Lorentzian or a absolute exponential - -# RFI removal scheme -GrasMaaier: - STDCut: 5 # from which amount of STD do we cut - Meantype: 'rolling' # type of mean, rolling mean best mean - - From 346675bc4415c43ef4526c94f5b751edaa5b42a0 Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sun, 28 Oct 2018 12:40:00 +0100 Subject: [PATCH 16/19] Add a bit of documentation --- examples/README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 examples/README.md diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..c6fd232 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,15 @@ +# Examples + +In this folder there are several examples that use the code on different datasets. If you want to run an example go to the folder of the example and run the examle by doing: + +`./run.sh` + +This will run the example, show the output and store the output in the output folder. + +## Type of examples + +Currently there are four types of examples: +1. The pulsars with normal fits data. +2. The pulsars with raw data. +3. The pulsars with filterbank files (not working). +4. The pulsars with a chifit (not working). From 955d110616c2712fc155420524cfbbb7ba0b81bf Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sun, 28 Oct 2018 15:08:55 +0100 Subject: [PATCH 17/19] Make a make file that downloads the filterbank libary of Tammo Jan --- .gitignore | 7 +++++++ filterBank.py | 6 +++++- make.sh | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100755 make.sh diff --git a/.gitignore b/.gitignore index cb88b5c..afd561a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,10 @@ __pycache__/ *.dat *.fits *.fits.gz + +# Files downloades from Tamma-Jan gitlab +filterbank.py +sigproc.py + +# Data directory on Kapteyn +data diff --git a/filterBank.py b/filterBank.py index 4744d86..74ef4d1 100755 --- a/filterBank.py +++ b/filterBank.py @@ -1,7 +1,6 @@ #!/usr/bin/env python from collections import defaultdict - # https://stackoverflow.com/questions/28385822/reading-data-separated-by-colon-per-line-in-python def filterBankReadMetaData(filename): @@ -15,3 +14,8 @@ def filterBankReadMetaData(filename): result[name].append(score) return result + + + + + diff --git a/make.sh b/make.sh new file mode 100755 index 0000000..2351068 --- /dev/null +++ b/make.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +wget https://gitlab.camras.nl/dijkema/filterbank/raw/dd05aa214fd19a1939aa7f551b6e991d9d9ab416/sigproc.py +wget https://gitlab.camras.nl/dijkema/filterbank/raw/dd05aa214fd19a1939aa7f551b6e991d9d9ab416/filterbank.py From 619674672ab5cffc249d93272e2f149fe33ad823 Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sun, 28 Oct 2018 15:56:33 +0100 Subject: [PATCH 18/19] remove make.sh and use blimpy --- .gitignore | 3 ++- make.sh | 4 ---- observation.py | 14 ++++++++------ 3 files changed, 10 insertions(+), 11 deletions(-) delete mode 100755 make.sh diff --git a/.gitignore b/.gitignore index afd561a..9199fca 100644 --- a/.gitignore +++ b/.gitignore @@ -12,9 +12,10 @@ __pycache__/ *.fits *.fits.gz -# Files downloades from Tamma-Jan gitlab +# Files downloades from Tammo-Jan gitlab filterbank.py sigproc.py +psr_constants.py # Data directory on Kapteyn data diff --git a/make.sh b/make.sh deleted file mode 100755 index 2351068..0000000 --- a/make.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -wget https://gitlab.camras.nl/dijkema/filterbank/raw/dd05aa214fd19a1939aa7f551b6e991d9d9ab416/sigproc.py -wget https://gitlab.camras.nl/dijkema/filterbank/raw/dd05aa214fd19a1939aa7f551b6e991d9d9ab416/filterbank.py diff --git a/observation.py b/observation.py index 9f76038..bdd757f 100644 --- a/observation.py +++ b/observation.py @@ -7,6 +7,7 @@ from loadData import loader from pathlib import Path from filterBank import filterBankReadMetaData +from blimpy import Waterfall def calc_central_freqs(mix_freq, throwhighestfreqaway=True): timevoltage = 1/(70e6) # (s), the time of each voltage measurement @@ -47,12 +48,13 @@ def __init__(self, cfg=None, fitsfile=None): self.mix_freq = header['FREQMIX'] elif fileformat.endswith('fil'): self.using_fits = False - basename = Path(filename).stem - metadata = filterBankReadMetaData(basename+'.txt') - self.psr_name = metadata['Source Name'][0] - self.obs_start_isot = float(metadata['Time stamp of first sample (MJD)'][0]) - self.mix_freq = float(metadata['Frequency of channel 1 (MHz)'][0]) - self.data = loader(cfg.FileName).astype(np.uint32) + obs = Waterfall(filename) + header = obs.header + self.psr_name = header[b'source_name'] + self.obs_start_isot = header[b'tstart'] + # Tammo-Jan doesn't store the mix frequency + self.mix_freq = header[b'fch1']-21.668359375 + self.data = obs.data raise NotImplementedError('Filterbank supported yet!') else: self.using_fits = False From ee1bfdf95a47b72cb1308a9d566863890b52b051 Mon Sep 17 00:00:00 2001 From: Folkert Nobels Date: Sun, 28 Oct 2018 16:10:02 +0100 Subject: [PATCH 19/19] Load the data using blimpy --- observation.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/observation.py b/observation.py index bdd757f..9676df1 100644 --- a/observation.py +++ b/observation.py @@ -55,7 +55,7 @@ def __init__(self, cfg=None, fitsfile=None): # Tammo-Jan doesn't store the mix frequency self.mix_freq = header[b'fch1']-21.668359375 self.data = obs.data - raise NotImplementedError('Filterbank supported yet!') + #raise NotImplementedError('Filterbank supported yet!') else: self.using_fits = False self.psr_name = cfg.ObsMetaData.PulsarName @@ -67,7 +67,10 @@ def __init__(self, cfg=None, fitsfile=None): else: raise ValueError('Unrecognized format') - self.obs_start = Time(self.obs_start_isot) + if fileformat.endswith('fil'): + self.obs_start = Time(self.obs_start_isot,format='jd') + else: + self.obs_start = Time(self.obs_start_isot) dt = 64*512/(70e6) self.obs_dur = len(self.data) * dt self.obs_end = self.obs_start + self.obs_dur * u.s