From 48d1f2783a98cf71846ccd371aa0bbc9aee62981 Mon Sep 17 00:00:00 2001
From: Gregory Ashton <gregory.ashton@ligo.org>
Date: Tue, 1 Aug 2017 15:22:10 +0200
Subject: [PATCH] Add function to read in SFT files to array

---
 pyfstat/helper_functions.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/pyfstat/helper_functions.py b/pyfstat/helper_functions.py
index fbb3147..c78ef6b 100644
--- a/pyfstat/helper_functions.py
+++ b/pyfstat/helper_functions.py
@@ -209,3 +209,21 @@ def convert_array_to_gsl_matrix(array):
     gsl_matrix =  lal.gsl_matrix(*array.shape)
     gsl_matrix.data = array
     return gsl_matrix
+
+
+def get_sft_array(sftfilepattern, data_duration, F0, dF0):
+    """ Return the raw data from a set of sfts """
+
+    SFTCatalog = lalpulsar.SFTdataFind(
+        sftfilepattern, lalpulsar.SFTConstraints())
+    MultiSFTs = lalpulsar.LoadMultiSFTs(SFTCatalog, F0-dF0, F0+dF0)
+    SFTs = MultiSFTs.data[0]
+    data = []
+    for sft in SFTs.data:
+        data.append(np.abs(sft.data.data))
+    data = np.array(data).T
+    n, nsfts = data.shape
+    freqs = np.linspace(sft.f0, sft.f0+n*sft.deltaF, n)
+    times = np.linspace(0, data_duration, nsfts)
+
+    return times, freqs, data
-- 
GitLab