PycWB 0.22.1__tar.gz → 0.23.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pycwb-0.22.1 → pycwb-0.23.0}/PKG-INFO +1 -1
- {pycwb-0.22.1 → pycwb-0.23.0}/PycWB.egg-info/PKG-INFO +1 -1
- {pycwb-0.22.1 → pycwb-0.23.0}/PycWB.egg-info/SOURCES.txt +12 -2
- {pycwb-0.22.1 → pycwb-0.23.0}/bin/pycwb +14 -5
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/_version.py +2 -2
- pycwb-0.23.0/pycwb/cli/batch_runner.py +48 -0
- pycwb-0.22.1/pycwb/cli/batch.py → pycwb-0.23.0/pycwb/cli/batch_setup.py +43 -23
- pycwb-0.23.0/pycwb/cli/merge_catalog.py +18 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/cli/run.py +3 -3
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/cli/xtalk.py +1 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/config/config.py +38 -4
- pycwb-0.23.0/pycwb/constants/project_constants.py +3 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/constants/user_parameters_schema.py +19 -2
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/coherence/coherence.py +3 -0
- pycwb-0.23.0/pycwb/modules/energy_threshold/threshold.py +48 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/job_segment/job_segment.py +8 -8
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/likelihood/likelihood.py +4 -3
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/plot/cluster_statistics.py +4 -2
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/read_data/data_check.py +5 -1
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/read_data/mdc.py +81 -52
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/statistics/sigmoid_fit.py +16 -4
- pycwb-0.23.0/pycwb/modules/supercluster_naive/supercluster2.py +46 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/workflow_utils/job_setup.py +13 -2
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/xtalk/monster.py +10 -8
- pycwb-0.23.0/pycwb/modules/xtalk/xtalk_data.py +49 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/prefect_flow/tasks/builtin.py +1 -1
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/types/network_cluster.py +22 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/types/network_event.py +2 -0
- pycwb-0.23.0/pycwb/utils/parser.py +14 -0
- pycwb-0.23.0/pycwb/vendor/lib/__init__.py +0 -0
- pycwb-0.23.0/pycwb/workflow/__init__.py +0 -0
- pycwb-0.23.0/pycwb/workflow/batch.py +174 -0
- pycwb-0.23.0/pycwb/workflow/merge.py +39 -0
- pycwb-0.23.0/pycwb/workflow/run.py +23 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/workflow/subflow/postprocess_and_plots.py +47 -15
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/workflow/subflow/prepare_job_runs.py +24 -17
- pycwb-0.23.0/pycwb/workflow/subflow/process_job_segment.py +115 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/workflow/subflow/supercluster_and_likelihood.py +18 -6
- pycwb-0.22.1/pycwb/constants/project_constants.py +0 -1
- pycwb-0.22.1/pycwb/search.py +0 -275
- pycwb-0.22.1/pycwb/workflow/batch.py +0 -168
- {pycwb-0.22.1 → pycwb-0.23.0}/.gitignore +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/.gitlab-ci.yml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/LICENSE +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/MANIFEST.in +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/Makefile +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/PycWB.egg-info/dependency_links.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/PycWB.egg-info/requires.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/PycWB.egg-info/top_level.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/README.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/benchmark/README.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/benchmark/likelihood/README.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/benchmark/likelihood/generate_data_for_likelihood.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/benchmark/likelihood/performance_test_dpf.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/benchmark/likelihood/performance_test_opt_sky.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/benchmark/likelihood/user_parameters_injection.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/benchmark/supercluster/README.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/benchmark/supercluster/generate_data.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/benchmark/supercluster/generate_data_2.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/benchmark/supercluster/performance_supercluster.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/benchmark/supercluster/user_parameters_injection.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/bin/pycwb_search +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/bin/pycwb_show +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Biorthogonal.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Biorthogonal.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/CMakeLists.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Daubechies.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Daubechies.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/FourierCoefficients.icc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Haar.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Haar.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/LineFilter.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/LineFilter.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Makefile +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Meyer.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Meyer.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Symlet.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Symlet.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/SymmArray.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/SymmArray.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/SymmArraySSE.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/SymmArraySSE.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/SymmObjArray.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/SymmObjArray.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/WDM.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/WDM.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/WDMOverlap.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/WDMOverlap.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/WaveDWT.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/WaveDWT.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Wavelet.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/Wavelet.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/alm.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/build.sh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/cluster.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/cluster.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/cmake/FindHealpix.cmake +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/cmake/FindeBBH.cmake +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/cmake/install_function.cmake +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/constants.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/detector.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/detector.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/injection.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/injection.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/lossy.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/lossy.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/monster.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/monster.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/netcluster.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/netcluster.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/netevent.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/netevent.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/netpixel.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/netpixel.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/network.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/network.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/pycwb.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/rdfr.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/rdfr.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/readframe.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/readframe.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/readfrfile.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/readfrfile.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/regression.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/regression.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/skycoord.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/skymap.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/skymap.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/sseries.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/sseries.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/time.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/time.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wat.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/watasm.S +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/watasm_elf64.o +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/watavx.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/watbranch.in +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/watfun.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wathash.in +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/watplot.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/watplot.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/watsse.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wattag.in +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/waturl.in +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/watversion.hh.in +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wavearray.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wavearray.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wavecomplex.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wavecomplex.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wavecor.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wavecor.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wavefft.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wavefft.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wavelet_LinkDef.h +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wavelinefilter.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wavelinefilter.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/waverdc.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/waverdc.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wseries.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wseries.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/cwb-core/wslice.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/0.installation_guide.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/1.initialisation_guide.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/2.test_interactive_multistages_2G_analysis.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/3.run_pycwb_with_yaml_config.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/4.py_cwb_inet_2G.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/5.cwb2G_analyse.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/6.wat_codes_notes.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/Makefile +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/diagram.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/make.bat +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/_static/.keep +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/_templates/.keep +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/conf.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/credit.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/index.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/install.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/mod_cwb.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/package.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/schema.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/tutorial_batch_inj.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/tutorial_customized_wf_gen.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/tutorial_injection.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/tutorial_multi_injection.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/tutorial_search.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/tutorials.rst +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/docs/source/workflow.png +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/envs/Dockerfile +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/envs/mamba/Dockerfile +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/autoencoder/pycwb_injection.ipynb +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/autoencoder/user_parameters_injection.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/batch_injection/generate_parameters.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/parameters.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/waveform.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/batch_injection/pycwb_injection.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/batch_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/DQ/H1_cat0.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/DQ/H1_cat1.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/DQ/H1_cat2.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/DQ/H1_cat4.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/DQ/L1_cat0.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/DQ/L1_cat1.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/DQ/L1_cat2.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/DQ/L1_cat4.txt +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/input/OPBM.period +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/input/OPBM_H1.frames +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/input/OPBM_L1.frames +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/pycwb_mdc.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/benchmark/user_parameters_mdc.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/colab/pycWB_GW150914.ipynb +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/injection/pycwb_injection.ipynb +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/injection/pycwb_injection.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/lvk_sep_2023/demo.ipynb +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/lvk_sep_2023/user_parameters.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/multiple_injection/pycwb_injection.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/multiple_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/pyseobnr_injection/generate_parameters.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/pyseobnr_injection/user_parameters_injection.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/pyseobnr_injection/waveform_model/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/pyseobnr_injection/waveform_model/waveform.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/examples/waveform_reconstruction/reconstruct_waveform_from_cluster.ipynb +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/cwb_core/coherence.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/cwb_core/coherence.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/cwb_core/likelihood.cc +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/cwb_core/likelihood.hh +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/dag/dag.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/dag/dask-prefect.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/dag/prefect_test.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger/server.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger/visualizition.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/.eslintrc.cjs +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/.gitignore +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/.prettierrc.json +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/README.md +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/index.html +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/package-lock.json +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/package.json +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/public/favicon.ico +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/App.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/assets/base.css +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/assets/cwb_icon_modern_blue_alfa.png +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/assets/main.css +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/assets/style.css +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/HelloWorld.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/TheWelcome.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/WelcomeItem.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/__tests__/HelloWorld.spec.js +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/icons/IconCommunity.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/icons/IconDocumentation.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/icons/IconEcosystem.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/icons/IconSupport.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/components/icons/IconTooling.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/main.js +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/router/index.js +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/stores/counter.js +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/views/drawflow.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/views/nodes/node1.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/views/nodes/node2.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/views/nodes/node3.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/src/views/nodes/nodeHeader.vue +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/messenger-web-interface/vite.config.js +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/performance/numba_test.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/performance/taichi_test.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/prototypes/search.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/cli/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/cli/flow.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/cli/server.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/config/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/constants/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/autoencoder/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/autoencoder/autoencoder.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/autoencoder/cwb_autoencoder.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/autoencoder/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/catalog/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/catalog/catalog.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/catalog/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/coherence/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/coherence/coherence_lite.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/coherence/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/condor/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/condor/condor.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/condor/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/cluster.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/pixel.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/series.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/cwb_conversions/sparse_series.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/data_conditioning/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/data_conditioning/data_conditioning.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/data_conditioning/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/data_conditioning/regression.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/data_conditioning/whitening.py +0 -0
- {pycwb-0.22.1/pycwb/modules/likelihoodWP → pycwb-0.23.0/pycwb/modules/energy_threshold}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/job_segment/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/job_segment/dq_segment.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/job_segment/frame.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/job_segment/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/job_segment/plots.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/job_segment/super_lag.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/likelihood/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/likelihood/module.yaml +0 -0
- {pycwb-0.22.1/pycwb/modules/plot_map → pycwb-0.23.0/pycwb/modules/likelihoodWP}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/likelihoodWP/dpf.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/likelihoodWP/dpf_cython.pyx +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/likelihoodWP/likelihood.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/likelihoodWP/sky_stat.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/likelihoodWP/utils.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/logger/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/logger/logger.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/logger/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/multi_resolution_wdm/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/multi_resolution_wdm/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/multi_resolution_wdm/wdm.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/plot/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/plot/event.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/plot/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/plot/spectrogram.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/plot/waveform.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/plot_data_quality/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/plot_data_quality/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/plot_data_quality/plot.py +0 -0
- {pycwb-0.22.1/pycwb/modules/statistics → pycwb-0.23.0/pycwb/modules/plot_map}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/plot_map/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/plot_map/world_map.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/read_data/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/read_data/data_find.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/read_data/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/read_data/read_data.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/reconstruction/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/reconstruction/getMRAwaveform.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/reconstruction/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/sparse_series/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/sparse_series/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/sparse_series/sparse_table.py +0 -0
- {pycwb-0.22.1/pycwb/modules/web_viewer → pycwb-0.23.0/pycwb/modules/statistics}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/statistics/eff.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/statistics/eff_plot.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/statistics/merge.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/super_cluster/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/super_cluster/module.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/super_cluster/sub_net_cut.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/super_cluster/super_cluster.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/super_cluster/supercluster.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/super_cluster/utils.py +0 -0
- {pycwb-0.22.1/pycwb/modules/workflow_utils → pycwb-0.23.0/pycwb/modules/supercluster_naive}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/superlag/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/superlag/superlag.py +0 -0
- {pycwb-0.22.1/pycwb/modules/xtalk → pycwb-0.23.0/pycwb/modules/web_viewer}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/web_viewer/create.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/web_viewer/module.yaml +0 -0
- {pycwb-0.22.1/pycwb/prefect_flow → pycwb-0.23.0/pycwb/modules/workflow_utils}/__init__.py +0 -0
- {pycwb-0.22.1/pycwb/prefect_flow/tasks → pycwb-0.23.0/pycwb/modules/xtalk}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/modules/xtalk/monster_old.py +0 -0
- {pycwb-0.22.1/pycwb/types → pycwb-0.23.0/pycwb/prefect_flow}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/prefect_flow/pycwb_flow.py +0 -0
- {pycwb-0.22.1/pycwb/utils → pycwb-0.23.0/pycwb/prefect_flow/tasks}/__init__.py +0 -0
- {pycwb-0.22.1/pycwb/utils/conversions → pycwb-0.23.0/pycwb/types}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/types/data_quality_file.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/types/detector.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/types/job.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/types/network.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/types/network_pixel.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/types/sparse_series.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/types/time_frequency_series.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/types/wdm.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/types/wdm_xtalk.py +0 -0
- {pycwb-0.22.1/pycwb/vendor → pycwb-0.23.0/pycwb/utils}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/utils/async_write.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/utils/check_ROOT.py +0 -0
- {pycwb-0.22.1/pycwb/vendor/autoencoder → pycwb-0.23.0/pycwb/utils/conversions}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/utils/conversions/timeseries.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/utils/dataclass_object_io.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/utils/dep_check.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/utils/image.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/utils/module.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/utils/network.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/utils/skymap_coord.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/utils/yaml_helper.py +0 -0
- {pycwb-0.22.1/pycwb/vendor/lib → pycwb-0.23.0/pycwb/vendor}/__init__.py +0 -0
- {pycwb-0.22.1/pycwb/workflow → pycwb-0.23.0/pycwb/vendor/autoencoder}/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/vendor/autoencoder/cwb_autoencoder.h5 +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/vendor/example.yaml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/vendor/web_viewer/event_dump.html +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/vendor/web_viewer/styles.css +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/vendor/web_viewer/viewer.html +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pycwb/workflow/subflow/__init__.py +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/pyproject.toml +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/setup.cfg +0 -0
- {pycwb-0.22.1 → pycwb-0.23.0}/setup.py +0 -0
|
@@ -231,10 +231,11 @@ prototypes/performance/numba_test.py
|
|
|
231
231
|
prototypes/performance/taichi_test.py
|
|
232
232
|
pycwb/__init__.py
|
|
233
233
|
pycwb/_version.py
|
|
234
|
-
pycwb/search.py
|
|
235
234
|
pycwb/cli/__init__.py
|
|
236
|
-
pycwb/cli/
|
|
235
|
+
pycwb/cli/batch_runner.py
|
|
236
|
+
pycwb/cli/batch_setup.py
|
|
237
237
|
pycwb/cli/flow.py
|
|
238
|
+
pycwb/cli/merge_catalog.py
|
|
238
239
|
pycwb/cli/run.py
|
|
239
240
|
pycwb/cli/server.py
|
|
240
241
|
pycwb/cli/xtalk.py
|
|
@@ -269,6 +270,8 @@ pycwb/modules/data_conditioning/data_conditioning.py
|
|
|
269
270
|
pycwb/modules/data_conditioning/module.yaml
|
|
270
271
|
pycwb/modules/data_conditioning/regression.py
|
|
271
272
|
pycwb/modules/data_conditioning/whitening.py
|
|
273
|
+
pycwb/modules/energy_threshold/__init__.py
|
|
274
|
+
pycwb/modules/energy_threshold/threshold.py
|
|
272
275
|
pycwb/modules/job_segment/__init__.py
|
|
273
276
|
pycwb/modules/job_segment/dq_segment.py
|
|
274
277
|
pycwb/modules/job_segment/frame.py
|
|
@@ -326,6 +329,8 @@ pycwb/modules/super_cluster/sub_net_cut.py
|
|
|
326
329
|
pycwb/modules/super_cluster/super_cluster.py
|
|
327
330
|
pycwb/modules/super_cluster/supercluster.py
|
|
328
331
|
pycwb/modules/super_cluster/utils.py
|
|
332
|
+
pycwb/modules/supercluster_naive/__init__.py
|
|
333
|
+
pycwb/modules/supercluster_naive/supercluster2.py
|
|
329
334
|
pycwb/modules/superlag/__init__.py
|
|
330
335
|
pycwb/modules/superlag/superlag.py
|
|
331
336
|
pycwb/modules/web_viewer/__init__.py
|
|
@@ -336,6 +341,7 @@ pycwb/modules/workflow_utils/job_setup.py
|
|
|
336
341
|
pycwb/modules/xtalk/__init__.py
|
|
337
342
|
pycwb/modules/xtalk/monster.py
|
|
338
343
|
pycwb/modules/xtalk/monster_old.py
|
|
344
|
+
pycwb/modules/xtalk/xtalk_data.py
|
|
339
345
|
pycwb/prefect_flow/__init__.py
|
|
340
346
|
pycwb/prefect_flow/pycwb_flow.py
|
|
341
347
|
pycwb/prefect_flow/tasks/__init__.py
|
|
@@ -360,6 +366,7 @@ pycwb/utils/dep_check.py
|
|
|
360
366
|
pycwb/utils/image.py
|
|
361
367
|
pycwb/utils/module.py
|
|
362
368
|
pycwb/utils/network.py
|
|
369
|
+
pycwb/utils/parser.py
|
|
363
370
|
pycwb/utils/skymap_coord.py
|
|
364
371
|
pycwb/utils/yaml_helper.py
|
|
365
372
|
pycwb/utils/conversions/__init__.py
|
|
@@ -374,7 +381,10 @@ pycwb/vendor/web_viewer/styles.css
|
|
|
374
381
|
pycwb/vendor/web_viewer/viewer.html
|
|
375
382
|
pycwb/workflow/__init__.py
|
|
376
383
|
pycwb/workflow/batch.py
|
|
384
|
+
pycwb/workflow/merge.py
|
|
385
|
+
pycwb/workflow/run.py
|
|
377
386
|
pycwb/workflow/subflow/__init__.py
|
|
378
387
|
pycwb/workflow/subflow/postprocess_and_plots.py
|
|
379
388
|
pycwb/workflow/subflow/prepare_job_runs.py
|
|
389
|
+
pycwb/workflow/subflow/process_job_segment.py
|
|
380
390
|
pycwb/workflow/subflow/supercluster_and_likelihood.py
|
|
@@ -7,9 +7,10 @@ import argparse
|
|
|
7
7
|
import pycwb.cli.server as server
|
|
8
8
|
import pycwb.cli.run as run
|
|
9
9
|
import pycwb.cli.flow as flow
|
|
10
|
-
import pycwb.cli.
|
|
10
|
+
import pycwb.cli.batch_setup as batch_setup
|
|
11
|
+
import pycwb.cli.batch_runner as batch_runner
|
|
11
12
|
import pycwb.cli.xtalk as xtalk
|
|
12
|
-
|
|
13
|
+
import pycwb.cli.merge_catalog as merge_catalog
|
|
13
14
|
|
|
14
15
|
def main():
|
|
15
16
|
parser = argparse.ArgumentParser(prog='pycwb')
|
|
@@ -29,14 +30,22 @@ def main():
|
|
|
29
30
|
flow.init_parser(flow_parser)
|
|
30
31
|
flow_parser.set_defaults(func=flow.command)
|
|
31
32
|
|
|
32
|
-
batch_parser = subparsers.add_parser('batch', help='
|
|
33
|
-
|
|
34
|
-
batch_parser.set_defaults(func=
|
|
33
|
+
batch_parser = subparsers.add_parser('batch-setup', help='Setup batch run')
|
|
34
|
+
batch_setup.init_parser(batch_parser)
|
|
35
|
+
batch_parser.set_defaults(func=batch_setup.command)
|
|
36
|
+
|
|
37
|
+
batch_runner_parser = subparsers.add_parser('batch-runner', help='Runner for batch run')
|
|
38
|
+
batch_runner.init_parser(batch_runner_parser)
|
|
39
|
+
batch_runner_parser.set_defaults(func=batch_runner.command)
|
|
35
40
|
|
|
36
41
|
xtalk_parser = subparsers.add_parser('xtalk', help='Convert xtalk file')
|
|
37
42
|
xtalk.init_parser(xtalk_parser)
|
|
38
43
|
xtalk_parser.set_defaults(func=xtalk.command)
|
|
39
44
|
|
|
45
|
+
merge_catalog_parser = subparsers.add_parser('merge-catalog', help='Merge catalog files')
|
|
46
|
+
merge_catalog.init_parser(merge_catalog_parser)
|
|
47
|
+
merge_catalog_parser.set_defaults(func=merge_catalog.command)
|
|
48
|
+
|
|
40
49
|
args = parser.parse_args()
|
|
41
50
|
if hasattr(args, 'func'):
|
|
42
51
|
args.func(args)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def init_parser(parser):
|
|
5
|
+
# Add the arguments
|
|
6
|
+
parser.add_argument('user_parameter_file',
|
|
7
|
+
metavar='file_path',
|
|
8
|
+
type=str,
|
|
9
|
+
help='the path to the user parameter file')
|
|
10
|
+
|
|
11
|
+
# working dir
|
|
12
|
+
parser.add_argument('--work-dir',
|
|
13
|
+
'-d',
|
|
14
|
+
metavar='work_dir',
|
|
15
|
+
type=str,
|
|
16
|
+
default='.',
|
|
17
|
+
help='the working directory')
|
|
18
|
+
|
|
19
|
+
# threads
|
|
20
|
+
parser.add_argument('--n-proc',
|
|
21
|
+
'-n',
|
|
22
|
+
metavar='n_proc',
|
|
23
|
+
type=int,
|
|
24
|
+
default=1,
|
|
25
|
+
help='the number of cpu to use, default to 1. If it set to 0, '
|
|
26
|
+
'it will use the value from the user parameter file.')
|
|
27
|
+
|
|
28
|
+
# jobs
|
|
29
|
+
parser.add_argument('--jobs',
|
|
30
|
+
'-j',
|
|
31
|
+
metavar='jobs',
|
|
32
|
+
type=str,
|
|
33
|
+
default=None,
|
|
34
|
+
help='the range of jobs to run, e.g., 0-9')
|
|
35
|
+
|
|
36
|
+
# compress json
|
|
37
|
+
parser.add_argument('--compress_json',
|
|
38
|
+
action='store_true',
|
|
39
|
+
default=True,
|
|
40
|
+
help='compress the json files, by default True')
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def command(args):
|
|
44
|
+
from pycwb.workflow.batch import batch_run
|
|
45
|
+
|
|
46
|
+
# Run the search function with the specified user parameter file
|
|
47
|
+
batch_run(args.user_parameter_file, working_dir=args.work_dir,
|
|
48
|
+
jobs=args.jobs, compress_json=args.compress_json, n_proc=args.n_proc)
|
|
@@ -8,13 +8,20 @@ def init_parser(parser):
|
|
|
8
8
|
type=str,
|
|
9
9
|
help='the path to the user parameter file')
|
|
10
10
|
|
|
11
|
-
parser.add_argument('--
|
|
12
|
-
'-
|
|
11
|
+
parser.add_argument('--cluster',
|
|
12
|
+
'-c',
|
|
13
13
|
metavar='job_submission_system',
|
|
14
14
|
type=str,
|
|
15
15
|
choices=['condor', 'slurm'],
|
|
16
|
+
default='condor',
|
|
16
17
|
help='the submit option, the available options are condor and slurm')
|
|
17
18
|
|
|
19
|
+
parser.add_argument('--submit',
|
|
20
|
+
'-s',
|
|
21
|
+
action='store_true',
|
|
22
|
+
default=False,
|
|
23
|
+
help='submit the jobs to the job submission system')
|
|
24
|
+
|
|
18
25
|
# working dir
|
|
19
26
|
parser.add_argument('--work-dir',
|
|
20
27
|
'-d',
|
|
@@ -38,12 +45,18 @@ def init_parser(parser):
|
|
|
38
45
|
default=os.environ.get('CONDA_DEFAULT_ENV'),
|
|
39
46
|
help='the conda environment')
|
|
40
47
|
|
|
48
|
+
# additional init
|
|
49
|
+
parser.add_argument('--additional-init',
|
|
50
|
+
'-a',
|
|
51
|
+
metavar='additional_init',
|
|
52
|
+
type=str,
|
|
53
|
+
help='additional initialization commands')
|
|
54
|
+
|
|
41
55
|
# accounting_group
|
|
42
56
|
parser.add_argument('--accounting-group',
|
|
43
57
|
'-g',
|
|
44
58
|
metavar='accounting_group',
|
|
45
59
|
type=str,
|
|
46
|
-
default='ligo.sim.o4.burst.allsky.cwboffline',
|
|
47
60
|
help='the condor accounting group')
|
|
48
61
|
|
|
49
62
|
# threads
|
|
@@ -51,28 +64,23 @@ def init_parser(parser):
|
|
|
51
64
|
'-n',
|
|
52
65
|
metavar='n_proc',
|
|
53
66
|
type=int,
|
|
54
|
-
default=
|
|
55
|
-
help='the number of cpu to use,
|
|
67
|
+
default=1,
|
|
68
|
+
help='the number of cpu to use, default to 1. If it set to 0, '
|
|
56
69
|
'it will use the value from the user parameter file.')
|
|
57
70
|
|
|
58
|
-
#
|
|
59
|
-
parser.add_argument('--
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
71
|
+
# job_per_worker
|
|
72
|
+
parser.add_argument('--job-per-worker',
|
|
73
|
+
'-j',
|
|
74
|
+
metavar='job_per_worker',
|
|
75
|
+
type=int,
|
|
76
|
+
default=5,
|
|
77
|
+
help='the number of jobs per worker')
|
|
63
78
|
|
|
64
79
|
# compress json
|
|
65
80
|
parser.add_argument('--compress_json',
|
|
66
81
|
action='store_true',
|
|
67
|
-
default=
|
|
68
|
-
help='compress the json files, by default
|
|
69
|
-
|
|
70
|
-
# serve name
|
|
71
|
-
parser.add_argument('--name',
|
|
72
|
-
metavar='name',
|
|
73
|
-
type=str,
|
|
74
|
-
default='pycwb',
|
|
75
|
-
help='the name of the serve')
|
|
82
|
+
default=True,
|
|
83
|
+
help='compress the json files, by default True')
|
|
76
84
|
|
|
77
85
|
# list number of jobs
|
|
78
86
|
parser.add_argument('--list-n-jobs',
|
|
@@ -88,10 +96,10 @@ def init_parser(parser):
|
|
|
88
96
|
|
|
89
97
|
|
|
90
98
|
def command(args):
|
|
91
|
-
from pycwb.workflow.batch import
|
|
99
|
+
from pycwb.workflow.batch import batch_setup
|
|
92
100
|
|
|
93
101
|
if args.list_n_jobs or args.list_jobs:
|
|
94
|
-
jobs =
|
|
102
|
+
jobs = batch_setup(args.user_parameter_file, working_dir=args.work_dir, n_proc=1, dry_run=True)
|
|
95
103
|
|
|
96
104
|
print(f"Number of jobs: {len(jobs)}")
|
|
97
105
|
|
|
@@ -105,6 +113,18 @@ def command(args):
|
|
|
105
113
|
|
|
106
114
|
return 0
|
|
107
115
|
|
|
116
|
+
if args.cluster is 'slurm':
|
|
117
|
+
print("Slurm is not supported yet.")
|
|
118
|
+
return 1
|
|
119
|
+
|
|
108
120
|
# Run the search function with the specified user parameter file
|
|
109
|
-
|
|
110
|
-
|
|
121
|
+
batch_setup(args.user_parameter_file, working_dir=args.work_dir,
|
|
122
|
+
compress_json=args.compress_json,
|
|
123
|
+
cluster=args.cluster,
|
|
124
|
+
conda_env=args.conda_env,
|
|
125
|
+
additional_init=args.additional_init,
|
|
126
|
+
n_proc=args.n_proc,
|
|
127
|
+
accounting_group=args.accounting_group,
|
|
128
|
+
job_per_worker=args.job_per_worker,
|
|
129
|
+
submit=args.submit,
|
|
130
|
+
overwrite=args.force_overwrite, )
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def init_parser(parser):
|
|
5
|
+
# working dir
|
|
6
|
+
parser.add_argument('--work-dir',
|
|
7
|
+
'-d',
|
|
8
|
+
metavar='work_dir',
|
|
9
|
+
type=str,
|
|
10
|
+
default='.',
|
|
11
|
+
help='the working directory')
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def command(args):
|
|
15
|
+
from pycwb.workflow.merge import merge_catalog
|
|
16
|
+
|
|
17
|
+
# Run the search function with the specified user parameter file
|
|
18
|
+
merge_catalog(working_dir=args.work_dir)
|
|
@@ -35,7 +35,7 @@ def init_parser(parser):
|
|
|
35
35
|
# generate plot
|
|
36
36
|
parser.add_argument('--plot',
|
|
37
37
|
action='store_true',
|
|
38
|
-
default=
|
|
38
|
+
default=None,
|
|
39
39
|
help='generate the plot, by default False')
|
|
40
40
|
|
|
41
41
|
# compress json
|
|
@@ -65,7 +65,7 @@ def init_parser(parser):
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
def command(args):
|
|
68
|
-
from pycwb.workflow.
|
|
68
|
+
from pycwb.workflow.run import search
|
|
69
69
|
|
|
70
70
|
if args.list_n_jobs or args.list_jobs:
|
|
71
71
|
jobs = search(args.user_parameter_file, working_dir=args.work_dir, n_proc=1, dry_run=True)
|
|
@@ -83,5 +83,5 @@ def command(args):
|
|
|
83
83
|
return 0
|
|
84
84
|
|
|
85
85
|
# Run the search function with the specified user parameter file
|
|
86
|
-
search(args.user_parameter_file, working_dir=args.work_dir, n_proc=args.n_proc,
|
|
86
|
+
search(args.user_parameter_file, working_dir=args.work_dir, n_proc=args.n_proc,
|
|
87
87
|
overwrite=args.force_overwrite, plot=args.plot, compress_json=args.compress_json)
|
|
@@ -5,7 +5,9 @@ pycwb.constants.user_parameters_schema.
|
|
|
5
5
|
"""
|
|
6
6
|
import os.path
|
|
7
7
|
import logging
|
|
8
|
+
import pathlib
|
|
8
9
|
|
|
10
|
+
from ..modules.xtalk.xtalk_data import check_and_download_xtalk_data
|
|
9
11
|
from ..types.wdm_xtalk import WDMXTalkCatalog
|
|
10
12
|
from ..types.data_quality_file import DQFile
|
|
11
13
|
from ..utils.network import max_delay
|
|
@@ -67,9 +69,8 @@ class Config:
|
|
|
67
69
|
setattr(self, key, params[key])
|
|
68
70
|
|
|
69
71
|
self.add_derived_key()
|
|
70
|
-
self.
|
|
71
|
-
|
|
72
|
-
self.check_MRA_catalog()
|
|
72
|
+
self.check_xtalk_file(self.MRAcatalog)
|
|
73
|
+
self.check_MRA_catalog()
|
|
73
74
|
self.check_lagStep()
|
|
74
75
|
|
|
75
76
|
def add_derived_key(self):
|
|
@@ -90,7 +91,10 @@ class Config:
|
|
|
90
91
|
|
|
91
92
|
# load WAT filter directory and set MRAcatalog
|
|
92
93
|
if not self.filter_dir:
|
|
93
|
-
|
|
94
|
+
if os.environ.get('HOME_WAT_FILTERS') is None:
|
|
95
|
+
self.filter_dir = os.path.abspath(".")
|
|
96
|
+
else:
|
|
97
|
+
self.filter_dir = os.environ['HOME_WAT_FILTERS']
|
|
94
98
|
|
|
95
99
|
self.MRAcatalog = f"{self.filter_dir}/{self.wdmXTalk}"
|
|
96
100
|
|
|
@@ -142,6 +146,33 @@ class Config:
|
|
|
142
146
|
if not os.path.isfile(file_name):
|
|
143
147
|
raise FileNotFoundError(f"File {file_name} does not exist")
|
|
144
148
|
|
|
149
|
+
@staticmethod
|
|
150
|
+
def check_xtalk_file(file_name: str) -> bool:
|
|
151
|
+
"""
|
|
152
|
+
Helper function to check if xtalk file exists and download it if it does not exist
|
|
153
|
+
|
|
154
|
+
Parameters
|
|
155
|
+
----------
|
|
156
|
+
file_name : str
|
|
157
|
+
Path to the xtalk file
|
|
158
|
+
|
|
159
|
+
Returns
|
|
160
|
+
-------
|
|
161
|
+
bool
|
|
162
|
+
True if the file exists or has been downloaded successfully, False otherwise
|
|
163
|
+
|
|
164
|
+
Raises
|
|
165
|
+
------
|
|
166
|
+
FileNotFoundError
|
|
167
|
+
If the file does not exist and cannot be downloaded
|
|
168
|
+
"""
|
|
169
|
+
if not os.path.isfile(file_name):
|
|
170
|
+
if check_and_download_xtalk_data(str(pathlib.Path(file_name).name), str(pathlib.Path(file_name).parent)):
|
|
171
|
+
return True
|
|
172
|
+
else:
|
|
173
|
+
raise FileNotFoundError(f"File {file_name} does not exist")
|
|
174
|
+
return True
|
|
175
|
+
|
|
145
176
|
def check_lagStep(self):
|
|
146
177
|
"""
|
|
147
178
|
Check if lagStep compatible with WDM parity
|
|
@@ -190,3 +221,6 @@ class Config:
|
|
|
190
221
|
logger.info(f"MRA catalog has tag {wdm_MRA.tag}, updating beta order and precision from MRA catalog")
|
|
191
222
|
self.WDM_beta_order, self.WDM_precision = int(wdm_MRA.beta_order), int(wdm_MRA.precision)
|
|
192
223
|
|
|
224
|
+
@staticmethod
|
|
225
|
+
def get_precision(cluster_size_threshold, healpix_order):
|
|
226
|
+
return cluster_size_threshold+65536*healpix_order
|
|
@@ -51,6 +51,18 @@ schema = {
|
|
|
51
51
|
"default": False,
|
|
52
52
|
"cwb": False
|
|
53
53
|
},
|
|
54
|
+
"save_injection": {
|
|
55
|
+
"type": "boolean",
|
|
56
|
+
"description": "save injected waveform",
|
|
57
|
+
"default": False,
|
|
58
|
+
"cwb": False
|
|
59
|
+
},
|
|
60
|
+
"plot_injection": {
|
|
61
|
+
"type": "boolean",
|
|
62
|
+
"description": "plot injected waveform",
|
|
63
|
+
"default": False,
|
|
64
|
+
"cwb": False
|
|
65
|
+
},
|
|
54
66
|
"save_sky_map": {
|
|
55
67
|
"type": "boolean",
|
|
56
68
|
"description": "save sky maps to json",
|
|
@@ -69,6 +81,12 @@ schema = {
|
|
|
69
81
|
"default": False,
|
|
70
82
|
"cwb": False
|
|
71
83
|
},
|
|
84
|
+
"use_root_supercluster": {
|
|
85
|
+
"type": "boolean",
|
|
86
|
+
"description": "use cwb supercluster, if false use python version",
|
|
87
|
+
"default": True,
|
|
88
|
+
"cwb": False
|
|
89
|
+
},
|
|
72
90
|
"nproc": {
|
|
73
91
|
"type": "integer",
|
|
74
92
|
"description": "number of processes",
|
|
@@ -301,9 +319,8 @@ schema = {
|
|
|
301
319
|
},
|
|
302
320
|
"netRHO": {
|
|
303
321
|
"type": "number",
|
|
304
|
-
"description": "[>4.0] coherent network SNR (supercluster, likelihood)",
|
|
322
|
+
"description": "[>4.0] coherent network SNR (supercluster, likelihood), if <=0 then use the new statistics for XGBoost",
|
|
305
323
|
"default": 4.0,
|
|
306
|
-
"minimum": 4.0,
|
|
307
324
|
},
|
|
308
325
|
"netCC": {
|
|
309
326
|
"type": "number",
|
|
@@ -123,6 +123,9 @@ def coherence_single_res(i, config, tf_maps, nRMS_list, up_n=None, net=None):
|
|
|
123
123
|
|
|
124
124
|
# produce TF maps with max over the sky energy
|
|
125
125
|
alp = 0.0
|
|
126
|
+
|
|
127
|
+
# FIXME: max time delay is different to pycbc
|
|
128
|
+
config.max_delay = net.get_max_delay()
|
|
126
129
|
for n in range(len(config.ifo)):
|
|
127
130
|
ts = convert_to_wavearray(tf_maps[n])
|
|
128
131
|
ts.Edge = config.segEdge
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import math
|
|
2
|
+
import numba
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@numba.jit(nopython=True)
|
|
6
|
+
def threshold(tf_maps, nIFO, Edge, p, shape):
|
|
7
|
+
"""
|
|
8
|
+
Calculate WaveBurst energy threshold for a given black pixel probability p
|
|
9
|
+
and single detector Gamma distribution shape. TF data should contain pixel energy.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
# The WSeries, wavearray and iGamma should be replaced with equivalent
|
|
13
|
+
# Python implementation or library
|
|
14
|
+
|
|
15
|
+
N = nIFO
|
|
16
|
+
pw = tf_maps[0]
|
|
17
|
+
M = pw.maxLayer() + 1
|
|
18
|
+
nL = int(Edge * pw.w_rate * M)
|
|
19
|
+
nR = len(pw.data) - nL - 1
|
|
20
|
+
w = pw.copy()
|
|
21
|
+
|
|
22
|
+
for i in range(1, N):
|
|
23
|
+
w += tf_maps[i]
|
|
24
|
+
|
|
25
|
+
amp, avr, bbb, alp = 0, 0, 0, 0
|
|
26
|
+
nn = 0
|
|
27
|
+
|
|
28
|
+
for i in range(nL, nR):
|
|
29
|
+
amp = w.data[i]
|
|
30
|
+
if amp > N * 100:
|
|
31
|
+
amp = N * 100
|
|
32
|
+
if amp > 0.001:
|
|
33
|
+
avr += amp
|
|
34
|
+
bbb += math.log(amp)
|
|
35
|
+
nn += 1
|
|
36
|
+
|
|
37
|
+
avr /= nn
|
|
38
|
+
alp = math.log(avr) - bbb / nn
|
|
39
|
+
alp = (3 - alp + math.sqrt((alp - 3) * (alp - 3) + 24 * alp)) / (12 * alp)
|
|
40
|
+
|
|
41
|
+
bbb = p * alp / shape
|
|
42
|
+
|
|
43
|
+
# Assuming iGamma is defined elsewhere or imported from some library/module
|
|
44
|
+
return avr * iGamma(alp, bbb) / alp / 2
|
|
45
|
+
|
|
46
|
+
# Call the function
|
|
47
|
+
# result = threshold(tf_maps, nIFO, Edge, p, shape)
|
|
48
|
+
# print(result)
|
|
@@ -12,20 +12,20 @@ logger = logging.getLogger(__name__)
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
def create_job_segment_from_config(config):
|
|
15
|
+
logger.info("-" * 80)
|
|
16
|
+
logger.info("Initializing job segments")
|
|
17
|
+
|
|
15
18
|
if not config.simulation:
|
|
16
|
-
logger.info("-" * 80)
|
|
17
|
-
logger.info("Initializing job segments")
|
|
18
19
|
job_segments = select_job_segment(config.dq_files, config.ifo, config.frFiles,
|
|
19
20
|
config.segLen, config.segMLS, config.segEdge, config.segOverlap,
|
|
20
21
|
config.rateANA, config.l_high)
|
|
21
|
-
|
|
22
|
-
# log number of segments
|
|
23
|
-
logger.info(f"Number of segments: {len(job_segments)}")
|
|
24
|
-
logger.info("-" * 80)
|
|
25
22
|
else:
|
|
26
23
|
job_segments = create_job_segment_from_injection(config.ifo, config.simulation, config.injection)
|
|
27
|
-
for job_seg in job_segments:
|
|
28
|
-
|
|
24
|
+
# for job_seg in job_segments:
|
|
25
|
+
# logger.info(job_seg)
|
|
26
|
+
# log number of segments
|
|
27
|
+
logger.info(f"Number of segments: {len(job_segments)}")
|
|
28
|
+
logger.info("-" * 80)
|
|
29
29
|
return job_segments
|
|
30
30
|
|
|
31
31
|
|
|
@@ -4,13 +4,13 @@ import logging
|
|
|
4
4
|
from pycwb.config import Config
|
|
5
5
|
from pycwb.modules.cwb_conversions import convert_fragment_clusters_to_netcluster, \
|
|
6
6
|
convert_netcluster_to_fragment_clusters
|
|
7
|
-
from pycwb.types.network_cluster import FragmentCluster
|
|
7
|
+
from pycwb.types.network_cluster import FragmentCluster, Cluster
|
|
8
8
|
from pycwb.types.network_event import Event
|
|
9
9
|
|
|
10
10
|
logger = logging.getLogger(__name__)
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
def likelihood(config, network, fragment_clusters):
|
|
13
|
+
def likelihood(config, network, fragment_clusters) -> tuple[list[Event], list[Cluster], list[dict]]:
|
|
14
14
|
"""
|
|
15
15
|
calculate likelihood
|
|
16
16
|
|
|
@@ -107,7 +107,8 @@ def _likelihood(config, network, lag, cluster_id, fragment_cluster):
|
|
|
107
107
|
wdm_list = network.get_wdm_list()
|
|
108
108
|
for wdm in wdm_list:
|
|
109
109
|
wdm.setTDFilter(config.TDSize, config.upTDF)
|
|
110
|
-
|
|
110
|
+
# FIXME: precision setup in config
|
|
111
|
+
# network.net.precision = config.get_precision(100, 5)
|
|
111
112
|
network.set_delay_index(config.TDRate)
|
|
112
113
|
|
|
113
114
|
# sparse_table_list = sparse_table_from_fragment_clusters(config, tf_maps, [fragment_cluster])
|
|
@@ -5,13 +5,15 @@ import logging
|
|
|
5
5
|
logger = logging.getLogger(__name__)
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
def plot_statistics(cluster, key='likelihood', filename=None):
|
|
8
|
+
def plot_statistics(cluster, key='likelihood', gps_shift=0, filename=None):
|
|
9
9
|
"""Plot the statistics of the event
|
|
10
10
|
|
|
11
11
|
:param cluster: cluster
|
|
12
12
|
:type cluster: Cluster
|
|
13
13
|
:param key: key of the statistics, defaults to 'likelihood'
|
|
14
14
|
:type key: str, optional
|
|
15
|
+
:param gps_shift: gps time shift, defaults to 0
|
|
16
|
+
:type gps_shift: int, optional
|
|
15
17
|
:param filename: path to save the plot, defaults to None
|
|
16
18
|
:type filename: str, optional
|
|
17
19
|
"""
|
|
@@ -20,7 +22,7 @@ def plot_statistics(cluster, key='likelihood', filename=None):
|
|
|
20
22
|
|
|
21
23
|
merged_map, start, dt, df = cluster.get_sparse_map(key)
|
|
22
24
|
|
|
23
|
-
plt = Spectrogram(merged_map, t0=start, dt=dt, f0=0, df=df).plot()
|
|
25
|
+
plt = Spectrogram(merged_map, t0=start + gps_shift, dt=dt, f0=0, df=df).plot()
|
|
24
26
|
plt.colorbar()
|
|
25
27
|
# save to png
|
|
26
28
|
if filename is not None:
|
|
@@ -55,11 +55,15 @@ def check_and_resample(data, config, ifo_index):
|
|
|
55
55
|
# DC correction
|
|
56
56
|
if config.dcCal[ifo_index] > 0 and config.dcCal[ifo_index] != 1.0:
|
|
57
57
|
data.data *= config.dcCal[config.ifo.indexof(ifo_index)]
|
|
58
|
+
logger.info(f"DC correction: {config.dcCal[ifo_index]}")
|
|
58
59
|
|
|
59
60
|
# resampling
|
|
60
61
|
if config.fResample > 0:
|
|
61
62
|
logger.info(f"Resampling data from {data.sample_rate} to {config.fResample}")
|
|
62
|
-
data = data.resample(1.0 / config.fResample)
|
|
63
|
+
# data = data.resample(1.0 / config.fResample)
|
|
64
|
+
w = convert_to_wavearray(data)
|
|
65
|
+
w.Resample(config.fResample)
|
|
66
|
+
data = convert_wavearray_to_pycbc_timeseries(w)
|
|
63
67
|
|
|
64
68
|
new_sample_rate = data.sample_rate / (1 << config.levelR)
|
|
65
69
|
if new_sample_rate != config.inRate:
|