Description
This package provides the tools to estimate the confusion noise PSD generated by galactic binaries. Starting from a source catalog of the binaries, it generates waveforms using the FastGB code. Then, the confusion is estimated through an iterative subtraction process of the loudest sources. The outputs are: a set of resolved binaries, the resiual confusion noise PSD, and the parameters of the run.
The following settings can be modified if needed:
- TDI generation 1.5 or 2.0 (default: 1.5)
- Time of observation (default: 4 years)
- LISA sampling time (default: 5 seconds)
- SNR threshold (default: 7)
- Median filter size for PSD smoothing (default: 2000)
- Instrumental noise (default: TDI A/E channel)
- Distance cut (default: None)
During the pre-processing of the catalog (waveform generation step), there is the possibility to apply a pre-exclusion of weak sources, based on an approximate SNR calculation. This is done through the argument snr_preselection (default: 0.001). It is recommended to use a pre-selection SNR not higher than 0.001, to avoid excluding possibly resolvable sources. Pre-excluded sources will be skipped during the waveform generation, and their contribution to the noise automatically added to the PSD.
Installation
Run
pip install GBconfusion
Usage
Step 1: Pre-process binary catalog
python -m GBconfusion.preprocess_catalog --filepath --output --T_obs --delta_t --tdi --snr_preselection --batch_size --keys
Step 2: Load the processed data
from GBconfusion import load_waveforms
data = load_waveform(output_filepath, distance_cut=None)
Step 3: Setup the data for the iteration and run it
from GBconfusion import setup, run_iterative_separation
from GBconfusion import optimal_snr_AE
from GBconfusion import noise_psd_AE
snr_threshold = 7
tdi = 2.0
T_obs = data['T_obs']
filter_size = 2000
max_iterations = 50
results_filename = 'results_filename'
state = setup(data, snr_calculator = lambda source:optimal_snr_AE(source["A"], source["E"], source["psd_total"], T_obs=T_obs),
psd_instrumental=noise_psd_AE,
snr_threshold=snr_threshold,
tdi = tdi,
filter_size=filter_size)
results = run_iterative_separation(state,
max_iterations=max_iterations,
filter_size=filter_size,
print_progress=True,
plot= False,
save_results=False,
output_file= results_filename)
resolved_sources = results["data"]["resolved_table"]
freqs = results["data"]["global_fr"]
psd_final = list(results["data"]["psd_iter"].values())[-1]
Optional: Load results from hdf5 file if save_results = True
from GBconfusion.load_run import load_run
results = load_run(results_filepath)
Release files for GBconfusion 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gbconfusion-0.1.1.tar.gz | 18.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gbconfusion-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.6 kB
Release files / gbconfusion-0.1.1.tar.gz
| Download URL | gbconfusion-0.1.1.tar.gz |
|---|---|
| Size | 18.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a39951305cfd91273dc3c901557572f9ddbd4656b4789e383fadcd5c38a1e001
|
|
BLAKE2b-256 checksum How to use checksums |
309fbda68d057e7655e172d5af4ed17347ded7f23ea38146a5ac7cd42abd0567
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|
Release files / gbconfusion-0.1.1-py3-none-any.whl
| Download URL | gbconfusion-0.1.1-py3-none-any.whl |
|---|---|
| Size | 22.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
91ce4378d396f92e1ff53d9a011029b6a6caa696f6a7ea7e015693679632a64b
|
|
BLAKE2b-256 checksum How to use checksums |
ef55948a36f62c8c1f074d5ce167a13493fc255a2338c70c0b04d5e5c0246abe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|