Skip to content
Snippets Groups Projects
Commit 793e1f4e authored by Gregory Ashton's avatar Gregory Ashton
Browse files

Merge branch 'printAtoms' into 'master'

writer function for atoms (TransientGridSearch)

See merge request GregAshton/PyFstat!14
parents d952cd3e f8f2b07e
Branches
Tags
No related merge requests found
...@@ -907,6 +907,18 @@ class ComputeFstat(BaseSearchClass): ...@@ -907,6 +907,18 @@ class ComputeFstat(BaseSearchClass):
else: else:
return ax return ax
def write_atoms_to_file(self, fnamebase=''):
multiFatoms = getattr(self.FstatResults, 'multiFatoms', None)
if multiFatoms and multiFatoms[0]:
dopplerName = lalpulsar.PulsarDopplerParams2String ( self.PulsarDopplerParams )
#fnameAtoms = os.path.join(self.outdir,'Fstatatoms_%s.dat' % dopplerName)
fnameAtoms = fnamebase + '_Fstatatoms_%s.dat' % dopplerName
fo = lal.FileOpen(fnameAtoms, 'w')
lalpulsar.write_MultiFstatAtoms_to_fp ( fo, multiFatoms[0] )
del fo # instead of lal.FileClose() which is not SWIG-exported
else:
raise RuntimeError('Cannot print atoms vector to file: no FstatResults.multiFatoms, or it is None!')
class SemiCoherentSearch(ComputeFstat): class SemiCoherentSearch(ComputeFstat):
""" A semi-coherent search """ """ A semi-coherent search """
......
...@@ -354,7 +354,8 @@ class TransientGridSearch(GridSearch): ...@@ -354,7 +354,8 @@ class TransientGridSearch(GridSearch):
input_arrays=False, assumeSqrtSX=None, input_arrays=False, assumeSqrtSX=None,
transientWindowType=None, t0Band=None, tauBand=None, transientWindowType=None, t0Band=None, tauBand=None,
dt0=None, dtau=None, dt0=None, dtau=None,
outputTransientFstatMap=False): outputTransientFstatMap=False,
outputAtoms=False):
""" """
Parameters Parameters
---------- ----------
...@@ -442,6 +443,8 @@ class TransientGridSearch(GridSearch): ...@@ -442,6 +443,8 @@ class TransientGridSearch(GridSearch):
thisCand += [windowRange.t0+maxidx[0]*windowRange.dt0, thisCand += [windowRange.t0+maxidx[0]*windowRange.dt0,
windowRange.tau+maxidx[1]*windowRange.dtau] windowRange.tau+maxidx[1]*windowRange.dtau]
data.append(thisCand) data.append(thisCand)
if self.outputAtoms:
self.search.write_atoms_to_file(os.path.splitext(self.out_file)[0])
data = np.array(data, dtype=np.float) data = np.array(data, dtype=np.float)
if return_data: if return_data:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment