PycWB 0.19.0__tar.gz → 0.20.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.19.0 → PycWB-0.20.0}/.gitignore +3 -1
- {PycWB-0.19.0 → PycWB-0.20.0}/PKG-INFO +1 -1
- {PycWB-0.19.0 → PycWB-0.20.0}/PycWB.egg-info/PKG-INFO +1 -1
- {PycWB-0.19.0 → PycWB-0.20.0}/PycWB.egg-info/SOURCES.txt +28 -0
- PycWB-0.20.0/benchmark/README.md +10 -0
- PycWB-0.20.0/benchmark/likelihood/README.md +21 -0
- PycWB-0.20.0/benchmark/likelihood/generate_data_for_likelihood.py +105 -0
- PycWB-0.20.0/benchmark/likelihood/performance_test_dpf.py +273 -0
- PycWB-0.20.0/benchmark/likelihood/performance_test_opt_sky.py +110 -0
- PycWB-0.20.0/benchmark/likelihood/user_parameters_injection.yaml +104 -0
- PycWB-0.20.0/benchmark/supercluster/README.md +12 -0
- PycWB-0.20.0/benchmark/supercluster/generate_data.py +51 -0
- PycWB-0.20.0/benchmark/supercluster/user_parameters_injection.yaml +104 -0
- PycWB-0.20.0/bin/pycwb +37 -0
- PycWB-0.20.0/bin/pycwb_search +12 -0
- PycWB-0.20.0/bin/pycwb_show +12 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/pycwb.hh +9 -0
- PycWB-0.20.0/prototypes/dag/prefect_test.py +298 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/_version.py +2 -2
- PycWB-0.20.0/pycwb/cli/run.py +87 -0
- PycWB-0.19.0/bin/pycwb_show → PycWB-0.20.0/pycwb/cli/server.py +5 -6
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/autoencoder/autoencoder.py +17 -9
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/coherence/coherence.py +6 -10
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/cwb_conversions/series.py +15 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/data_conditioning/data_conditioning.py +2 -2
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/likelihood/likelihood.py +9 -3
- PycWB-0.20.0/pycwb/modules/likelihoodWP/dpf.py +412 -0
- PycWB-0.20.0/pycwb/modules/likelihoodWP/dpf_cython.pyx +100 -0
- PycWB-0.20.0/pycwb/modules/likelihoodWP/likelihood.py +326 -0
- PycWB-0.20.0/pycwb/modules/likelihoodWP/sky_stat.py +273 -0
- PycWB-0.20.0/pycwb/modules/likelihoodWP/utils.py +214 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/plot/cluster_statistics.py +1 -2
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/plot/waveform.py +1 -2
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/plot_map/world_map.py +2 -3
- PycWB-0.20.0/pycwb/modules/read_data/data_find.py +30 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/read_data/read_data.py +8 -4
- PycWB-0.20.0/pycwb/modules/statistics/eff.py +249 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/super_cluster/supercluster.py +1 -1
- PycWB-0.20.0/pycwb/modules/superlag/__init__.py +1 -0
- PycWB-0.20.0/pycwb/modules/superlag/superlag.py +79 -0
- PycWB-0.20.0/pycwb/modules/xtalk/monster.py +129 -0
- PycWB-0.20.0/pycwb/modules/xtalk/monster_old.py +264 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/search.py +4 -5
- PycWB-0.20.0/pycwb/vendor/__init__.py +0 -0
- PycWB-0.20.0/pycwb/vendor/autoencoder/__init__.py +0 -0
- PycWB-0.20.0/pycwb/vendor/lib/__init__.py +0 -0
- PycWB-0.20.0/pycwb/vendor/wdmXTalk/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/setup.py +2 -2
- PycWB-0.19.0/bin/pycwb_search +0 -91
- {PycWB-0.19.0 → PycWB-0.20.0}/.gitlab-ci.yml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/LICENSE +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/MANIFEST.in +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/Makefile +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/PycWB.egg-info/dependency_links.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/PycWB.egg-info/requires.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/PycWB.egg-info/top_level.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/README.md +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Biorthogonal.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Biorthogonal.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/CMakeLists.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Daubechies.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Daubechies.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/FourierCoefficients.icc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Haar.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Haar.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/LineFilter.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/LineFilter.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Makefile +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Meyer.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Meyer.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Symlet.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Symlet.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/SymmArray.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/SymmArray.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/SymmArraySSE.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/SymmArraySSE.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/SymmObjArray.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/SymmObjArray.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/WDM.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/WDM.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/WDMOverlap.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/WDMOverlap.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/WaveDWT.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/WaveDWT.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Wavelet.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/Wavelet.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/alm.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/build.sh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/cluster.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/cluster.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/cmake/FindHealpix.cmake +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/cmake/FindeBBH.cmake +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/cmake/install_function.cmake +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/constants.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/detector.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/detector.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/injection.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/injection.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/lossy.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/lossy.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/monster.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/monster.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/netcluster.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/netcluster.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/netevent.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/netevent.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/netpixel.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/netpixel.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/network.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/network.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/rdfr.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/rdfr.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/readframe.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/readframe.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/readfrfile.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/readfrfile.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/regression.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/regression.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/skycoord.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/skymap.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/skymap.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/sseries.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/sseries.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/time.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/time.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wat.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/watasm.S +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/watasm_elf64.o +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/watavx.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/watbranch.in +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/watfun.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wathash.in +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/watplot.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/watplot.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/watsse.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wattag.in +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/waturl.in +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/watversion.hh.in +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wavearray.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wavearray.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wavecomplex.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wavecomplex.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wavecor.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wavecor.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wavefft.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wavefft.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wavelet_LinkDef.h +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wavelinefilter.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wavelinefilter.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/waverdc.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/waverdc.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wseries.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wseries.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/cwb-core/wslice.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/0.installation_guide.md +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/1.initialisation_guide.md +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/2.test_interactive_multistages_2G_analysis.md +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/3.run_pycwb_with_yaml_config.md +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/4.py_cwb_inet_2G.md +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/5.cwb2G_analyse.md +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/6.wat_codes_notes.md +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/Makefile +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/diagram.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/make.bat +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/_static/.keep +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/_templates/.keep +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/conf.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/credit.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/index.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/install.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/mod_cwb.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/package.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/schema.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/tutorial_batch_inj.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/tutorial_customized_wf_gen.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/tutorial_injection.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/tutorial_multi_injection.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/tutorial_search.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/tutorials.rst +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/docs/source/workflow.png +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/envs/Dockerfile +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/envs/mamba/Dockerfile +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/autoencoder/pycwb_injection.ipynb +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/autoencoder/user_parameters_injection.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/batch_injection/generate_parameters.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/parameters.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/batch_injection/pycbc_inject/hyperbolicTD/waveform.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/batch_injection/pycwb_injection.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/batch_injection/user_parameters_injection.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/DQ/H1_cat0.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/DQ/H1_cat1.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/DQ/H1_cat2.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/DQ/H1_cat4.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/DQ/L1_cat0.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/DQ/L1_cat1.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/DQ/L1_cat2.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/DQ/L1_cat4.txt +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/input/OPBM.period +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/input/OPBM_H1.frames +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/input/OPBM_L1.frames +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/pycwb_mdc.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/benchmark/user_parameters_mdc.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/colab/pycWB_GW150914.ipynb +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/injection/pycwb_injection.ipynb +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/injection/pycwb_injection.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/injection/user_parameters_injection.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/lvk_sep_2023/demo.ipynb +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/lvk_sep_2023/user_parameters.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/multiple_injection/pycwb_injection.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/multiple_injection/user_parameters_injection.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/pyseobnr_injection/generate_parameters.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/pyseobnr_injection/user_parameters_injection.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/pyseobnr_injection/waveform_model/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/pyseobnr_injection/waveform_model/waveform.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/examples/waveform_reconstruction/reconstruct_waveform_from_cluster.ipynb +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/cwb_core/coherence.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/cwb_core/coherence.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/cwb_core/likelihood.cc +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/cwb_core/likelihood.hh +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/dag/dag.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger/server.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger/visualizition.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/.eslintrc.cjs +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/.gitignore +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/.prettierrc.json +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/README.md +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/index.html +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/package-lock.json +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/package.json +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/public/favicon.ico +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/App.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/assets/base.css +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/assets/cwb_icon_modern_blue_alfa.png +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/assets/main.css +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/assets/style.css +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/components/HelloWorld.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/components/TheWelcome.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/components/WelcomeItem.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/components/__tests__/HelloWorld.spec.js +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/components/icons/IconCommunity.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/components/icons/IconDocumentation.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/components/icons/IconEcosystem.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/components/icons/IconSupport.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/components/icons/IconTooling.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/main.js +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/router/index.js +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/stores/counter.js +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/views/drawflow.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/views/nodes/node1.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/views/nodes/node2.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/views/nodes/node3.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/src/views/nodes/nodeHeader.vue +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/messenger-web-interface/vite.config.js +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/performance/numba_test.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/performance/taichi_test.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/prototypes/search.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/__init__.py +0 -0
- {PycWB-0.19.0/pycwb/messenger → PycWB-0.20.0/pycwb/cli}/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/config/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/config/config.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/constants/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/constants/project_constants.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/constants/user_parameters_schema.py +0 -0
- {PycWB-0.19.0/pycwb/modules → PycWB-0.20.0/pycwb/messenger}/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/messenger/messenger.py +0 -0
- {PycWB-0.19.0/pycwb/modules/condor → PycWB-0.20.0/pycwb/modules}/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/autoencoder/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/autoencoder/cwb_autoencoder.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/autoencoder/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/catalog/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/catalog/catalog.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/catalog/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/coherence/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/coherence/coherence_lite.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/coherence/module.yaml +0 -0
- {PycWB-0.19.0/pycwb/modules/plot_map → PycWB-0.20.0/pycwb/modules/condor}/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/condor/condor.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/condor/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/cwb_conversions/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/cwb_conversions/cluster.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/cwb_conversions/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/cwb_conversions/pixel.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/cwb_conversions/sparse_series.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/data_conditioning/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/data_conditioning/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/data_conditioning/regression.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/data_conditioning/whitening.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/job_segment/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/job_segment/dq_segment.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/job_segment/frame.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/job_segment/job_segment.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/job_segment/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/job_segment/plots.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/job_segment/super_lag.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/likelihood/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/likelihood/module.yaml +0 -0
- {PycWB-0.19.0/pycwb/modules/web_viewer → PycWB-0.20.0/pycwb/modules/likelihoodWP}/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/logger/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/logger/logger.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/logger/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/multi_resolution_wdm/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/multi_resolution_wdm/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/multi_resolution_wdm/wdm.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/plot/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/plot/event.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/plot/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/plot/spectrogram.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/plot_data_quality/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/plot_data_quality/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/plot_data_quality/plot.py +0 -0
- {PycWB-0.19.0/pycwb/types → PycWB-0.20.0/pycwb/modules/plot_map}/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/plot_map/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/read_data/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/read_data/data_check.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/read_data/mdc.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/read_data/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/reconstruction/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/reconstruction/getMRAwaveform.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/reconstruction/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/sparse_series/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/sparse_series/module.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/sparse_series/sparse_table.py +0 -0
- {PycWB-0.19.0/pycwb/utils → PycWB-0.20.0/pycwb/modules/statistics}/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/super_cluster/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/super_cluster/module.yaml +0 -0
- {PycWB-0.19.0/pycwb/utils/conversions → PycWB-0.20.0/pycwb/modules/web_viewer}/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/web_viewer/create.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/modules/web_viewer/module.yaml +0 -0
- {PycWB-0.19.0/pycwb/vendor → PycWB-0.20.0/pycwb/modules/xtalk}/__init__.py +0 -0
- {PycWB-0.19.0/pycwb/vendor/autoencoder → PycWB-0.20.0/pycwb/types}/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/types/data_quality_file.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/types/detector.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/types/job.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/types/network.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/types/network_cluster.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/types/network_event.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/types/network_pixel.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/types/sparse_series.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/types/time_frequency_series.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/types/wdm.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/types/wdm_xtalk.py +0 -0
- {PycWB-0.19.0/pycwb/vendor/lib → PycWB-0.20.0/pycwb/utils}/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/utils/async_write.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/utils/check_ROOT.py +0 -0
- {PycWB-0.19.0/pycwb/vendor/wdmXTalk → PycWB-0.20.0/pycwb/utils/conversions}/__init__.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/utils/conversions/timeseries.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/utils/dataclass_object_io.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/utils/dep_check.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/utils/image.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/utils/module.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/utils/network.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/utils/skymap_coord.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/utils/yaml_helper.py +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/vendor/autoencoder/cwb_autoencoder.h5 +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/vendor/example.yaml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/vendor/web_viewer/event_dump.html +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/vendor/web_viewer/styles.css +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pycwb/vendor/web_viewer/viewer.html +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/pyproject.toml +0 -0
- {PycWB-0.19.0 → PycWB-0.20.0}/setup.cfg +0 -0
|
@@ -11,6 +11,16 @@ PycWB.egg-info/SOURCES.txt
|
|
|
11
11
|
PycWB.egg-info/dependency_links.txt
|
|
12
12
|
PycWB.egg-info/requires.txt
|
|
13
13
|
PycWB.egg-info/top_level.txt
|
|
14
|
+
benchmark/README.md
|
|
15
|
+
benchmark/likelihood/README.md
|
|
16
|
+
benchmark/likelihood/generate_data_for_likelihood.py
|
|
17
|
+
benchmark/likelihood/performance_test_dpf.py
|
|
18
|
+
benchmark/likelihood/performance_test_opt_sky.py
|
|
19
|
+
benchmark/likelihood/user_parameters_injection.yaml
|
|
20
|
+
benchmark/supercluster/README.md
|
|
21
|
+
benchmark/supercluster/generate_data.py
|
|
22
|
+
benchmark/supercluster/user_parameters_injection.yaml
|
|
23
|
+
bin/pycwb
|
|
14
24
|
bin/pycwb_search
|
|
15
25
|
bin/pycwb_show
|
|
16
26
|
cwb-core/Biorthogonal.cc
|
|
@@ -179,6 +189,7 @@ prototypes/cwb_core/coherence.hh
|
|
|
179
189
|
prototypes/cwb_core/likelihood.cc
|
|
180
190
|
prototypes/cwb_core/likelihood.hh
|
|
181
191
|
prototypes/dag/dag.py
|
|
192
|
+
prototypes/dag/prefect_test.py
|
|
182
193
|
prototypes/messenger/__init__.py
|
|
183
194
|
prototypes/messenger/server.py
|
|
184
195
|
prototypes/messenger/visualizition.py
|
|
@@ -218,6 +229,9 @@ prototypes/performance/taichi_test.py
|
|
|
218
229
|
pycwb/__init__.py
|
|
219
230
|
pycwb/_version.py
|
|
220
231
|
pycwb/search.py
|
|
232
|
+
pycwb/cli/__init__.py
|
|
233
|
+
pycwb/cli/run.py
|
|
234
|
+
pycwb/cli/server.py
|
|
221
235
|
pycwb/config/__init__.py
|
|
222
236
|
pycwb/config/config.py
|
|
223
237
|
pycwb/constants/__init__.py
|
|
@@ -261,6 +275,12 @@ pycwb/modules/job_segment/super_lag.py
|
|
|
261
275
|
pycwb/modules/likelihood/__init__.py
|
|
262
276
|
pycwb/modules/likelihood/likelihood.py
|
|
263
277
|
pycwb/modules/likelihood/module.yaml
|
|
278
|
+
pycwb/modules/likelihoodWP/__init__.py
|
|
279
|
+
pycwb/modules/likelihoodWP/dpf.py
|
|
280
|
+
pycwb/modules/likelihoodWP/dpf_cython.pyx
|
|
281
|
+
pycwb/modules/likelihoodWP/likelihood.py
|
|
282
|
+
pycwb/modules/likelihoodWP/sky_stat.py
|
|
283
|
+
pycwb/modules/likelihoodWP/utils.py
|
|
264
284
|
pycwb/modules/logger/__init__.py
|
|
265
285
|
pycwb/modules/logger/logger.py
|
|
266
286
|
pycwb/modules/logger/module.yaml
|
|
@@ -281,6 +301,7 @@ pycwb/modules/plot_map/module.yaml
|
|
|
281
301
|
pycwb/modules/plot_map/world_map.py
|
|
282
302
|
pycwb/modules/read_data/__init__.py
|
|
283
303
|
pycwb/modules/read_data/data_check.py
|
|
304
|
+
pycwb/modules/read_data/data_find.py
|
|
284
305
|
pycwb/modules/read_data/mdc.py
|
|
285
306
|
pycwb/modules/read_data/module.yaml
|
|
286
307
|
pycwb/modules/read_data/read_data.py
|
|
@@ -290,12 +311,19 @@ pycwb/modules/reconstruction/module.yaml
|
|
|
290
311
|
pycwb/modules/sparse_series/__init__.py
|
|
291
312
|
pycwb/modules/sparse_series/module.yaml
|
|
292
313
|
pycwb/modules/sparse_series/sparse_table.py
|
|
314
|
+
pycwb/modules/statistics/__init__.py
|
|
315
|
+
pycwb/modules/statistics/eff.py
|
|
293
316
|
pycwb/modules/super_cluster/__init__.py
|
|
294
317
|
pycwb/modules/super_cluster/module.yaml
|
|
295
318
|
pycwb/modules/super_cluster/supercluster.py
|
|
319
|
+
pycwb/modules/superlag/__init__.py
|
|
320
|
+
pycwb/modules/superlag/superlag.py
|
|
296
321
|
pycwb/modules/web_viewer/__init__.py
|
|
297
322
|
pycwb/modules/web_viewer/create.py
|
|
298
323
|
pycwb/modules/web_viewer/module.yaml
|
|
324
|
+
pycwb/modules/xtalk/__init__.py
|
|
325
|
+
pycwb/modules/xtalk/monster.py
|
|
326
|
+
pycwb/modules/xtalk/monster_old.py
|
|
299
327
|
pycwb/types/__init__.py
|
|
300
328
|
pycwb/types/data_quality_file.py
|
|
301
329
|
pycwb/types/detector.py
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Benchmark for the Python implementation of the algorithms
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## Supercluster Benchmark
|
|
5
|
+
|
|
6
|
+
Please refer to the subdirectory `benchmark/supercluster` for more details.
|
|
7
|
+
|
|
8
|
+
## Likelihood Benchmark
|
|
9
|
+
|
|
10
|
+
Please refer to the subdirectory `benchmark/likelihood` for more details.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Likelihood Benchmark
|
|
2
|
+
|
|
3
|
+
This benchmark is designed to test the performance of the likelihood in Python
|
|
4
|
+
|
|
5
|
+
## Prepare the test data for the script
|
|
6
|
+
|
|
7
|
+
Run the script `generate_data_for_likelihood.py` to generate the cluster data for the likelihood benchmark.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
python generate_data_for_likelihood.py
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
A `test_data.pkl` file will be generated for all the Python variables required for likelihood benchmark.
|
|
14
|
+
|
|
15
|
+
## Run the benchmark
|
|
16
|
+
|
|
17
|
+
Run the script `performance_test_opt_sky.py` to run the benchmark.
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
python performance_test_opt_sky.py
|
|
21
|
+
```
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
from pycwb.config import Config
|
|
4
|
+
from pycwb.modules.logger import logger_init
|
|
5
|
+
|
|
6
|
+
if not os.environ.get('HOME_WAT_FILTERS'):
|
|
7
|
+
print('Please set HOME_WAT_FILTERS to the directory of WAT filters')
|
|
8
|
+
exit(1)
|
|
9
|
+
|
|
10
|
+
logger_init()
|
|
11
|
+
|
|
12
|
+
config = Config('./user_parameters_injection.yaml')
|
|
13
|
+
|
|
14
|
+
#%% md
|
|
15
|
+
## generate injected data for each detector with given parameters in config
|
|
16
|
+
#%%
|
|
17
|
+
from pycwb.modules.read_data import generate_injection
|
|
18
|
+
from pycwb.modules.job_segment import create_job_segment_from_injection
|
|
19
|
+
|
|
20
|
+
job_segments = create_job_segment_from_injection(config.ifo, config.simulation, config.injection)
|
|
21
|
+
|
|
22
|
+
data = generate_injection(config, job_segments[0])
|
|
23
|
+
|
|
24
|
+
#%% md
|
|
25
|
+
## apply data conditioning to the data
|
|
26
|
+
#%%
|
|
27
|
+
from pycwb.modules.data_conditioning import data_conditioning
|
|
28
|
+
|
|
29
|
+
strains, nRMS = data_conditioning(config, data)
|
|
30
|
+
|
|
31
|
+
#%% md
|
|
32
|
+
## calculate coherence
|
|
33
|
+
#%%
|
|
34
|
+
from pycwb.modules.coherence import coherence
|
|
35
|
+
|
|
36
|
+
# calculate coherence
|
|
37
|
+
fragment_clusters = coherence(config, strains, nRMS)
|
|
38
|
+
|
|
39
|
+
#%% md
|
|
40
|
+
## supercluster
|
|
41
|
+
#%%
|
|
42
|
+
from pycwb.modules.super_cluster import supercluster
|
|
43
|
+
from pycwb.types.network import Network
|
|
44
|
+
|
|
45
|
+
network = Network(config, strains, nRMS)
|
|
46
|
+
|
|
47
|
+
pwc_list = supercluster(config, network, fragment_clusters, strains)
|
|
48
|
+
|
|
49
|
+
#%% md
|
|
50
|
+
## dump data
|
|
51
|
+
|
|
52
|
+
#%%
|
|
53
|
+
# only dump the first supercluster
|
|
54
|
+
d = pwc_list[0]
|
|
55
|
+
|
|
56
|
+
from pycwb.modules.cwb_conversions import convert_fragment_clusters_to_netcluster, convert_netcluster_to_fragment_clusters
|
|
57
|
+
|
|
58
|
+
pwc = network.get_cluster(0)
|
|
59
|
+
wdm_list = network.get_wdm_list()
|
|
60
|
+
for wdm in wdm_list:
|
|
61
|
+
wdm.setTDFilter(config.TDSize, config.upTDF)
|
|
62
|
+
|
|
63
|
+
# load delay index
|
|
64
|
+
network.set_delay_index(config.TDRate)
|
|
65
|
+
|
|
66
|
+
# load time delay data
|
|
67
|
+
pwc.cpf(convert_fragment_clusters_to_netcluster(d.dump_cluster(0)), False)
|
|
68
|
+
pwc.setcore(False, 1)
|
|
69
|
+
pwc.loadTDampSSE(network.net, 'a', config.BATCH, config.BATCH)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
from pycwb.modules.likelihoodWP.likelihood import load_data_from_ifo
|
|
73
|
+
import numpy as np
|
|
74
|
+
|
|
75
|
+
acor = network.net.acor
|
|
76
|
+
network_energy_threshold = 2 * acor * acor * config.nIFO
|
|
77
|
+
gamma_regulator = network.net.gamma * network.net.gamma * 2 / 3
|
|
78
|
+
delta_regulator = abs(network.net.delta) if abs(network.net.delta) < 1 else 1
|
|
79
|
+
REG = [delta_regulator * np.sqrt(2), 0, 0]
|
|
80
|
+
netEC_threshold = network.net.netRHO * network.net.netRHO * 2
|
|
81
|
+
|
|
82
|
+
n_sky = network.net.index.size()
|
|
83
|
+
|
|
84
|
+
ml, FP, FX = load_data_from_ifo(network, config.nIFO)
|
|
85
|
+
|
|
86
|
+
cluster_test = convert_netcluster_to_fragment_clusters(pwc)
|
|
87
|
+
pixels = cluster_test.clusters[0].pixels
|
|
88
|
+
|
|
89
|
+
# save FP, FX, rms, n_sky, gamma_regulator, network_energy_threshold to pickle
|
|
90
|
+
test_data = {
|
|
91
|
+
'FP': FP,
|
|
92
|
+
'FX': FX,
|
|
93
|
+
'pixels': pixels,
|
|
94
|
+
'n_ifo': config.nIFO,
|
|
95
|
+
'ml': ml,
|
|
96
|
+
'n_sky': n_sky,
|
|
97
|
+
'delta_regulator': delta_regulator,
|
|
98
|
+
'gamma_regulator': gamma_regulator,
|
|
99
|
+
'netEC_threshold': netEC_threshold,
|
|
100
|
+
'network_energy_threshold': network_energy_threshold,
|
|
101
|
+
'netCC': network.net.netCC,
|
|
102
|
+
}
|
|
103
|
+
import pickle
|
|
104
|
+
with open('test_data.pkl', 'wb') as f:
|
|
105
|
+
pickle.dump(test_data, f)
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import pickle
|
|
2
|
+
import numpy as np
|
|
3
|
+
|
|
4
|
+
from pycwb.modules.likelihoodWP.likelihood import load_data_from_pixels
|
|
5
|
+
|
|
6
|
+
# load FP, FX, rms, n_sky, gamma_regulator, network_energy_threshold from pickle
|
|
7
|
+
with open('test_data.pkl', 'rb') as f:
|
|
8
|
+
test_data = pickle.load(f)
|
|
9
|
+
|
|
10
|
+
FP = test_data['FP']
|
|
11
|
+
FX = test_data['FX']
|
|
12
|
+
pixels = test_data['pixels']
|
|
13
|
+
n_ifo = test_data['n_ifo']
|
|
14
|
+
n_sky = test_data['n_sky']
|
|
15
|
+
gamma_regulator = test_data['gamma_regulator']
|
|
16
|
+
network_energy_threshold = test_data['network_energy_threshold']
|
|
17
|
+
rms, td00, td90, td_energy = load_data_from_pixels(pixels, n_ifo)
|
|
18
|
+
|
|
19
|
+
from numba import njit, prange, vectorize, guvectorize, float32, uint32
|
|
20
|
+
|
|
21
|
+
import numpy as np
|
|
22
|
+
from math import sqrt
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@njit(cache=True)
|
|
26
|
+
def dpf_np(Fp0, Fx0, rms):
|
|
27
|
+
"""
|
|
28
|
+
:param Fp0: Fp0 is a NIFO x 1 array
|
|
29
|
+
:param Fx0: Fx0 is a NIFO x 1 array
|
|
30
|
+
:param rms: rms is a NIFO x NPIX array
|
|
31
|
+
:return:
|
|
32
|
+
"""
|
|
33
|
+
# sign = np.sign(np.dot(Fp0, Fx0))
|
|
34
|
+
|
|
35
|
+
f = rms * Fp0
|
|
36
|
+
F = rms * Fx0
|
|
37
|
+
|
|
38
|
+
_ff = np.sum(f * f, axis=1)
|
|
39
|
+
_FF = np.sum(F * F, axis=1)
|
|
40
|
+
_fF = np.sum(f * F, axis=1)
|
|
41
|
+
|
|
42
|
+
_si = 2.0 * _fF
|
|
43
|
+
_co = _ff - _FF
|
|
44
|
+
_AP = _ff + _FF
|
|
45
|
+
_nn = np.sqrt(_co * _co + _si * _si)
|
|
46
|
+
_cc = _co / (_nn + 0.0001)
|
|
47
|
+
fp = (_AP + _nn) / 2.0
|
|
48
|
+
|
|
49
|
+
si = np.sqrt((1.0 - _cc) / 2.0)
|
|
50
|
+
co = np.where(_si > 0.0, np.sqrt((1.0 + _cc) / 2.0), -np.sqrt((1.0 + _cc) / 2.0))
|
|
51
|
+
|
|
52
|
+
f, F = f * co[:, np.newaxis] + F * si[:, np.newaxis], F * co[:, np.newaxis] - f * si[:, np.newaxis]
|
|
53
|
+
fF_new = np.sum(f * F, axis=1) / (fp + 0.0001)
|
|
54
|
+
|
|
55
|
+
F -= f * fF_new[:, np.newaxis]
|
|
56
|
+
fx = np.sum(F * F, axis=1)
|
|
57
|
+
ni = np.sum(f ** 4, axis=1) / ((fp * fp) + 0.0001)
|
|
58
|
+
|
|
59
|
+
NI = np.sum(fx / (ni + 0.0001))
|
|
60
|
+
NN = np.sum(fp > 0.0)
|
|
61
|
+
|
|
62
|
+
return sqrt(NI / (NN + 0.01)), fp, fx, si, co, ni
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
@vectorize([float32(float32, float32)])
|
|
66
|
+
def mul_vec(a, b):
|
|
67
|
+
return a * b
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
@vectorize([float32(float32, float32)])
|
|
71
|
+
def div_vec(a, b):
|
|
72
|
+
_o = float32(0.0001)
|
|
73
|
+
return a / (b + _o)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
@vectorize([float32(float32, float32)])
|
|
77
|
+
def add_vec(a, b):
|
|
78
|
+
return a + b
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
@vectorize([float32(float32, float32)])
|
|
82
|
+
def sub_vec(a, b):
|
|
83
|
+
return a - b
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
@vectorize([float32(float32, float32)])
|
|
87
|
+
def norm_vec(a, b):
|
|
88
|
+
return sqrt(a * a + b * b)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
@vectorize([float32(float32, float32)])
|
|
92
|
+
def avg_vec(a, b):
|
|
93
|
+
return (a + b) / float32(2.)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
@vectorize([float32(float32)])
|
|
97
|
+
def sin_from_cc(a):
|
|
98
|
+
return sqrt((float32(1.) - a) / float32(2.))
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
@vectorize([float32(float32, float32)])
|
|
102
|
+
def cos_from_cc(a, si):
|
|
103
|
+
return sqrt((float32(1.) + a) / float32(2.)) if si > float32(0.) else - sqrt((float32(1.) + a) / float32(2.))
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
@vectorize([uint32(float32)])
|
|
107
|
+
def pos_sign_vec(a):
|
|
108
|
+
return uint32(1) if a > float32(0.) else uint32(0)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
@vectorize([float32(float32, float32, float32, float32)])
|
|
112
|
+
def rotate_fp_vec(fp, fx, si, co):
|
|
113
|
+
return fp * co + fx * si
|
|
114
|
+
|
|
115
|
+
@vectorize([float32(float32, float32, float32, float32)])
|
|
116
|
+
def rotate_fx_vec(fp, fx, si, co):
|
|
117
|
+
return fx * co - fp * si
|
|
118
|
+
|
|
119
|
+
@vectorize([float32(float32)])
|
|
120
|
+
def quad_vec(a):
|
|
121
|
+
return a * a * a * a
|
|
122
|
+
|
|
123
|
+
@guvectorize([(float32[:], float32[:], float32[:])], '(n),(n)->()')
|
|
124
|
+
def sum_vec(a, b, res):
|
|
125
|
+
s = float32(0.)
|
|
126
|
+
for i in range(a.shape[0]):
|
|
127
|
+
s += a[i] * b[i]
|
|
128
|
+
res[0] = s
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
@njit(cache=True)
|
|
132
|
+
def dpf_np_loops_vec(Fp0, Fx0, rms):
|
|
133
|
+
NPIX, NIFO = rms.shape
|
|
134
|
+
NPIX = uint32(NPIX)
|
|
135
|
+
NIFO = uint32(NIFO)
|
|
136
|
+
|
|
137
|
+
# variables for return
|
|
138
|
+
f = np.empty((NPIX, NIFO), dtype=np.float32)
|
|
139
|
+
F = np.empty((NPIX, NIFO), dtype=np.float32)
|
|
140
|
+
si = np.empty(NPIX, dtype=np.float32)
|
|
141
|
+
co = np.empty(NPIX, dtype=np.float32)
|
|
142
|
+
fp = np.empty(NPIX, dtype=np.float32)
|
|
143
|
+
fx = np.zeros(NPIX, dtype=np.float32)
|
|
144
|
+
ni = np.zeros(NPIX, dtype=np.float32)
|
|
145
|
+
|
|
146
|
+
_o = float32(0.0001)
|
|
147
|
+
|
|
148
|
+
# Prepare constants
|
|
149
|
+
# NI = np.float32(0.0)
|
|
150
|
+
# NN = np.uint32(0)
|
|
151
|
+
|
|
152
|
+
# Compute f and F
|
|
153
|
+
for j in range(NIFO):
|
|
154
|
+
for i in range(NPIX):
|
|
155
|
+
f[i, j] = mul_vec(rms[i, j], Fp0[j])
|
|
156
|
+
F[i, j] = mul_vec(rms[i, j], Fx0[j])
|
|
157
|
+
|
|
158
|
+
# Compute ff, FF, and fF
|
|
159
|
+
for i in range(NPIX):
|
|
160
|
+
_ff = float32(0.)
|
|
161
|
+
_FF = float32(0.)
|
|
162
|
+
_fF = float32(0.)
|
|
163
|
+
|
|
164
|
+
for j in range(NIFO):
|
|
165
|
+
_ff += f[i, j] * f[i, j]
|
|
166
|
+
_FF += F[i, j] * F[i, j]
|
|
167
|
+
_fF += F[i, j] * f[i, j]
|
|
168
|
+
|
|
169
|
+
# Compute si, co, AP, nn, fp, and cc
|
|
170
|
+
_si = mul_vec(float32(2.), _fF) # 2. * _fF
|
|
171
|
+
_co = sub_vec(_ff, _FF) # _ff - _FF
|
|
172
|
+
_AP = add_vec(_ff, _FF) # _ff + _FF
|
|
173
|
+
_nn = norm_vec(_co, _si) # np.sqrt(_co * _co + _si * _si)
|
|
174
|
+
_cc = div_vec(_co, _nn) # _co / (_nn + 0.0001)
|
|
175
|
+
fp[i] = avg_vec(_AP, _nn) # (_AP + _nn) / 2.
|
|
176
|
+
si[i] = sin_from_cc(_cc) # sqrt((1. - _cc) / 2.)
|
|
177
|
+
co[i] = cos_from_cc(_cc,_si) # (sqrt((1. + _cc) / 2.) if _si > 0.0 else - sqrt((1. + _cc) / 2.))
|
|
178
|
+
|
|
179
|
+
# Compute f_new, F_new, fF_new, F_new, fx, ni
|
|
180
|
+
for i in range(NPIX):
|
|
181
|
+
for j in range(NIFO):
|
|
182
|
+
f[i, j], F[i, j] = f[i, j] * co[i] + F[i, j] * si[i], F[i, j] * co[i] - f[i, j] * si[i]
|
|
183
|
+
# f[i, j] = rotate_fp_vec(f[i, j], F[i, j], si[i], co[i])
|
|
184
|
+
# F[i, j] = rotate_fx_vec(f[i, j], F[i, j], si[i], co[i])
|
|
185
|
+
|
|
186
|
+
fF_new = float32(0.)
|
|
187
|
+
for j in range(NIFO):
|
|
188
|
+
fF_new += f[i, j] * F[i, j]
|
|
189
|
+
# fF_new /= (fp[i] + _o)
|
|
190
|
+
fF_new = div_vec(fF_new, fp[i])
|
|
191
|
+
|
|
192
|
+
for j in range(NIFO):
|
|
193
|
+
F[i, j] -= f[i, j] * fF_new
|
|
194
|
+
fx[i] += F[i, j] * F[i, j]
|
|
195
|
+
ni[i] += f[i, j] ** 4
|
|
196
|
+
# ni[i] += quad_vec(f[i, j])
|
|
197
|
+
|
|
198
|
+
NI, NN = float32(0.0), uint32(0)
|
|
199
|
+
|
|
200
|
+
# Compute NI and NN
|
|
201
|
+
for i in range(NPIX):
|
|
202
|
+
# ni[i] /= (fp[i] * fp[i] + _o)
|
|
203
|
+
ni[i] = div_vec(ni[i], mul_vec(fp[i], fp[i]))
|
|
204
|
+
# NI += fx[i] / (ni[i] + _o)
|
|
205
|
+
NI += div_vec(fx[i], ni[i])
|
|
206
|
+
# if fp[i] > float32(0.0):
|
|
207
|
+
NN += pos_sign_vec(fp[i])
|
|
208
|
+
# NN += 1 if fp[i] > 0.0 else 0
|
|
209
|
+
|
|
210
|
+
return sqrt(NI / (NN + 0.01)), fp, fx, si, co, ni
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
@njit(cache=True)
|
|
214
|
+
def calculate_dpf(FP, FX, rms, n_sky: int, gamma_regulator: float, network_energy_threshold: float):
|
|
215
|
+
FP = FP.astype(np.float32)
|
|
216
|
+
FX = FX.astype(np.float32)
|
|
217
|
+
rms = rms.astype(np.float32)
|
|
218
|
+
|
|
219
|
+
MM = np.zeros(n_sky, dtype=np.uint8)
|
|
220
|
+
mm = np.zeros(n_sky, dtype=np.uint8)
|
|
221
|
+
|
|
222
|
+
for i in range(n_sky):
|
|
223
|
+
# todo: if(!mm[l]) continue; // skip delay configurations
|
|
224
|
+
# if(bBB && !BB[l]) continue; // skip delay configurations : big clusters
|
|
225
|
+
MM[i] = 1
|
|
226
|
+
# FF += 1
|
|
227
|
+
aa, fp, fx, si, co, ni = dpf_np_loops_vec(FP[i], FX[i], rms)
|
|
228
|
+
|
|
229
|
+
mm[i] = 1 if aa > gamma_regulator else 0
|
|
230
|
+
FF = MM.sum()
|
|
231
|
+
ff = mm.sum()
|
|
232
|
+
|
|
233
|
+
return (FF ** 2 / (ff ** 2 + 1.e-9) - 1) * network_energy_threshold
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
calculate_dpf(FP.T, FX.T, rms.T,
|
|
237
|
+
int(n_sky),
|
|
238
|
+
gamma_regulator, network_energy_threshold)
|
|
239
|
+
|
|
240
|
+
print(dpf_np_loops_vec(FP.T[1000].astype(np.float32), FX.T[1000].astype(np.float32), rms.T.astype(np.float32))[0])
|
|
241
|
+
|
|
242
|
+
import time
|
|
243
|
+
|
|
244
|
+
total_time = 0
|
|
245
|
+
# # convert FP, FX, rms to float32
|
|
246
|
+
for i in range(10):
|
|
247
|
+
start = time.time()
|
|
248
|
+
calculate_dpf(FP.T, FX.T, rms.T,
|
|
249
|
+
int(n_sky),
|
|
250
|
+
gamma_regulator, network_energy_threshold)
|
|
251
|
+
end = time.time()
|
|
252
|
+
total_time += end - start
|
|
253
|
+
print(end - start)
|
|
254
|
+
print(f"Average time: {total_time / 10:.4f} s")
|
|
255
|
+
|
|
256
|
+
from subprocess import Popen
|
|
257
|
+
from contextlib import contextmanager
|
|
258
|
+
from os import getpid
|
|
259
|
+
from time import sleep
|
|
260
|
+
from signal import SIGINT
|
|
261
|
+
|
|
262
|
+
# @contextmanager
|
|
263
|
+
# def perf_stat():
|
|
264
|
+
# p = Popen(["perf", "stat", "-p", str(getpid())])
|
|
265
|
+
# sleep(0.5)
|
|
266
|
+
# yield
|
|
267
|
+
# p.send_signal(SIGINT)
|
|
268
|
+
#
|
|
269
|
+
#
|
|
270
|
+
# with perf_stat():
|
|
271
|
+
# calculate_dpf(FP.T, FX.T, rms.T,
|
|
272
|
+
# int(n_sky),
|
|
273
|
+
# gamma_regulator, network_energy_threshold)
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# add .. to path[0]
|
|
2
|
+
import sys, os
|
|
3
|
+
sys.path.insert(0, '..')
|
|
4
|
+
|
|
5
|
+
import pickle
|
|
6
|
+
from math import sqrt
|
|
7
|
+
import numpy as np
|
|
8
|
+
from pycwb.modules.likelihoodWP.likelihood import calculate_dpf, find_optimal_sky_localization, calculate_sky_statistics
|
|
9
|
+
from pycwb.modules.likelihoodWP.likelihood import load_data_from_pixels
|
|
10
|
+
from pycwb.modules.xtalk.monster import load_catalog, getXTalk_pixels
|
|
11
|
+
import time
|
|
12
|
+
|
|
13
|
+
#################################################################################
|
|
14
|
+
# load FP, FX, rms, n_sky, gamma_regulator, network_energy_threshold from pickle
|
|
15
|
+
#################################################################################
|
|
16
|
+
with open('test_data.pkl', 'rb') as f:
|
|
17
|
+
test_data = pickle.load(f)
|
|
18
|
+
|
|
19
|
+
FP = test_data['FP']
|
|
20
|
+
FX = test_data['FX']
|
|
21
|
+
ml = test_data['ml']
|
|
22
|
+
n_sky = test_data['n_sky']
|
|
23
|
+
pixels = test_data['pixels']
|
|
24
|
+
gamma_regulator = test_data['gamma_regulator']
|
|
25
|
+
delta_regulator = test_data['delta_regulator']
|
|
26
|
+
network_energy_threshold = test_data['network_energy_threshold']
|
|
27
|
+
netCC = test_data['netCC']
|
|
28
|
+
n_ifo = test_data['n_ifo']
|
|
29
|
+
REG = np.array([delta_regulator * sqrt(2), 0., 0.])
|
|
30
|
+
|
|
31
|
+
rms, td00, td90, td_energy = load_data_from_pixels(pixels, n_ifo)
|
|
32
|
+
|
|
33
|
+
n_pix = rms.shape[1]
|
|
34
|
+
#####################
|
|
35
|
+
# Load xtalk catalog
|
|
36
|
+
#####################
|
|
37
|
+
if not os.environ.get('HOME_WAT_FILTERS'):
|
|
38
|
+
print('Please set HOME_WAT_FILTERS to the directory of WAT filters')
|
|
39
|
+
exit(1)
|
|
40
|
+
|
|
41
|
+
fn = f"{os.environ.get('HOME_WAT_FILTERS')}/wdmXTalk/OverlapCatalog16-1024.bin"
|
|
42
|
+
|
|
43
|
+
start_time = time.time()
|
|
44
|
+
xtalk_coeff, xtalk_lookup_table, layers, nRes = load_catalog(fn)
|
|
45
|
+
print(f"Time for load_catalog: {time.time() - start_time} s")
|
|
46
|
+
|
|
47
|
+
#######################
|
|
48
|
+
# Get xtalk for pixels
|
|
49
|
+
#######################
|
|
50
|
+
cluster_xtalk_lookup, cluster_xtalk = getXTalk_pixels(pixels, True, layers, xtalk_coeff, xtalk_lookup_table)
|
|
51
|
+
|
|
52
|
+
#############################################
|
|
53
|
+
# Convert FP, FX, rms, td00, td90 to float32
|
|
54
|
+
#############################################
|
|
55
|
+
td00 = np.transpose(td00.astype(np.float32), (2, 0, 1)) # (ndelay, nifo, npix)
|
|
56
|
+
td90 = np.transpose(td90.astype(np.float32), (2, 0, 1)) # (ndelay, nifo, npix)
|
|
57
|
+
FP = FP.T.astype(np.float32)
|
|
58
|
+
FX = FX.T.astype(np.float32)
|
|
59
|
+
rms = rms.T.astype(np.float32)
|
|
60
|
+
|
|
61
|
+
#############################################
|
|
62
|
+
# Calculate DPF and the optimal sky location
|
|
63
|
+
#############################################
|
|
64
|
+
REG[1] = calculate_dpf(FP, FX, rms, n_sky, n_ifo, gamma_regulator, network_energy_threshold)
|
|
65
|
+
|
|
66
|
+
l_max = find_optimal_sky_localization(n_ifo, n_pix, n_sky, FP, FX, rms, td00, td90, ml, REG, netCC, delta_regulator,
|
|
67
|
+
network_energy_threshold)
|
|
68
|
+
print(f"l_max: {l_max}")
|
|
69
|
+
|
|
70
|
+
#############################################
|
|
71
|
+
# Calculate sky statistics
|
|
72
|
+
#############################################
|
|
73
|
+
calculate_sky_statistics(l_max, n_ifo, n_pix, FP, FX, rms, td00, td90, ml, REG, network_energy_threshold, cluster_xtalk,
|
|
74
|
+
cluster_xtalk_lookup)
|
|
75
|
+
|
|
76
|
+
#############################################
|
|
77
|
+
# Performance test
|
|
78
|
+
#############################################
|
|
79
|
+
|
|
80
|
+
total_time = 0
|
|
81
|
+
# # convert FP, FX, rms to float32
|
|
82
|
+
for i in range(10):
|
|
83
|
+
start = time.time()
|
|
84
|
+
l_max = find_optimal_sky_localization(n_ifo, n_pix, n_sky, FP, FX, rms, td00, td90, ml, REG, netCC, delta_regulator,
|
|
85
|
+
network_energy_threshold)
|
|
86
|
+
end = time.time()
|
|
87
|
+
total_time += end - start
|
|
88
|
+
# print(end - start)
|
|
89
|
+
print(f"Average time for find_optimal_sky_localization: {total_time / 10} s")
|
|
90
|
+
|
|
91
|
+
total_time = 0
|
|
92
|
+
for i in range(10):
|
|
93
|
+
start = time.time()
|
|
94
|
+
calculate_sky_statistics(l_max, n_ifo, n_pix, FP, FX, rms, td00, td90, ml, REG, network_energy_threshold,
|
|
95
|
+
cluster_xtalk, cluster_xtalk_lookup)
|
|
96
|
+
end = time.time()
|
|
97
|
+
total_time += end - start
|
|
98
|
+
# print(end - start)
|
|
99
|
+
print(f"Average time for calculate_sky_statistics: {total_time / 10} s")
|
|
100
|
+
|
|
101
|
+
total_time = 0
|
|
102
|
+
|
|
103
|
+
for i in range(10):
|
|
104
|
+
start = time.time()
|
|
105
|
+
cluster_xtalk_lookup, cluster_xtalk = getXTalk_pixels(pixels, True, layers, xtalk_coeff, xtalk_lookup_table)
|
|
106
|
+
end = time.time()
|
|
107
|
+
# print(end - start)
|
|
108
|
+
total_time += end - start
|
|
109
|
+
|
|
110
|
+
print(f"Average time for getXTalk_pixels: {total_time / 10} s")
|