Coverage for pesummary/core/file/formats/dat.py: 100.0%
13 statements
« prev ^ index » next coverage.py v7.4.4, created at 2024-12-09 22:34 +0000
« prev ^ index » next coverage.py v7.4.4, created at 2024-12-09 22:34 +0000
1# Licensed under an MIT style license -- see LICENSE.md
3import numpy as np
4from pesummary import conf
5from pesummary.utils.utils import check_filename
7__author__ = ["Charlie Hoy <charlie.hoy@ligo.org>"]
10def read_dat(path, delimiter=None):
11 """Grab the parameters and samples in a .dat file
13 Parameters
14 ----------
15 path: str
16 path to the result file you wish to read in
17 """
18 from .numpy import genfromtxt
19 return genfromtxt(path, delimiter=delimiter, names=True)
22def _write_dat(
23 parameters, samples, outdir="./", label=None, filename=None, overwrite=False,
24 delimiter=conf.delimiter, default_filename="pesummary_{}.dat", **kwargs
25):
26 """Write a set of samples to a dat file
28 Parameters
29 ----------
30 parameters: list
31 list of parameters
32 samples: 2d list
33 list of samples. Columns correspond to a given parameter
34 outdir: str, optional
35 directory to write the dat file
36 label: str, optional
37 The label of the analysis. This is used in the filename if a filename
38 if not specified
39 filename: str, optional
40 The name of the file that you wish to write
41 overwrite: Bool, optional
42 If True, an existing file of the same name will be overwritten
43 delimiter: str, optional
44 The delimiter you wish to use for the dat file
45 """
46 filename = check_filename(
47 default_filename=default_filename, outdir=outdir, label=label,
48 filename=filename, overwrite=overwrite
49 )
50 np.savetxt(
51 filename, samples, delimiter=delimiter, header=delimiter.join(parameters),
52 comments=''
53 )
56def write_dat(
57 parameters, samples, outdir="./", label=None, filename=None, overwrite=False,
58 delimiter=conf.delimiter, **kwargs
59):
60 """Write a set of samples to a dat file
62 Parameters
63 ----------
64 parameters: nd list
65 list of parameters
66 samples: nd list
67 list of samples. Columns correspond to a given parameter
68 outdir: str, optional
69 directory to write the dat file
70 label: str, optional
71 The label of the analysis. This is used in the filename if a filename
72 if not specified
73 filename: str, optional
74 The name of the file that you wish to write
75 overwrite: Bool, optional
76 If True, an existing file of the same name will be overwritten
77 delimiter: str, optional
78 The delimiter you wish to use for the dat file
79 """
80 from pesummary.io.write import _multi_analysis_write
82 _multi_analysis_write(
83 _write_dat, parameters, samples, outdir=outdir, label=label,
84 filename=filename, overwrite=overwrite, delimiter=delimiter,
85 file_format="dat", **kwargs
86 )